From c7fce6be2ea6dcc1ecdf52a8f5d1608d45117e8f Mon Sep 17 00:00:00 2001
From: Brecht Van Lommel <brechtvanlommel@pandora.be>
Date: Tue, 16 Aug 2011 18:59:45 +0000
Subject: [PATCH] Cycles: svn merge -r39132:39457
 https://svn.blender.org/svnroot/bf-blender/trunk/blender

---
 CMakeLists.txt                                |     4 +
 GNUmakefile                                   |    81 +-
 SConstruct                                    |    19 +-
 build_files/buildbot/master.cfg               |     2 +-
 build_files/buildbot/slave_compile.py         |     2 +-
 build_files/buildbot/slave_pack.py            |     2 +-
 .../cmake/config/blender_headless.cmake       |    24 +
 build_files/cmake/config/blender_lite.cmake   |    43 +
 build_files/cmake/config/bpy_module.cmake     |    34 +
 build_files/cmake/macros.cmake                |     7 +
 build_files/scons/config/darwin-config.py     |    67 +-
 build_files/scons/tools/btools.py             |     4 +-
 doc/doxygen/Doxyfile                          |     2 +-
 doc/python_api/rst/bge.logic.rst              |     6 +
 intern/ghost/CMakeLists.txt                   |    20 +-
 intern/ghost/intern/GHOST_NDOFManager.cpp     |    20 +-
 intern/ghost/intern/GHOST_NDOFManagerCocoa.h  |     7 +-
 intern/ghost/intern/GHOST_NDOFManagerCocoa.mm |    32 +-
 intern/ghost/intern/GHOST_NDOFManagerX11.cpp  |    25 +-
 intern/ghost/intern/GHOST_NDOFManagerX11.h    |     7 +-
 intern/ghost/intern/GHOST_SystemCocoa.mm      |     9 +-
 intern/ghost/intern/GHOST_SystemPathsX11.cpp  |    19 +-
 intern/ghost/intern/GHOST_SystemSDL.cpp       |    25 +-
 intern/ghost/intern/GHOST_SystemX11.cpp       |    20 +-
 intern/ghost/intern/GHOST_WindowWin32.cpp     |     5 +-
 intern/guardedalloc/MEM_guardedalloc.h        |    14 +-
 release/datafiles/splash.png                  |   Bin 201866 -> 204738 bytes
 release/scripts/modules/bpy/__init__.py       |    14 +-
 .../scripts/modules/bpy_extras/io_utils.py    |    12 +-
 .../scripts/modules/bpy_extras/mesh_utils.py  |     4 +-
 release/scripts/modules/bpyml.py              |     2 +-
 release/scripts/modules/bpyml_ui.py           |     6 +-
 release/scripts/modules/rna_info.py           |     8 +-
 .../startup/bl_operators/add_mesh_torus.py    |     3 +-
 .../startup/bl_operators/animsys_update.py    |     3 +-
 release/scripts/startup/bl_operators/image.py |    19 +-
 release/scripts/startup/bl_operators/mesh.py  |     5 +-
 release/scripts/startup/bl_operators/nla.py   |     3 +-
 .../scripts/startup/bl_operators/object.py    |    19 +-
 .../startup/bl_operators/object_align.py      |     3 +-
 .../bl_operators/object_quick_effects.py      |     9 +-
 .../object_randomize_transform.py             |     3 +-
 .../scripts/startup/bl_operators/presets.py   |    23 +-
 .../bl_operators/screen_play_rendered_anim.py |     3 +-
 .../scripts/startup/bl_operators/sequencer.py |     7 +-
 .../bl_operators/uvcalc_follow_active.py      |     3 +-
 .../startup/bl_operators/uvcalc_lightmap.py   |    69 +-
 .../bl_operators/uvcalc_smart_project.py      |    52 +-
 .../startup/bl_operators/vertexpaint_dirt.py  |     3 +-
 release/scripts/startup/bl_operators/wm.py    |    69 +-
 .../startup/bl_ui/properties_data_armature.py |    21 +-
 .../startup/bl_ui/properties_data_bone.py     |    17 +-
 .../startup/bl_ui/properties_data_camera.py   |     9 +-
 .../startup/bl_ui/properties_data_curve.py    |    23 +-
 .../startup/bl_ui/properties_data_empty.py    |     3 +-
 .../startup/bl_ui/properties_data_lamp.py     |    23 +-
 .../startup/bl_ui/properties_data_lattice.py  |     7 +-
 .../startup/bl_ui/properties_data_mesh.py     |    25 +-
 .../startup/bl_ui/properties_data_metaball.py |    11 +-
 .../startup/bl_ui/properties_data_modifier.py |     5 +-
 .../scripts/startup/bl_ui/properties_game.py  |    27 +-
 .../startup/bl_ui/properties_material.py      |    53 +-
 .../startup/bl_ui/properties_object.py        |    25 +-
 .../bl_ui/properties_object_constraint.py     |     5 +-
 .../startup/bl_ui/properties_particle.py      |    35 +-
 .../startup/bl_ui/properties_physics_cloth.py |    15 +-
 .../bl_ui/properties_physics_common.py        |     3 +-
 .../startup/bl_ui/properties_physics_field.py |     5 +-
 .../startup/bl_ui/properties_physics_fluid.py |     9 +-
 .../startup/bl_ui/properties_physics_smoke.py |    11 +-
 .../bl_ui/properties_physics_softbody.py      |    15 +-
 .../startup/bl_ui/properties_render.py        |    37 +-
 .../scripts/startup/bl_ui/properties_scene.py |    17 +-
 .../startup/bl_ui/properties_texture.py       |    51 +-
 .../scripts/startup/bl_ui/properties_world.py |    21 +-
 .../scripts/startup/bl_ui/space_console.py    |    28 +-
 .../scripts/startup/bl_ui/space_dopesheet.py  |    44 +-
 .../startup/bl_ui/space_filebrowser.py        |     3 +-
 release/scripts/startup/bl_ui/space_graph.py  |    34 +-
 release/scripts/startup/bl_ui/space_image.py  |   116 +-
 release/scripts/startup/bl_ui/space_info.py   |    41 +-
 release/scripts/startup/bl_ui/space_logic.py  |    21 +-
 release/scripts/startup/bl_ui/space_nla.py    |    34 +-
 release/scripts/startup/bl_ui/space_node.py   |    35 +-
 .../scripts/startup/bl_ui/space_outliner.py   |    38 +-
 .../scripts/startup/bl_ui/space_sequencer.py  |    73 +-
 release/scripts/startup/bl_ui/space_text.py   |    31 +-
 release/scripts/startup/bl_ui/space_time.py   |    20 +-
 .../scripts/startup/bl_ui/space_userpref.py   |    59 +-
 .../startup/bl_ui/space_userpref_keymap.py    |    45 +-
 release/scripts/startup/bl_ui/space_view3d.py |   181 +-
 .../startup/bl_ui/space_view3d_toolbar.py     |    55 +-
 release/scripts/templates/operator_modal.py   |     4 +-
 .../scripts/templates/operator_modal_draw.py  |     2 +-
 .../scripts/templates/operator_modal_timer.py |     2 +-
 .../templates/operator_modal_view3d.py        |     2 +-
 release/text/readme.html                      |    12 +-
 source/blender/blenkernel/BKE_blender.h       |     8 +-
 source/blender/blenkernel/intern/depsgraph.c  |     7 +-
 source/blender/blenkernel/intern/displist.c   |     5 +
 source/blender/blenkernel/intern/fcurve.c     |     2 +-
 source/blender/blenkernel/intern/nla.c        |     2 +-
 source/blender/blenkernel/intern/node.c       |     4 +-
 source/blender/blenkernel/intern/particle.c   |     1 +
 source/blender/blenkernel/intern/sequencer.c  |     1 +
 source/blender/blenkernel/intern/texture.c    |    32 +-
 source/blender/blenkernel/intern/unit.c       |     2 +-
 .../blender/blenkernel/intern/writeffmpeg.c   |     7 +-
 source/blender/blenlib/BLI_ghash.h            |   141 +-
 source/blender/blenlib/BLI_utildefines.h      |     6 +
 source/blender/blenlib/intern/BLI_ghash.c     |    92 +-
 source/blender/editors/armature/poseSlide.c   |     2 +-
 source/blender/editors/datafiles/splash.png.c | 12713 ++++++++--------
 .../blender/editors/gpencil/gpencil_paint.c   |    16 +-
 source/blender/editors/include/ED_object.h    |     2 +-
 .../editors/interface/interface_intern.h      |     5 +-
 .../editors/interface/interface_layout.c      |   104 +-
 .../editors/interface/interface_regions.c     |     6 +-
 .../editors/interface/interface_templates.c   |    51 +-
 .../editors/interface/interface_utils.c       |     2 +-
 source/blender/editors/interface/resources.c  |     2 +-
 source/blender/editors/mesh/editmesh.c        |     5 +-
 source/blender/editors/mesh/editmesh_mods.c   |     2 +-
 source/blender/editors/mesh/editmesh_tools.c  |     2 +-
 source/blender/editors/object/object_add.c    |     2 +-
 source/blender/editors/object/object_edit.c   |    12 +-
 .../blender/editors/object/object_relations.c |    14 +
 source/blender/editors/render/render_update.c |    13 +
 .../editors/space_console/console_ops.c       |     7 +-
 source/blender/editors/space_file/file_ops.c  |     9 +-
 source/blender/editors/space_file/filelist.c  |    22 -
 source/blender/editors/space_nla/nla_edit.c   |     2 +-
 source/blender/editors/space_node/node_edit.c |    15 +-
 .../blender/editors/space_node/node_header.c  |     4 +-
 .../blender/editors/space_node/node_intern.h  |     3 +-
 .../blender/editors/space_node/node_select.c  |     8 +-
 .../editors/space_outliner/CMakeLists.txt     |     6 +-
 .../blender/editors/space_outliner/outliner.c |  5792 -------
 .../editors/space_outliner/outliner_draw.c    |  1671 ++
 .../editors/space_outliner/outliner_edit.c    |  1398 ++
 .../editors/space_outliner/outliner_intern.h  |    86 +-
 .../editors/space_outliner/outliner_ops.c     |     7 +
 .../editors/space_outliner/outliner_select.c  |   867 ++
 .../editors/space_outliner/outliner_tools.c   |  1217 ++
 .../editors/space_outliner/outliner_tree.c    |  1585 ++
 .../editors/space_outliner/space_outliner.c   |     7 +
 .../editors/space_sequencer/sequencer_add.c   |    20 +-
 .../editors/space_sequencer/sequencer_draw.c  |     2 +-
 .../editors/space_sequencer/sequencer_edit.c  |   507 +-
 .../space_sequencer/sequencer_intern.h        |     7 +
 .../editors/space_sequencer/sequencer_ops.c   |     9 +
 .../space_sequencer/sequencer_select.c        |     2 +-
 .../blender/editors/space_text/text_python.c  |     5 +-
 .../blender/editors/space_view3d/drawobject.c |     4 +-
 .../editors/space_view3d/view3d_toolbar.c     |    11 +-
 .../blender/editors/transform/CMakeLists.txt  |     1 -
 source/blender/editors/transform/transform.c  |     5 -
 source/blender/editors/transform/transform.h  |    26 -
 .../editors/transform/transform_generics.c    |     1 -
 .../editors/transform/transform_ndofinput.c   |   162 -
 .../blender/editors/transform/transform_ops.c |     7 +-
 source/blender/imbuf/intern/anim_movie.c      |     2 +-
 source/blender/imbuf/intern/filter.c          |    12 +-
 source/blender/makesdna/DNA_modifier_types.h  |     4 +-
 source/blender/makesrna/RNA_access.h          |  1483 +-
 source/blender/makesrna/RNA_types.h           |    14 +-
 source/blender/makesrna/intern/makesrna.c     |   104 +-
 source/blender/makesrna/intern/rna_access.c   |    36 +-
 .../blender/makesrna/intern/rna_constraint.c  |     2 +-
 source/blender/makesrna/intern/rna_curve.c    |     2 +-
 source/blender/makesrna/intern/rna_internal.h |    10 +-
 source/blender/makesrna/intern/rna_main_api.c |     2 +-
 source/blender/makesrna/intern/rna_modifier.c |     7 +
 source/blender/makesrna/intern/rna_object.c   |     9 +-
 .../blender/makesrna/intern/rna_object_api.c  |     8 +-
 source/blender/makesrna/intern/rna_render.c   |     8 +-
 source/blender/makesrna/intern/rna_userdef.c  |     2 +-
 source/blender/makesrna/intern/rna_wm.c       |     1 +
 .../blender/modifiers/intern/MOD_solidify.c   |    26 +-
 source/blender/python/intern/bpy_operator.c   |    14 +-
 source/blender/python/intern/bpy_rna.c        |    10 +-
 source/blender/python/intern/bpy_rna_anim.c   |     2 +-
 source/blender/python/intern/bpy_rna_array.c  |     9 +-
 .../python/mathutils/mathutils_Vector.c       |   117 +-
 .../blender/render/extern/include/RE_engine.h |    16 +-
 .../blender/render/intern/source/rayshade.c   |     2 +-
 source/blender/windowmanager/CMakeLists.txt   |     1 +
 source/blender/windowmanager/WM_api.h         |     4 +-
 source/blender/windowmanager/WM_types.h       |    12 +-
 source/blender/windowmanager/intern/wm.c      |    54 +-
 .../windowmanager/intern/wm_event_system.c    |    33 +-
 .../blender/windowmanager/intern/wm_files.c   |     3 +-
 .../windowmanager/intern/wm_init_exit.c       |     3 +-
 .../blender/windowmanager/intern/wm_keymap.c  |     6 +-
 .../windowmanager/intern/wm_operators.c       |    72 +-
 .../windowmanager/intern/wm_subwindow.c       |     3 +-
 .../bad_level_call_stubs/stubs.c              |     2 +-
 source/gameengine/Ketsji/KX_Light.cpp         |     4 +
 source/tests/CMakeLists.txt                   |    14 +-
 source/tests/bl_run_operators.py              |     2 +-
 200 files changed, 16211 insertions(+), 14837 deletions(-)
 create mode 100644 build_files/cmake/config/blender_headless.cmake
 create mode 100644 build_files/cmake/config/blender_lite.cmake
 create mode 100644 build_files/cmake/config/bpy_module.cmake
 delete mode 100644 source/blender/editors/space_outliner/outliner.c
 create mode 100644 source/blender/editors/space_outliner/outliner_draw.c
 create mode 100644 source/blender/editors/space_outliner/outliner_edit.c
 create mode 100644 source/blender/editors/space_outliner/outliner_select.c
 create mode 100644 source/blender/editors/space_outliner/outliner_tools.c
 create mode 100644 source/blender/editors/space_outliner/outliner_tree.c
 delete mode 100644 source/blender/editors/transform/transform_ndofinput.c

diff --git a/CMakeLists.txt b/CMakeLists.txt
index bbd9598780d..3cc935939f4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1089,6 +1089,10 @@ elseif(APPLE)
 			if(NOT 3D_CONNEXION_CLIENT_LIBRARY)
 				set(WITH_INPUT_NDOF OFF)
 			endif()
+
+			if(WITH_INPUT_NDOF)
+				set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -weak_framework 3DconnexionClient")
+			endif()
 		endif()
 
 	else()
diff --git a/GNUmakefile b/GNUmakefile
index b6741d7e5f0..8446541cfae 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -35,17 +35,33 @@ OS_NCASE:=$(shell uname -s | tr '[A-Z]' '[a-z]')
 # Source and Build DIR's
 BLENDER_DIR:=$(shell pwd -P)
 BUILD_DIR:=$(shell dirname $(BLENDER_DIR))/build/$(OS_NCASE)
+BUILD_TYPE:=Release
+BUILD_CMAKE_ARGS:=""
 
 
+# -----------------------------------------------------------------------------
+# additional targets for the build configuration
+
 # support 'make debug'
 ifneq "$(findstring debug, $(MAKECMDGOALS))" ""
 	BUILD_DIR:=$(BUILD_DIR)_debug
 	BUILD_TYPE:=Debug
-else
-	BUILD_TYPE:=Release
+endif
+ifneq "$(findstring lite, $(MAKECMDGOALS))" ""
+	BUILD_DIR:=$(BUILD_DIR)_lite
+	BUILD_CMAKE_ARGS:=$(BUILD_CMAKE_ARGS) -C$(BLENDER_DIR)/build_files/cmake/config/blender_lite.cmake
+endif
+ifneq "$(findstring headless, $(MAKECMDGOALS))" ""
+	BUILD_DIR:=$(BUILD_DIR)_bpy
+	BUILD_CMAKE_ARGS:=$(BUILD_CMAKE_ARGS) -C$(BLENDER_DIR)/build_files/cmake/config/blender_headless.cmake
+endif
+ifneq "$(findstring bpy, $(MAKECMDGOALS))" ""
+	BUILD_DIR:=$(BUILD_DIR)_bpy
+	BUILD_CMAKE_ARGS:=$(BUILD_CMAKE_ARGS) -C$(BLENDER_DIR)/build_files/cmake/config/bpy_module.cmake
 endif
 
 
+# -----------------------------------------------------------------------------
 # Get the number of cores for threaded build
 NPROCS:=1
 ifeq ($(OS), Linux)
@@ -61,14 +77,14 @@ ifeq ($(OS), NetBSD)
 	NPROCS:=$(shell sysctl -a | grep "hw.ncpu " | cut -d" " -f3 )
 endif
 
-
+# -----------------------------------------------------------------------------
 # Build Blender
 all:
 	@echo
 	@echo Configuring Blender ...
 
 	if test ! -f $(BUILD_DIR)/CMakeCache.txt ; then \
-		cmake -H$(BLENDER_DIR) -B$(BUILD_DIR) -DCMAKE_BUILD_TYPE:STRING=$(BUILD_TYPE) ; \
+		cmake $(BUILD_CMAKE_ARGS) -H$(BLENDER_DIR) -B$(BUILD_DIR) -DCMAKE_BUILD_TYPE:STRING=$(BUILD_TYPE); \
 	fi
 
 	@echo
@@ -80,9 +96,40 @@ all:
 	@echo
 
 debug: all
-	# pass
-
-# package types
+lite: all
+headless: all
+bpy: all
+
+# -----------------------------------------------------------------------------
+# Helo for build targets
+help:
+	@echo ""
+	@echo "Convenience targets provided for building blender, (multiple at once can be used)"
+	@echo "  * debug     - build a debug binary"
+	@echo "  * lite      - disable non essential features for a smaller binary and faster build"
+	@echo "  * headless  - build without an interface (renderfarm or server automation)"
+	@echo "  * bpy       - build as a python module which can be loaded from python directly"
+	@echo ""
+	@echo "Project Files for IDE's"
+	@echo "  * project_qtcreator - QtCreator Project Files"
+	@echo "  * project_netbeans  - NetBeans Project Files"
+	@echo "  * project_eclipse   - Eclipse CDT4 Project Files"
+	@echo ""
+	@echo "Package Targets"
+	@echo "  * package_debian  - build a debian package"
+	@echo "  * package_pacman  - build an arch linux pacmanpackage"
+	@echo "  * package_archive - build an archive package"
+	@echo ""
+	@echo "Testing Targets (not assosiated with building blender)"
+	@echo "  * test            - run ctest, currently tests import/export, operator execution and that python modules load"
+	@echo "  * test_cmake      - runs our own cmake file checker which detects errors in the cmake file list definitions"
+	@echo "  * test_pep8       - checks all python script are pep8 which are tagged to use the stricter formatting"
+	@echo "  * test_deprecated - checks for deprecation tags in our code which may need to be removed"
+	@echo ""
+
+# -----------------------------------------------------------------------------
+# Packages
+#
 package_debian:
 	cd build_files/package_spec ; DEB_BUILD_OPTIONS="parallel=$(NPROCS)" sh ./build_debian.sh
 
@@ -93,7 +140,10 @@ package_archive:
 	make -C $(BUILD_DIR) -s package_archive
 	@echo archive in "$(BUILD_DIR)/release"
 
-# forward build targets
+
+# -----------------------------------------------------------------------------
+# Tests
+#
 test:
 	cd $(BUILD_DIR) ; ctest . --output-on-failure
 
@@ -111,6 +161,21 @@ test_cmake:
 test_deprecated:
 	python3 source/tests/check_deprecated.py
 
+
+# -----------------------------------------------------------------------------
+# Project Files
+#
+
+project_qtcreator:
+	python3 build_files/cmake/cmake_qtcreator_project.py $(BUILD_DIR)
+
+project_netbeans:
+	python3 build_files/cmake/cmake_netbeans_project.py $(BUILD_DIR)
+
+project_eclipse:
+	cmake -G"Eclipse CDT4 - Unix Makefiles" -H$(BLENDER_DIR) -B$(BUILD_DIR)
+
+
 clean:
 	$(MAKE) -C $(BUILD_DIR) clean
 
diff --git a/SConstruct b/SConstruct
index 4f920190276..81c12c7c318 100644
--- a/SConstruct
+++ b/SConstruct
@@ -253,14 +253,23 @@ if 'blenderlite' in B.targets:
         if k not in B.arguments:
             env[k] = v
 
-# detect presence of 3D_CONNEXION_CLIENT_LIBRARY for OSX
+# Extended OSX_SDK and 3D_CONNEXION_CLIENT_LIBRARY detection for OSX
 if env['OURPLATFORM']=='darwin':
-    envi = Environment()
-    conf = Configure(envi)
-    if not conf.CheckCHeader('ConnexionClientAPI.h'): # CheckCXXHeader if it is c++ !
+    print B.bc.OKGREEN + "Detected Xcode version: -- " + B.bc.ENDC + env['XCODE_CUR_VER'][:9] + " --"
+    print "Available " + env['MACOSX_SDK_CHECK']
+    if not 'Mac OS X 10.5' in env['MACOSX_SDK_CHECK']:
+        print  B.bc.OKGREEN + "MacOSX10.5.sdk not available:" + B.bc.ENDC + " using MacOSX10.6.sdk"
+    else:
+        print B.bc.OKGREEN + "Found recommended sdk :" + B.bc.ENDC + " using MacOSX10.5.sdk"
+
+    # for now, Mac builders must download and install the driver framework from 3Dconnexion
+    # necessary header file lives here when installed:
+    # /Library/Frameworks/3DconnexionClient.framework/Versions/Current/Headers/ConnexionClientAPI.h
+    if env['WITH_BF_3DMOUSE'] == 1 and not os.path.exists('/Library/Frameworks/3DconnexionClient.framework'):
         print "3D_CONNEXION_CLIENT_LIBRARY not found, disabling WITH_BF_3DMOUSE" # avoid build errors !
         env['WITH_BF_3DMOUSE'] = 0
-    envi = conf.Finish()
+    else:
+        env.Append(LINKFLAGS=['-weak_framework','3DconnexionClient'])
 
 
 if env['WITH_BF_OPENMP'] == 1:
diff --git a/build_files/buildbot/master.cfg b/build_files/buildbot/master.cfg
index 1e70ec5e13e..5aa5a43abf7 100644
--- a/build_files/buildbot/master.cfg
+++ b/build_files/buildbot/master.cfg
@@ -116,7 +116,7 @@ add_builder(c, 'linux_x86_64_scons', '', generic_builder)
 add_builder(c, 'salad_linux_x86_64_scons', '', generic_builder, 'soc-2011-salad')
 add_builder(c, 'win32_scons', 'windows', generic_builder)
 add_builder(c, 'salad_win32_scons', 'windows', generic_builder, 'soc-2011-salad')
-add_builder(c, 'win64_scons', 'windows', generic_builder)
+add_builder(c, 'win64_scons', 'win64', generic_builder)
 #add_builder(c, 'freebsd_i386_cmake', '', generic_builder)
 #add_builder(c, 'freebsd_x86_64_cmake', '', generic_builder)
 
diff --git a/build_files/buildbot/slave_compile.py b/build_files/buildbot/slave_compile.py
index 9dd39ccd308..b83a65f2466 100644
--- a/build_files/buildbot/slave_compile.py
+++ b/build_files/buildbot/slave_compile.py
@@ -134,7 +134,7 @@ else:
             scons_options.append('BF_FFMPEG_LIB=' + (' '.join(ffmpeg_lib)))
             scons_options.append('BF_FFMPEG_DLL=' + (' '.join(ffmpeg_dll)))
 
-            scons_options.append('BF_BITNESS='+bitness)
+            scons_options.append('BF_BITNESS=' + bitness)
 
         retcode = subprocess.call(['python', 'scons/scons.py'] + scons_options)
         sys.exit(retcode)
diff --git a/build_files/buildbot/slave_pack.py b/build_files/buildbot/slave_pack.py
index e779b10bd2a..5fdeb4a8ad5 100644
--- a/build_files/buildbot/slave_pack.py
+++ b/build_files/buildbot/slave_pack.py
@@ -98,7 +98,7 @@ if builder.find('scons') != -1:
             scons_options.append('BF_FFMPEG_LIB=' + (' '.join(ffmpeg_lib)))
             scons_options.append('BF_FFMPEG_DLL=' + (' '.join(ffmpeg_dll)))
 
-            scons_options.append('BF_BITNESS='+bitness)
+            scons_options.append('BF_BITNESS=' + bitness)
 
         retcode = subprocess.call(['python', 'scons/scons.py'] + scons_options)
         sys.exit(retcode)
diff --git a/build_files/cmake/config/blender_headless.cmake b/build_files/cmake/config/blender_headless.cmake
new file mode 100644
index 00000000000..bd69eed30dd
--- /dev/null
+++ b/build_files/cmake/config/blender_headless.cmake
@@ -0,0 +1,24 @@
+# headless configuration, useful in for servers or renderfarms
+# builds without a windowing system (X11/Windows/Cocoa).
+#
+# Example usage:
+#   cmake -C../blender/build_files/cmake/config/blender_headless.cmake  ../blender
+#
+
+set(WITH_HEADLESS            ON  CACHE FORCE BOOL) 
+set(WITH_GAMEENGINE          OFF CACHE FORCE BOOL)
+
+# disable audio, its possible some devs may want this but for now disable
+# so the python module doesnt hold the audio device and loads quickly.
+set(WITH_AUDASPACE           OFF CACHE FORCE BOOL)
+set(WITH_SAMPLERATE          OFF CACHE FORCE BOOL)
+set(WITH_FFTW3               OFF CACHE FORCE BOOL)
+set(WITH_JACK                OFF CACHE FORCE BOOL)
+set(WITH_SDL                 OFF CACHE FORCE BOOL)
+set(WITH_OPENAL              OFF CACHE FORCE BOOL)
+set(WITH_CODEC_FFMPEG        OFF CACHE FORCE BOOL)
+set(WITH_CODEC_SNDFILE       OFF CACHE FORCE BOOL)
+
+# other features which are not especially useful as a python module
+set(WITH_X11_XINPUT          OFF CACHE FORCE BOOL)
+set(WITH_INPUT_NDOF          OFF CACHE FORCE BOOL)
diff --git a/build_files/cmake/config/blender_lite.cmake b/build_files/cmake/config/blender_lite.cmake
new file mode 100644
index 00000000000..d2b791baede
--- /dev/null
+++ b/build_files/cmake/config/blender_lite.cmake
@@ -0,0 +1,43 @@
+# turn everything OFF CACHE FORCE BOOL) except for python which defaults to ON
+# and is needed for the UI
+#
+# Example usage:
+#   cmake -C../blender/build_files/cmake/config/blender_lite.cmake  ../blender
+#
+
+set(WITH_INSTALL_PORTABLE    ON  CACHE FORCE BOOL)
+
+set(WITH_BUILDINFO           OFF CACHE FORCE BOOL)
+set(WITH_BUILTIN_GLEW        OFF CACHE FORCE BOOL)
+set(WITH_BULLET              OFF CACHE FORCE BOOL)
+set(WITH_CODEC_FFMPEG        OFF CACHE FORCE BOOL)
+set(WITH_CODEC_SNDFILE       OFF CACHE FORCE BOOL)
+set(WITH_FFTW3               OFF CACHE FORCE BOOL)
+set(WITH_GAMEENGINE          OFF CACHE FORCE BOOL)
+set(WITH_IK_ITASC            OFF CACHE FORCE BOOL)
+set(WITH_IMAGE_CINEON        OFF CACHE FORCE BOOL)
+set(WITH_IMAGE_DDS           OFF CACHE FORCE BOOL)
+set(WITH_IMAGE_FRAMESERVER   OFF CACHE FORCE BOOL)
+set(WITH_IMAGE_HDR           OFF CACHE FORCE BOOL)
+set(WITH_IMAGE_OPENEXR       OFF CACHE FORCE BOOL)
+set(WITH_IMAGE_OPENJPEG      OFF CACHE FORCE BOOL)
+set(WITH_IMAGE_REDCODE       OFF CACHE FORCE BOOL)
+set(WITH_IMAGE_TIFF          OFF CACHE FORCE BOOL)
+set(WITH_INPUT_NDOF          OFF CACHE FORCE BOOL)
+set(WITH_INTERNATIONAL       OFF CACHE FORCE BOOL)
+set(WITH_JACK                OFF CACHE FORCE BOOL)
+set(WITH_LZMA                OFF CACHE FORCE BOOL)
+set(WITH_LZO                 OFF CACHE FORCE BOOL)
+set(WITH_MOD_BOOLEAN         OFF CACHE FORCE BOOL)
+set(WITH_MOD_DECIMATE        OFF CACHE FORCE BOOL)
+set(WITH_MOD_FLUID           OFF CACHE FORCE BOOL)
+set(WITH_MOD_SMOKE           OFF CACHE FORCE BOOL)
+set(WITH_AUDASPACE           OFF CACHE FORCE BOOL)
+set(WITH_OPENAL              OFF CACHE FORCE BOOL)
+set(WITH_OPENCOLLADA         OFF CACHE FORCE BOOL)
+set(WITH_OPENMP              OFF CACHE FORCE BOOL)
+set(WITH_PYTHON_INSTALL      OFF CACHE FORCE BOOL)
+set(WITH_RAYOPTIMIZATION     OFF CACHE FORCE BOOL)
+set(WITH_SAMPLERATE          OFF CACHE FORCE BOOL)
+set(WITH_SDL                 OFF CACHE FORCE BOOL)
+set(WITH_X11_XINPUT          OFF CACHE FORCE BOOL)
diff --git a/build_files/cmake/config/bpy_module.cmake b/build_files/cmake/config/bpy_module.cmake
new file mode 100644
index 00000000000..5392705f0dc
--- /dev/null
+++ b/build_files/cmake/config/bpy_module.cmake
@@ -0,0 +1,34 @@
+# defaults for building blender as a python module 'bpy'
+#
+# Example usage:
+#   cmake -C../blender/build_files/cmake/config/bpy_module.cmake  ../blender
+#
+
+set(WITH_PYTHON_MODULE       ON  CACHE FORCE BOOL)
+
+# install into the systems python dir
+set(WITH_INSTALL_PORTABLE    OFF CACHE FORCE BOOL)
+
+# no point int copying python into python
+set(WITH_PYTHON_INSTALL      OFF CACHE FORCE BOOL)
+
+# dont build the game engine
+set(WITH_GAMEENGINE          OFF CACHE FORCE BOOL)
+
+# disable audio, its possible some devs may want this but for now disable
+# so the python module doesnt hold the audio device and loads quickly.
+set(WITH_AUDASPACE           OFF CACHE FORCE BOOL)
+set(WITH_SAMPLERATE          OFF CACHE FORCE BOOL)
+set(WITH_FFTW3               OFF CACHE FORCE BOOL)
+set(WITH_JACK                OFF CACHE FORCE BOOL)
+set(WITH_SDL                 OFF CACHE FORCE BOOL)
+set(WITH_OPENAL              OFF CACHE FORCE BOOL)
+set(WITH_CODEC_FFMPEG        OFF CACHE FORCE BOOL)
+set(WITH_CODEC_SNDFILE       OFF CACHE FORCE BOOL)
+
+# other features which are not especially useful as a python module
+set(WITH_X11_XINPUT          OFF CACHE FORCE BOOL)
+set(WITH_INPUT_NDOF          OFF CACHE FORCE BOOL)
+set(WITH_OPENCOLLADA         OFF CACHE FORCE BOOL)
+set(WITH_INTERNATIONAL       OFF CACHE FORCE BOOL)
+set(WITH_BULLET              OFF CACHE FORCE BOOL)
diff --git a/build_files/cmake/macros.cmake b/build_files/cmake/macros.cmake
index b991edcd5d4..ffc920da473 100644
--- a/build_files/cmake/macros.cmake
+++ b/build_files/cmake/macros.cmake
@@ -62,6 +62,10 @@ macro(blender_include_dirs
 	foreach(_INC ${ARGV})
 		get_filename_component(_ABS_INC ${_INC} ABSOLUTE)
 		list(APPEND _ALL_INCS ${_ABS_INC})
+		# for checking for invalid includes, disable for regular use
+		##if(NOT EXISTS "${_ABS_INC}/")
+		##	message(FATAL_ERROR "Include not found: ${_ABS_INC}/")
+		##endif()
 	endforeach()
 	include_directories(${_ALL_INCS})
 	unset(_INC)
@@ -75,6 +79,9 @@ macro(blender_include_dirs_sys
 	foreach(_INC ${ARGV})
 		get_filename_component(_ABS_INC ${_INC} ABSOLUTE)
 		list(APPEND _ALL_INCS ${_ABS_INC})
+		##if(NOT EXISTS "${_ABS_INC}/")
+		##	message(FATAL_ERROR "Include not found: ${_ABS_INC}/")
+		##endif()
 	endforeach()
 	include_directories(SYSTEM ${_ALL_INCS})
 	unset(_INC)
diff --git a/build_files/scons/config/darwin-config.py b/build_files/scons/config/darwin-config.py
index 97e8e90e574..ec6a3b082b8 100644
--- a/build_files/scons/config/darwin-config.py
+++ b/build_files/scons/config/darwin-config.py
@@ -21,17 +21,23 @@ cmd = 'uname -p'
 MAC_PROC=commands.getoutput(cmd) 
 cmd = 'uname -r'
 cmd_res=commands.getoutput(cmd) 
-MAC_CUR_VER='10.5' # by default (test below fails on my 10.5 PowerPC)
-if cmd_res[:2]=='7':
+
+if cmd_res[:1]=='7':
 	MAC_CUR_VER='10.3'
-elif cmd_res[:2]=='8':
+elif cmd_res[:1]=='8':
 	MAC_CUR_VER='10.4'
-elif cmd_res[:2]=='9':
+elif cmd_res[:1]=='9':
 	MAC_CUR_VER='10.5'
 elif cmd_res[:2]=='10':
 	MAC_CUR_VER='10.6'
 elif cmd_res[:2]=='11':
 	MAC_CUR_VER='10.7'
+cmd = 'xcodebuild -version'
+cmd_xcode=commands.getoutput(cmd)
+XCODE_CUR_VER=cmd_xcode
+cmd = 'xcodebuild -showsdks'
+cmd_sdk=commands.getoutput(cmd)
+MACOSX_SDK_CHECK=cmd_sdk
 
 if MACOSX_ARCHITECTURE == 'x86_64' or MACOSX_ARCHITECTURE == 'ppc64':
 	USE_QTKIT=True # Carbon quicktime is not available for 64bit
@@ -60,21 +66,23 @@ elif MACOSX_ARCHITECTURE == 'i386' and MAC_CUR_VER == '10.4':
 	LCGDIR = '#../lib/darwin-8.x.i386'
 	CC = 'gcc-4.0'
 	CXX = 'g++-4.0'
-elif MAC_CUR_VER >= '10.6':
-	# OSX 10.6 and 10.7 developer tools do not come with sdk < 10.6 anymore !
-	MAC_MIN_VERS = '10.6'
-	MACOSX_DEPLOYMENT_TARGET = '10.6'
-	MACOSX_SDK='/Developer/SDKs/MacOSX10.6.sdk'
-	LCGDIR = '#../lib/darwin-9.x.universal'
-	CC = 'llvm-gcc-4.2'
-	CXX = 'llvm-g++-4.2'
 else :
-	MAC_MIN_VERS = '10.5'
-	MACOSX_DEPLOYMENT_TARGET = '10.5'
-	MACOSX_SDK='/Developer/SDKs/MacOSX10.5.sdk'
-	LCGDIR = '#../lib/darwin-9.x.universal'
-	CC = 'gcc-4.2'
-	CXX = 'g++-4.2'
+	if 'Mac OS X 10.5' in MACOSX_SDK_CHECK:
+		# OSX 10.5/6 with Xcode 3.x
+		MAC_MIN_VERS = '10.5'
+		MACOSX_DEPLOYMENT_TARGET = '10.5'
+		MACOSX_SDK='/Developer/SDKs/MacOSX10.5.sdk'
+		LCGDIR = '#../lib/darwin-9.x.universal'
+		CC = 'gcc-4.2'
+		CXX = 'g++-4.2'
+	else:
+		# OSX 10.6/7 with Xcode 4.x
+		MAC_MIN_VERS = '10.6'
+		MACOSX_DEPLOYMENT_TARGET = '10.6'
+		MACOSX_SDK='/Developer/SDKs/MacOSX10.6.sdk'
+		LCGDIR = '#../lib/darwin-9.x.universal'
+		CC = 'gcc-4.2'
+		CXX = 'g++-4.2'
 
 LIBDIR = '${LCGDIR}'
 
@@ -199,8 +207,8 @@ BF_GETTEXT_INC = '${BF_GETTEXT}/include'
 BF_GETTEXT_LIB = 'intl'
 BF_GETTEXT_LIBPATH = '${BF_GETTEXT}/lib'
 
-WITH_BF_GAMEENGINE=True
-WITH_BF_PLAYER = False
+WITH_BF_GAMEENGINE = True
+WITH_BF_PLAYER = True
 
 WITH_BF_BULLET = True
 BF_BULLET = '#extern/bullet2/src'
@@ -251,7 +259,7 @@ BF_OPENGL_LIBPATH = '/System/Library/Frameworks/OpenGL.framework/Libraries'
 BF_OPENGL_LINKFLAGS = ['-framework', 'OpenGL']
 
 #OpenCollada flags
-WITH_BF_COLLADA = False
+WITH_BF_COLLADA = True
 BF_COLLADA = '#source/blender/collada'
 BF_COLLADA_INC = '${BF_COLLADA}'
 BF_COLLADA_LIB = 'bf_collada'
@@ -276,8 +284,8 @@ if MACOSX_ARCHITECTURE == 'i386':
 elif MACOSX_ARCHITECTURE == 'x86_64':
     BF_RAYOPTIMIZATION_SSE_FLAGS = ['-msse','-msse2']
 
-# SpaceNavigator and related 3D mice
-WITH_BF_3DMOUSE = False
+# SpaceNavigator and related 3D mice, driver must be 3DxWare 10 Beta 4 (Mac OS X) or later !
+WITH_BF_3DMOUSE = True
 
 #############################################################################
 ###################  various compile settings and flags    ##################
@@ -296,31 +304,28 @@ CPPFLAGS = []+ARCH_FLAGS
 CCFLAGS = ['-pipe','-funsigned-char']+ARCH_FLAGS
 CXXFLAGS = ['-pipe','-funsigned-char']+ARCH_FLAGS
 
-if WITH_GHOST_COCOA==True:
+if WITH_GHOST_COCOA:
 	PLATFORM_LINKFLAGS = ['-fexceptions','-framework','CoreServices','-framework','Foundation','-framework','IOKit','-framework','AppKit','-framework','Cocoa','-framework','Carbon','-framework','AudioUnit','-framework','AudioToolbox','-framework','CoreAudio','-framework','OpenAL']+ARCH_FLAGS
 else:
 	PLATFORM_LINKFLAGS = ['-fexceptions','-framework','CoreServices','-framework','Foundation','-framework','IOKit','-framework','AppKit','-framework','Carbon','-framework','AGL','-framework','AudioUnit','-framework','AudioToolbox','-framework','CoreAudio','-framework','OpenAL']+ARCH_FLAGS
 
-if WITH_BF_QUICKTIME == True:
-	if USE_QTKIT == True:
+if WITH_BF_QUICKTIME:
+	if USE_QTKIT:
 		PLATFORM_LINKFLAGS = PLATFORM_LINKFLAGS+['-framework','QTKit']
 	else:
 		PLATFORM_LINKFLAGS = PLATFORM_LINKFLAGS+['-framework','QuickTime']
 
-if WITH_BF_3DMOUSE:
-	PLATFORM_LINKFLAGS = PLATFORM_LINKFLAGS + ['-weak_framework','3DconnexionClient']
-
 #note to build succesfully on 10.3.9 SDK you need to patch  10.3.9 by adding the SystemStubs.a lib from 10.4
 LLIBS = ['stdc++', 'SystemStubs']
 
-# some flags shuffling for different Os versions
+# some flags shuffling for different OS versions
 if MAC_MIN_VERS == '10.3':
 	CFLAGS = ['-fuse-cxa-atexit']+CFLAGS
 	CXXFLAGS = ['-fuse-cxa-atexit']+CXXFLAGS
 	PLATFORM_LINKFLAGS = ['-fuse-cxa-atexit']+PLATFORM_LINKFLAGS
 	LLIBS.append('crt3.o')
 	
-if USE_SDK==True:
+if USE_SDK:
 	SDK_FLAGS=['-isysroot', MACOSX_SDK,'-mmacosx-version-min='+MAC_MIN_VERS,'-arch',MACOSX_ARCHITECTURE]	
 	PLATFORM_LINKFLAGS = ['-mmacosx-version-min='+MAC_MIN_VERS,'-Wl','-isysroot',MACOSX_SDK,'-arch',MACOSX_ARCHITECTURE]+PLATFORM_LINKFLAGS
 	CCFLAGS=SDK_FLAGS+CCFLAGS
diff --git a/build_files/scons/tools/btools.py b/build_files/scons/tools/btools.py
index 9b911b9d6f0..25e0582c536 100644
--- a/build_files/scons/tools/btools.py
+++ b/build_files/scons/tools/btools.py
@@ -149,7 +149,7 @@ def validate_arguments(args, bc):
             'BF_PROFILE_CFLAGS', 'BF_PROFILE_CCFLAGS', 'BF_PROFILE_CXXFLAGS', 'BF_PROFILE_LINKFLAGS',
             'BF_DEBUG_CFLAGS', 'BF_DEBUG_CCFLAGS', 'BF_DEBUG_CXXFLAGS',
             'C_WARN', 'CC_WARN', 'CXX_WARN',
-            'LLIBS', 'PLATFORM_LINKFLAGS','MACOSX_ARCHITECTURE',
+            'LLIBS', 'PLATFORM_LINKFLAGS','MACOSX_ARCHITECTURE', 'MACOSX_SDK_CHECK', 'XCODE_CUR_VER',
     ]
     
     
@@ -462,6 +462,8 @@ def read_opts(env, cfg, args):
         ('LLIBS', 'Platform libs', []),
         ('PLATFORM_LINKFLAGS', 'Platform linkflags', []),
         ('MACOSX_ARCHITECTURE', 'python_arch.zip select', ''),
+        ('MACOSX_SDK_CHECK', 'detect available OSX sdk`s', ''),
+        ('XCODE_CUR_VER', 'detect XCode version', ''),
 
         (BoolVariable('BF_PROFILE', 'Add profiling information if true', False)),
         ('BF_PROFILE_CFLAGS', 'C only profiling flags', []),
diff --git a/doc/doxygen/Doxyfile b/doc/doxygen/Doxyfile
index 79b3f1a4160..b4d3b14b9dd 100644
--- a/doc/doxygen/Doxyfile
+++ b/doc/doxygen/Doxyfile
@@ -31,7 +31,7 @@ PROJECT_NAME           = Blender
 # This could be handy for archiving the generated documentation or 
 # if some version control system is used.
 
-PROJECT_NUMBER         = "V2.58"
+PROJECT_NUMBER         = "V2.59"
 
 # Using the PROJECT_BRIEF tag one can provide an optional one line description
 # for a project that appears at the top of each page and should give viewer
diff --git a/doc/python_api/rst/bge.logic.rst b/doc/python_api/rst/bge.logic.rst
index 128f87f76bd..798491b4710 100644
--- a/doc/python_api/rst/bge.logic.rst
+++ b/doc/python_api/rst/bge.logic.rst
@@ -217,6 +217,12 @@ General functions
 
    Loads a scene into the game engine.
 
+   .. note::
+
+      This function is not effective immediately, the scene is queued
+      and added on the next logic cycle where it will be available
+      from `getSceneList`
+
    :arg name: The name of the scene
    :type name: string
    :arg overlay: Overlay or underlay (optional)
diff --git a/intern/ghost/CMakeLists.txt b/intern/ghost/CMakeLists.txt
index d7658c50a36..bdda0f3382e 100644
--- a/intern/ghost/CMakeLists.txt
+++ b/intern/ghost/CMakeLists.txt
@@ -149,6 +149,10 @@ if(WITH_HEADLESS OR WITH_GHOST_SDL)
 			intern/GHOST_SystemPathsX11.cpp
 			intern/GHOST_SystemPathsX11.h
 		)
+
+		if(NOT WITH_INSTALL_PORTABLE)
+			add_definitions(-DPREFIX="${CMAKE_INSTALL_PREFIX}")
+		endif()
 	elseif(WIN32)
 
 		list(APPEND SRC
@@ -204,10 +208,6 @@ elseif(APPLE)
 
 elseif(UNIX)
 
-	if(WITH_X11_XINPUT)
-		add_definitions(-DWITH_X11_XINPUT)
-	endif()
-
 	list(APPEND INC_SYS
 		${X11_X11_INCLUDE_PATH}
 	)
@@ -224,10 +224,6 @@ elseif(UNIX)
 		intern/GHOST_WindowX11.h
 	)
 
-	if(NOT WITH_INSTALL_PORTABLE)
-		add_definitions(-DPREFIX="${CMAKE_INSTALL_PREFIX}")
-	endif()
-
 	if(X11_XF86keysym_INCLUDE_PATH)
 		add_definitions(-DWITH_XF86KEYSYM)
 		list(APPEND INC_SYS
@@ -243,6 +239,14 @@ elseif(UNIX)
 		)
 	endif()
 
+	if(NOT WITH_INSTALL_PORTABLE)
+		add_definitions(-DPREFIX="${CMAKE_INSTALL_PREFIX}")
+	endif()
+
+	if(WITH_X11_XINPUT)
+		add_definitions(-DWITH_X11_XINPUT)
+	endif()
+
 elseif(WIN32)
 	if(MSVC)
 		set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /WX")
diff --git a/intern/ghost/intern/GHOST_NDOFManager.cpp b/intern/ghost/intern/GHOST_NDOFManager.cpp
index 855e27b9964..a24ccc3ff6c 100644
--- a/intern/ghost/intern/GHOST_NDOFManager.cpp
+++ b/intern/ghost/intern/GHOST_NDOFManager.cpp
@@ -375,7 +375,7 @@ void GHOST_NDOFManager::setDeadZone(float dz)
 
 static bool atHomePosition(GHOST_TEventNDOFMotionData* ndof)
 {
-#define HOME(foo) (ndof->foo == 0)
+#define HOME(foo) (ndof->foo == 0.f)
 	return HOME(tx) && HOME(ty) && HOME(tz) && HOME(rx) && HOME(ry) && HOME(rz);
 #undef HOME
 }
@@ -386,9 +386,9 @@ static bool nearHomePosition(GHOST_TEventNDOFMotionData* ndof, float threshold)
 		return atHomePosition(ndof);
 	}
 	else {
-#define HOME1(foo) (fabsf(ndof->foo) < threshold)
-		return HOME1(tx) && HOME1(ty) && HOME1(tz) && HOME1(rx) && HOME1(ry) && HOME1(rz);
-#undef HOME1
+#define HOME(foo) (fabsf(ndof->foo) < threshold)
+		return HOME(tx) && HOME(ty) && HOME(tz) && HOME(rx) && HOME(ry) && HOME(rz);
+#undef HOME
 	}
 }
 
@@ -423,17 +423,17 @@ bool GHOST_NDOFManager::sendMotionEvent()
 
 	data->dt = 0.001f * (m_motionTime - m_prevMotionTime); // in seconds
 
-	bool handMotion = !nearHomePosition(data, m_deadZone);
+	bool weHaveMotion = !nearHomePosition(data, m_deadZone);
 
 	// determine what kind of motion event to send (Starting, InProgress, Finishing)
 	// and where that leaves this NDOF manager (NotStarted, InProgress, Finished)
 	switch (m_motionState) {
 		case GHOST_kNotStarted:
 		case GHOST_kFinished:
-			if (handMotion) {
+			if (weHaveMotion) {
 				data->progress = GHOST_kStarting;
 				m_motionState = GHOST_kInProgress;
-				// prev motion time will be ancient, so just make up something reasonable
+				// prev motion time will be ancient, so just make up a reasonable time delta
 				data->dt = 0.0125f;
 			}
 			else {
@@ -443,9 +443,9 @@ bool GHOST_NDOFManager::sendMotionEvent()
 			}
 			break;
 		case GHOST_kInProgress:
-			if (handMotion) {
+			if (weHaveMotion) {
 				data->progress = GHOST_kInProgress;
-				// keep InProgress state
+				// remain 'InProgress'
 			}
 			else {
 				data->progress = GHOST_kFinishing;
@@ -453,7 +453,7 @@ bool GHOST_NDOFManager::sendMotionEvent()
 			}
 			break;
 		default:
-			break;
+			; // will always be one of the above
 	}
 
 #ifdef DEBUG_NDOF_MOTION
diff --git a/intern/ghost/intern/GHOST_NDOFManagerCocoa.h b/intern/ghost/intern/GHOST_NDOFManagerCocoa.h
index 27397b711b7..e9897f30104 100644
--- a/intern/ghost/intern/GHOST_NDOFManagerCocoa.h
+++ b/intern/ghost/intern/GHOST_NDOFManagerCocoa.h
@@ -22,10 +22,12 @@
  *
  * ***** END GPL LICENSE BLOCK *****
  */
- 
+
 #ifndef _GHOST_NDOFMANAGERCOCOA_H_
 #define _GHOST_NDOFMANAGERCOCOA_H_
 
+#ifdef WITH_INPUT_NDOF
+
 #include "GHOST_NDOFManager.h"
 
 // Event capture is handled within the NDOF manager on Macintosh,
@@ -47,4 +49,5 @@ private:
 };
 
 
-#endif
+#endif // WITH_INPUT_NDOF
+#endif // #include guard
diff --git a/intern/ghost/intern/GHOST_NDOFManagerCocoa.mm b/intern/ghost/intern/GHOST_NDOFManagerCocoa.mm
index 53a991a7396..409ed953134 100644
--- a/intern/ghost/intern/GHOST_NDOFManagerCocoa.mm
+++ b/intern/ghost/intern/GHOST_NDOFManagerCocoa.mm
@@ -22,7 +22,9 @@
  *
  * ***** END GPL LICENSE BLOCK *****
  */
- 
+
+#ifdef WITH_INPUT_NDOF
+
 #include "GHOST_NDOFManagerCocoa.h"
 #include "GHOST_SystemCocoa.h"
 
@@ -157,16 +159,22 @@ GHOST_NDOFManagerCocoa::GHOST_NDOFManagerCocoa(GHOST_System& sys)
 
 GHOST_NDOFManagerCocoa::~GHOST_NDOFManagerCocoa()
 {
-	UnregisterConnexionClient(m_clientID);
-	CleanupConnexionHandlers();
-	ghost_system = NULL;
-	ndof_manager = NULL;
+	if (available())
+	{
+		UnregisterConnexionClient(m_clientID);
+		CleanupConnexionHandlers();
+		ghost_system = NULL;
+		ndof_manager = NULL;
+	}
 }
-
-bool GHOST_NDOFManagerCocoa::available()
-{
-	// extern OSErr InstallConnexionHandlers() __attribute__((weak_import));
-	// ^^ not needed since the entire framework is weak-linked
-	return InstallConnexionHandlers != NULL;
-	// this means that the driver is installed and dynamically linked to blender
+extern "C" {
+	bool GHOST_NDOFManagerCocoa::available()
+	{
+		extern OSErr InstallConnexionHandlers() __attribute__((weak_import));
+		// Make the linker happy for the framework check (see link below for more info)
+		// http://developer.apple.com/documentation/MacOSX/Conceptual/BPFrameworks/Concepts/WeakLinking.html
+		return InstallConnexionHandlers != NULL;
+		// this means that the driver is installed and dynamically linked to blender
+	}
 }
+#endif // WITH_INPUT_NDOF
diff --git a/intern/ghost/intern/GHOST_NDOFManagerX11.cpp b/intern/ghost/intern/GHOST_NDOFManagerX11.cpp
index 099fa15d179..4dd53319039 100644
--- a/intern/ghost/intern/GHOST_NDOFManagerX11.cpp
+++ b/intern/ghost/intern/GHOST_NDOFManagerX11.cpp
@@ -22,7 +22,9 @@
  *
  * ***** END GPL LICENSE BLOCK *****
  */
- 
+
+#ifdef WITH_INPUT_NDOF
+
 #include "GHOST_NDOFManagerX11.h"
 #include "GHOST_SystemX11.h"
 #include <spnav.h>
@@ -34,14 +36,14 @@ GHOST_NDOFManagerX11::GHOST_NDOFManagerX11(GHOST_System& sys)
       GHOST_NDOFManager(sys),
       m_available(false)
 {
-	setDeadZone(0.1f); // how to calibrate on Linux? throw away slight motion!
+	setDeadZone(0.1f); /* how to calibrate on Linux? throw away slight motion! */
 
 	if (spnav_open() != -1) {
-		// determine exactly which device (if any) is plugged in
+		/* determine exactly which device (if any) is plugged in */
 
 #define MAX_LINE_LENGTH 100
 
-		// look for USB devices with Logitech's vendor ID
+		/* look for USB devices with Logitech's vendor ID */
 		FILE* command_output = popen("lsusb -d 046d:","r");
 		if (command_output) {
 			char line[MAX_LINE_LENGTH] = {0};
@@ -50,15 +52,15 @@ GHOST_NDOFManagerX11::GHOST_NDOFManagerX11(GHOST_System& sys)
 				if (sscanf(line, "Bus %*d Device %*d: ID %hx:%hx", &vendor_id, &product_id) == 2)
 					if (setDevice(vendor_id, product_id)) {
 						m_available = true;
-						break; // stop looking once the first 3D mouse is found
+						break; /* stop looking once the first 3D mouse is found */
 					}
 			}
 			pclose(command_output);
 		}
 	}
 	else {
-		printf("ndof: spacenavd not found\n");
-		// This isn't a hard error, just means the user doesn't have a 3D mouse.
+		puts("ndof: spacenavd not found");
+		/* This isn't a hard error, just means the user doesn't have a 3D mouse. */
 	}
 }
 
@@ -73,11 +75,6 @@ bool GHOST_NDOFManagerX11::available()
 	return m_available;
 }
 
-//bool GHOST_NDOFManagerX11::identifyDevice()
-//{
-//	
-//}
-
 bool GHOST_NDOFManagerX11::processEvents()
 {
 	GHOST_TUns64 now = m_system.getMilliSeconds();
@@ -88,7 +85,7 @@ bool GHOST_NDOFManagerX11::processEvents()
 		switch (e.type) {
 			case SPNAV_EVENT_MOTION:
 			{
-				// convert to blender view coords
+				/* convert to blender view coords */
 				short t[3] = {e.motion.x, e.motion.y, -e.motion.z};
 				short r[3] = {-e.motion.rx, -e.motion.ry, e.motion.rz};
 
@@ -104,3 +101,5 @@ bool GHOST_NDOFManagerX11::processEvents()
 	}
 	return anyProcessed;
 }
+
+#endif /* WITH_INPUT_NDOF */
diff --git a/intern/ghost/intern/GHOST_NDOFManagerX11.h b/intern/ghost/intern/GHOST_NDOFManagerX11.h
index 82bd256c707..0a549753756 100644
--- a/intern/ghost/intern/GHOST_NDOFManagerX11.h
+++ b/intern/ghost/intern/GHOST_NDOFManagerX11.h
@@ -26,6 +26,8 @@
 #ifndef _GHOST_NDOFMANAGERX11_H_
 #define _GHOST_NDOFMANAGERX11_H_
 
+#ifdef WITH_INPUT_NDOF
+
 #include "GHOST_NDOFManager.h"
 
 /* Event capture is handled within the NDOF manager on Linux,
@@ -40,10 +42,9 @@ public:
 	bool processEvents();
 
 private:
-	//	bool identifyDevice();
-
 	bool m_available;
 };
 
-#endif
+#endif /* WITH_INPUT_NDOF */
+#endif /* #include guard */
 
diff --git a/intern/ghost/intern/GHOST_SystemCocoa.mm b/intern/ghost/intern/GHOST_SystemCocoa.mm
index 17f0f2d6ecd..303c2b24497 100644
--- a/intern/ghost/intern/GHOST_SystemCocoa.mm
+++ b/intern/ghost/intern/GHOST_SystemCocoa.mm
@@ -21,8 +21,8 @@
  *
  * The Original Code is: all of this file.
  *
- * Contributor(s):	Maarten Gribnau 05/2001
- *					Damien Plisson 09/2009
+ * Contributors: Maarten Gribnau 05/2001
+ *               Damien Plisson 09/2009
  *
  * ***** END GPL LICENSE BLOCK *****
  */
@@ -43,16 +43,17 @@
 #include "GHOST_EventButton.h"
 #include "GHOST_EventCursor.h"
 #include "GHOST_EventWheel.h"
-#include "GHOST_EventNDOF.h"
 #include "GHOST_EventTrackpad.h"
 #include "GHOST_EventDragnDrop.h"
 #include "GHOST_EventString.h"
-
 #include "GHOST_TimerManager.h"
 #include "GHOST_TimerTask.h"
 #include "GHOST_WindowManager.h"
 #include "GHOST_WindowCocoa.h"
+#ifdef WITH_INPUT_NDOF
 #include "GHOST_NDOFManagerCocoa.h"
+#endif
+
 #include "AssertMacros.h"
 
 #pragma mark KeyMap, mouse converters
diff --git a/intern/ghost/intern/GHOST_SystemPathsX11.cpp b/intern/ghost/intern/GHOST_SystemPathsX11.cpp
index dd8935732c5..135f5c42dc5 100644
--- a/intern/ghost/intern/GHOST_SystemPathsX11.cpp
+++ b/intern/ghost/intern/GHOST_SystemPathsX11.cpp
@@ -43,7 +43,11 @@
 #include <stdio.h> // for fprintf only
 #include <cstdlib> // for exit
 
-using namespace std;
+#ifdef PREFIX
+static const char *static_path= PREFIX "/share" ;
+#else
+static const char *static_path= NULL;
+#endif
 
 GHOST_SystemPathsX11::GHOST_SystemPathsX11()
 {
@@ -56,21 +60,12 @@ GHOST_SystemPathsX11::~GHOST_SystemPathsX11()
 const GHOST_TUns8* GHOST_SystemPathsX11::getSystemDir() const
 {
 	/* no prefix assumes a portable build which only uses bundled scripts */
-#ifdef PREFIX
-	return (GHOST_TUns8*) PREFIX "/share";
-#else
-	return NULL;
-#endif
+	return (const GHOST_TUns8 *)static_path;
 }
 
 const GHOST_TUns8* GHOST_SystemPathsX11::getUserDir() const
 {
-	const char* env = getenv("HOME");
-	if(env) {
-		return (GHOST_TUns8*) env;
-	} else {
-		return NULL;
-	}
+	return (const GHOST_TUns8 *)getenv("HOME");
 }
 
 const GHOST_TUns8* GHOST_SystemPathsX11::getBinaryDir() const
diff --git a/intern/ghost/intern/GHOST_SystemSDL.cpp b/intern/ghost/intern/GHOST_SystemSDL.cpp
index 69a9f936cf6..f2cc45731fa 100644
--- a/intern/ghost/intern/GHOST_SystemSDL.cpp
+++ b/intern/ghost/intern/GHOST_SystemSDL.cpp
@@ -146,7 +146,7 @@ convertSDLKey(SDL_Scancode key)
 	if ((key >= SDL_SCANCODE_A) && (key <= SDL_SCANCODE_Z)) {
 		type= GHOST_TKey( key - SDL_SCANCODE_A + int(GHOST_kKeyA));
 	} else if ((key >= SDL_SCANCODE_1) && (key <= SDL_SCANCODE_0)) {
-		type= GHOST_TKey(key - SDL_SCANCODE_1 + int(GHOST_kKey0));
+		type= (key == SDL_SCANCODE_0) ? GHOST_kKey0 : GHOST_TKey(key - SDL_SCANCODE_1 + int(GHOST_kKey1));
 	} else if ((key >= SDL_SCANCODE_F1) && (key <= SDL_SCANCODE_F12)) {
 		type= GHOST_TKey(key - SDL_SCANCODE_F1 + int(GHOST_kKeyF1));
 	} else if ((key >= SDL_SCANCODE_F13) && (key <= SDL_SCANCODE_F24)) {
@@ -167,6 +167,8 @@ convertSDLKey(SDL_Scancode key)
 		GXMAP(type,SDL_SCANCODE_APOSTROPHE,     GHOST_kKeyQuote);
 		GXMAP(type,SDL_SCANCODE_GRAVE,          GHOST_kKeyAccentGrave);
 		GXMAP(type,SDL_SCANCODE_MINUS,          GHOST_kKeyMinus);
+		GXMAP(type,SDL_SCANCODE_EQUALS,         GHOST_kKeyEqual);
+
 		GXMAP(type,SDL_SCANCODE_SLASH,          GHOST_kKeySlash);
 		GXMAP(type,SDL_SCANCODE_BACKSLASH,      GHOST_kKeyBackslash);
 		GXMAP(type,SDL_SCANCODE_KP_EQUALS,      GHOST_kKeyEqual);
@@ -198,6 +200,7 @@ convertSDLKey(SDL_Scancode key)
 		GXMAP(type,SDL_SCANCODE_CAPSLOCK,       GHOST_kKeyCapsLock);
 		GXMAP(type,SDL_SCANCODE_SCROLLLOCK,     GHOST_kKeyScrollLock);
 		GXMAP(type,SDL_SCANCODE_NUMLOCKCLEAR,   GHOST_kKeyNumLock);
+		GXMAP(type,SDL_SCANCODE_PRINTSCREEN,    GHOST_kKeyPrintScreen);
 
 		/* keypad events */
 
@@ -382,8 +385,26 @@ GHOST_SystemSDL::processEvent(SDL_Event *sdl_event)
 
 			GHOST_TKey gkey= convertSDLKey(sdl_sub_evt.keysym.scancode);
 			/* note, the sdl_sub_evt.keysym.sym is truncated, for unicode support ghost has to be modified */
+			/* printf("%d\n", sym); */
 			if(sym > 127) {
-				sym= 0;
+				switch(sym) {
+					case SDLK_KP_DIVIDE: sym= '/'; break;
+				    case SDLK_KP_MULTIPLY: sym= '*'; break;
+				    case SDLK_KP_MINUS: sym= '-'; break;
+				    case SDLK_KP_PLUS: sym= '+'; break;
+				    case SDLK_KP_1: sym= '1'; break;
+				    case SDLK_KP_2: sym= '2'; break;
+				    case SDLK_KP_3: sym= '3'; break;
+				    case SDLK_KP_4: sym= '4'; break;
+				    case SDLK_KP_5: sym= '5'; break;
+				    case SDLK_KP_6: sym= '6'; break;
+				    case SDLK_KP_7: sym= '7'; break;
+				    case SDLK_KP_8: sym= '8'; break;
+				    case SDLK_KP_9: sym= '9'; break;
+				    case SDLK_KP_0: sym= '0'; break;
+				    case SDLK_KP_PERIOD: sym= '.'; break;
+					default: sym= 0; break;
+				}
 			}
 			else {
 				if(sdl_sub_evt.keysym.mod & (KMOD_LSHIFT|KMOD_RSHIFT)) {
diff --git a/intern/ghost/intern/GHOST_SystemX11.cpp b/intern/ghost/intern/GHOST_SystemX11.cpp
index 105f71b514f..d5100e589f2 100644
--- a/intern/ghost/intern/GHOST_SystemX11.cpp
+++ b/intern/ghost/intern/GHOST_SystemX11.cpp
@@ -42,8 +42,10 @@
 #include "GHOST_EventKey.h"
 #include "GHOST_EventButton.h"
 #include "GHOST_EventWheel.h"
-#include "GHOST_NDOFManagerX11.h"
 #include "GHOST_DisplayManagerX11.h"
+#ifdef WITH_INPUT_NDOF
+#include "GHOST_NDOFManagerX11.h"
+#endif
 
 #include "GHOST_Debug.h"
 
@@ -815,22 +817,6 @@ GHOST_SystemX11::processEvent(XEvent *xe)
 	}
 }
 
-#if 0 // obsolete SpaceNav code
-
-	void *
-GHOST_SystemX11::
-prepareNdofInfo(volatile GHOST_TEventNDOFData *currentNdofValues)
-{
-	const vector<GHOST_IWindow*>& v(m_windowManager->getWindows());
-	if (v.size() > 0)
-		sNdofInfo.window = static_cast<GHOST_WindowX11*>(v[0])->getXWindow();
-	sNdofInfo.display = m_display;
-	sNdofInfo.currValues = currentNdofValues;
-	return (void*)&sNdofInfo;
-}
-
-#endif
-
 	GHOST_TSuccess 
 GHOST_SystemX11::
 getModifierKeys(
diff --git a/intern/ghost/intern/GHOST_WindowWin32.cpp b/intern/ghost/intern/GHOST_WindowWin32.cpp
index 1ba51376ff9..0c8c0adf041 100644
--- a/intern/ghost/intern/GHOST_WindowWin32.cpp
+++ b/intern/ghost/intern/GHOST_WindowWin32.cpp
@@ -612,7 +612,6 @@ GHOST_TSuccess GHOST_WindowWin32::setState(GHOST_TWindowState state)
 		wp.showCmd = SW_SHOWMINIMIZED;
 		break;
 	case GHOST_kWindowStateMaximized:
-		ShowWindow(m_hWnd, SW_HIDE);
 		wp.showCmd = SW_SHOWMAXIMIZED;
 		SetWindowLongPtr(m_hWnd, GWL_STYLE, WS_OVERLAPPEDWINDOW);
 		break;
@@ -629,12 +628,12 @@ GHOST_TSuccess GHOST_WindowWin32::setState(GHOST_TWindowState state)
 		break;
 	case GHOST_kWindowStateNormal:
 	default:
-		ShowWindow(m_hWnd, SW_HIDE);
 		wp.showCmd = SW_SHOWNORMAL;
 		SetWindowLongPtr(m_hWnd, GWL_STYLE, WS_OVERLAPPEDWINDOW);
 		break;
 	}
-	return ::SetWindowPlacement(m_hWnd, &wp) == TRUE ? GHOST_kSuccess : GHOST_kFailure;
+	SetWindowPos(m_hWnd, 0, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_FRAMECHANGED); /*Clears window cache for SetWindowLongPtr */
+ 	return ::SetWindowPlacement(m_hWnd, &wp) == TRUE ? GHOST_kSuccess : GHOST_kFailure;
 }
 
 
diff --git a/intern/guardedalloc/MEM_guardedalloc.h b/intern/guardedalloc/MEM_guardedalloc.h
index a4beea6d8d5..f96a49b9f4a 100644
--- a/intern/guardedalloc/MEM_guardedalloc.h
+++ b/intern/guardedalloc/MEM_guardedalloc.h
@@ -61,18 +61,6 @@
 #ifndef MEM_MALLOCN_H
 #define MEM_MALLOCN_H
 
-#ifndef LIBEXPORT
-#ifdef _WIN32
-#ifdef BLENDER_PLUGIN
-#define LIBEXPORT __declspec(dllimport)
-#else
-#define LIBEXPORT __declspec(dllexport)
-#endif
-#else
-#define LIBEXPORT
-#endif
-#endif
-
 #include <stdio.h> /* needed for FILE* */
 #include "MEM_sys_types.h" /* needed for uintptr_t */
 
@@ -107,7 +95,7 @@ extern "C" {
 	/**
 	 * Duplicates a block of memory, and returns a pointer to the
 	 * newly allocated block.  */
-	LIBEXPORT void *MEM_dupallocN(void *vmemh) WARN_UNUSED;
+	void *MEM_dupallocN(void *vmemh) WARN_UNUSED;
 
 	/**
 	  * Reallocates a block of memory, and returns pointer to the newly
diff --git a/release/datafiles/splash.png b/release/datafiles/splash.png
index d6ccdb5b733c56493eb27333ae73542ecae7a39b..79339095b0774b85ebf07d7758adf2dfa10c1077 100644
GIT binary patch
delta 203631
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

delta 200736
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
B5h(xw

diff --git a/release/scripts/modules/bpy/__init__.py b/release/scripts/modules/bpy/__init__.py
index a43b42e49a1..5c371fd750a 100644
--- a/release/scripts/modules/bpy/__init__.py
+++ b/release/scripts/modules/bpy/__init__.py
@@ -44,14 +44,18 @@ from . import utils, path, ops
 ops = ops.ops_fake_module
 
 
-def _main():
-    import sys as _sys
+def main():
+    import sys
 
     # Possibly temp. addons path
     from os.path import join, dirname, normpath
-    _sys.path.append(normpath(join(dirname(__file__),
+    sys.path.append(normpath(join(dirname(__file__),
                                    "..", "..", "addons", "modules")))
 
+    # fake module to allow:
+    #   from bpy.types import Panel
+    sys.modules["bpy.types"] = types
+
     # if "-d" in sys.argv: # Enable this to measure startup speed
     if 0:
         import cProfile
@@ -65,6 +69,6 @@ def _main():
         utils.load_scripts()
 
 
-_main()
+main()
 
-del _main
+del main
diff --git a/release/scripts/modules/bpy_extras/io_utils.py b/release/scripts/modules/bpy_extras/io_utils.py
index 45664384efa..6271c1f77b5 100644
--- a/release/scripts/modules/bpy_extras/io_utils.py
+++ b/release/scripts/modules/bpy_extras/io_utils.py
@@ -379,7 +379,7 @@ def path_reference(filepath,
     is_relative = filepath.startswith("//")
     filepath_abs = os.path.normpath(bpy.path.abspath(filepath, base_src))
 
-    if mode in ('ABSOLUTE', 'RELATIVE', 'STRIP'):
+    if mode in {'ABSOLUTE', 'RELATIVE', 'STRIP'}:
         pass
     elif mode == 'MATCH':
         mode = 'RELATIVE' if is_relative else 'ABSOLUTE'
@@ -439,7 +439,7 @@ def path_reference_copy(copy_set, report=print):
             shutil.copy(file_src, file_dst)
 
 
-def unique_name(key, name, name_dict, name_max=-1, clean_func=None):
+def unique_name(key, name, name_dict, name_max=-1, clean_func=None, sep="."):
     """
     Helper function for storing unique names which may have special characters
     stripped and restricted to a maximum length.
@@ -456,6 +456,9 @@ def unique_name(key, name, name_dict, name_max=-1, clean_func=None):
     :type name_dict: dict
     :arg clean_func: Function to call on *name* before creating a unique value.
     :type clean_func: function
+    :arg sep: Separator to use when between the name and a number when a
+       duplicate name is found.
+    :type sep: string
     """
     name_new = name_dict.get(key)
     if name_new is None:
@@ -466,14 +469,15 @@ def unique_name(key, name, name_dict, name_max=-1, clean_func=None):
 
         if name_max == -1:
             while name_new in name_dict_values:
-                name_new = "%s.%03d" % (name_new_orig, count)
+                name_new = "%s%s%03d" % (name_new_orig, sep, count)
                 count += 1
         else:
             name_new = name_new[:name_max]
             while name_new in name_dict_values:
                 count_str = "%03d" % count
-                name_new = "%.*s.%s" % (name_max - (len(count_str) + 1),
+                name_new = "%.*s%s%s" % (name_max - (len(count_str) + 1),
                                         name_new_orig,
+                                        sep,
                                         count_str,
                                         )
                 count += 1
diff --git a/release/scripts/modules/bpy_extras/mesh_utils.py b/release/scripts/modules/bpy_extras/mesh_utils.py
index f9400674138..c965169ff04 100644
--- a/release/scripts/modules/bpy_extras/mesh_utils.py
+++ b/release/scripts/modules/bpy_extras/mesh_utils.py
@@ -294,7 +294,7 @@ def ngon_tesselate(from_data, indices, fix_loops=True):
         '''
         Normal single concave loop filling
         '''
-        if type(from_data) in (tuple, list):
+        if type(from_data) in {tuple, list}:
             verts = [Vector(from_data[i]) for ii, i in enumerate(indices)]
         else:
             verts = [from_data.vertices[i].co for ii, i in enumerate(indices)]
@@ -312,7 +312,7 @@ def ngon_tesselate(from_data, indices, fix_loops=True):
         used twice. This is used by lightwave LWO files a lot
         '''
 
-        if type(from_data) in (tuple, list):
+        if type(from_data) in {tuple, list}:
             verts = [vert_treplet(Vector(from_data[i]), ii)
                      for ii, i in enumerate(indices)]
         else:
diff --git a/release/scripts/modules/bpyml.py b/release/scripts/modules/bpyml.py
index fdf5172a0b3..42d2bf94fba 100644
--- a/release/scripts/modules/bpyml.py
+++ b/release/scripts/modules/bpyml.py
@@ -120,7 +120,7 @@ def fromxml(data):
         py_item = (xml_node.tagName, _fromxml_kwargs(xml_node), [])
         #_fromxml_iter(py_item, xml_node.childNodes)
         for xml_node_child in xml_node.childNodes:
-            if xml_node_child.nodeType not in (xml_node_child.TEXT_NODE, xml_node_child.COMMENT_NODE):
+            if xml_node_child.nodeType not in {xml_node_child.TEXT_NODE, xml_node_child.COMMENT_NODE}:
                 py_item[CHILDREN].append(_fromxml(xml_node_child))
         return py_item
 
diff --git a/release/scripts/modules/bpyml_ui.py b/release/scripts/modules/bpyml_ui.py
index 5df04b8bf34..f4b6de23dbb 100644
--- a/release/scripts/modules/bpyml_ui.py
+++ b/release/scripts/modules/bpyml_ui.py
@@ -40,13 +40,13 @@ def _parse_rna(prop, value):
     elif prop.type == 'INT':
         value = int(value)
     elif prop.type == 'BOOLEAN':
-        if value in (True, False):
+        if value in {True, False}:
             pass
         else:
-            if value not in ("True", "False"):
+            if value not in {"True", "False"}:
                 raise Exception("invalid bool value: %s" % value)
             value = bool(value == "True")
-    elif prop.type in ('STRING', 'ENUM'):
+    elif prop.type in {'STRING', 'ENUM'}:
         pass
     elif prop.type == 'POINTER':
         value = eval("_bpy." + value)
diff --git a/release/scripts/modules/rna_info.py b/release/scripts/modules/rna_info.py
index 93a344f4b09..943f86adecb 100644
--- a/release/scripts/modules/rna_info.py
+++ b/release/scripts/modules/rna_info.py
@@ -148,7 +148,7 @@ class InfoStructRNA:
         import types
         functions = []
         for identifier, attr in self._get_py_visible_attrs():
-            if type(attr) in (types.FunctionType, types.MethodType):
+            if type(attr) in {types.FunctionType, types.MethodType}:
                 functions.append((identifier, attr))
         return functions
 
@@ -156,7 +156,7 @@ class InfoStructRNA:
         import types
         functions = []
         for identifier, attr in self._get_py_visible_attrs():
-            if type(attr) in (types.BuiltinMethodType, types.BuiltinFunctionType):
+            if type(attr) in {types.BuiltinMethodType, types.BuiltinFunctionType}:
                 functions.append((identifier, attr))
         return functions
 
@@ -260,7 +260,7 @@ class InfoPropertyRNA:
             if self.array_length:
                 type_str += " array of %d items" % (self.array_length)
 
-            if self.type in ("float", "int"):
+            if self.type in {"float", "int"}:
                 type_str += " in [%s, %s]" % (range_str(self.min), range_str(self.max))
             elif self.type == "enum":
                 if self.is_enum_flag:
@@ -595,7 +595,7 @@ def BuildRNAInfo():
             for prop in rna_info.properties:
                 # ERROR CHECK
                 default = prop.default
-                if type(default) in (float, int):
+                if type(default) in {float, int}:
                     if default < prop.min or default > prop.max:
                         print("\t %s.%s, %s not in [%s - %s]" % (rna_info.identifier, prop.identifier, default, prop.min, prop.max))
 
diff --git a/release/scripts/startup/bl_operators/add_mesh_torus.py b/release/scripts/startup/bl_operators/add_mesh_torus.py
index 27a6d21d519..1c4518c4feb 100644
--- a/release/scripts/startup/bl_operators/add_mesh_torus.py
+++ b/release/scripts/startup/bl_operators/add_mesh_torus.py
@@ -18,6 +18,7 @@
 
 # <pep8-80 compliant>
 import bpy
+from bpy.types import Operator
 import mathutils
 
 
@@ -81,7 +82,7 @@ from bpy.props import (FloatProperty,
                        )
 
 
-class AddTorus(bpy.types.Operator):
+class AddTorus(Operator):
     '''Add a torus mesh'''
     bl_idname = "mesh.primitive_torus_add"
     bl_label = "Add Torus"
diff --git a/release/scripts/startup/bl_operators/animsys_update.py b/release/scripts/startup/bl_operators/animsys_update.py
index 63d438a5066..3710c57ac16 100644
--- a/release/scripts/startup/bl_operators/animsys_update.py
+++ b/release/scripts/startup/bl_operators/animsys_update.py
@@ -686,9 +686,10 @@ data_path_update = [
 
 
 import bpy
+from bpy.types import Operator
 
 
-class UpdateAnimData(bpy.types.Operator):
+class UpdateAnimData(Operator):
     """Update data paths from 2.56 and previous versions, modifying data paths of drivers and fcurves"""
     bl_idname = "anim.update_data_paths"
     bl_label = "Update Animation Data"
diff --git a/release/scripts/startup/bl_operators/image.py b/release/scripts/startup/bl_operators/image.py
index 23bafe2eaae..9226cbed51b 100644
--- a/release/scripts/startup/bl_operators/image.py
+++ b/release/scripts/startup/bl_operators/image.py
@@ -19,10 +19,11 @@
 # <pep8-80 compliant>
 
 import bpy
+from bpy.types import Operator
 from bpy.props import StringProperty
 
 
-class EditExternally(bpy.types.Operator):
+class EditExternally(Operator):
     '''Edit image in an external application'''
     bl_idname = "image.external_edit"
     bl_label = "Image Edit Externally"
@@ -61,13 +62,19 @@ class EditExternally(bpy.types.Operator):
     def execute(self, context):
         import os
         import subprocess
-        filepath = os.path.normpath(bpy.path.abspath(self.filepath))
+
+        filepath = self.filepath
+
+        if not filepath:
+            self.report({'ERROR'}, "Image path not set")
+            return {'CANCELLED'}
+
+        filepath = os.path.normpath(bpy.path.abspath(filepath))
 
         if not os.path.exists(filepath):
             self.report({'ERROR'},
                         "Image path %r not found, image may be packed or "
                         "unsaved." % filepath)
-
             return {'CANCELLED'}
 
         cmd = self._editor_guess(context) + [filepath]
@@ -100,7 +107,7 @@ class EditExternally(bpy.types.Operator):
         return {'FINISHED'}
 
 
-class SaveDirty(bpy.types.Operator):
+class SaveDirty(Operator):
     """Save all modified textures"""
     bl_idname = "image.save_dirty"
     bl_label = "Save Dirty"
@@ -123,7 +130,7 @@ class SaveDirty(bpy.types.Operator):
         return {'FINISHED'}
 
 
-class ProjectEdit(bpy.types.Operator):
+class ProjectEdit(Operator):
     """Edit a snapshot of the viewport in an external image editor"""
     bl_idname = "image.project_edit"
     bl_label = "Project Edit"
@@ -190,7 +197,7 @@ class ProjectEdit(bpy.types.Operator):
         return {'FINISHED'}
 
 
-class ProjectApply(bpy.types.Operator):
+class ProjectApply(Operator):
     """Project edited image back onto the object"""
     bl_idname = "image.project_apply"
     bl_label = "Project Apply"
diff --git a/release/scripts/startup/bl_operators/mesh.py b/release/scripts/startup/bl_operators/mesh.py
index 344b238709f..4114381f3dc 100644
--- a/release/scripts/startup/bl_operators/mesh.py
+++ b/release/scripts/startup/bl_operators/mesh.py
@@ -19,11 +19,12 @@
 # <pep8-80 compliant>
 
 import bpy
+from bpy.types import Operator
 
 from bpy.props import EnumProperty
 
 
-class MeshSelectInteriorFaces(bpy.types.Operator):
+class MeshSelectInteriorFaces(Operator):
     '''Select faces where all edges have more then 2 face users.'''
 
     bl_idname = "mesh.faces_select_interior"
@@ -67,7 +68,7 @@ class MeshSelectInteriorFaces(bpy.types.Operator):
         return {'FINISHED'}
 
 
-class MeshMirrorUV(bpy.types.Operator):
+class MeshMirrorUV(Operator):
     '''Copy mirror UV coordinates on the X axis based on a mirrored mesh'''
     bl_idname = "mesh.faces_mirror_uv"
     bl_label = "Copy Mirrored UV coords"
diff --git a/release/scripts/startup/bl_operators/nla.py b/release/scripts/startup/bl_operators/nla.py
index 469e9015e62..44ed846e530 100644
--- a/release/scripts/startup/bl_operators/nla.py
+++ b/release/scripts/startup/bl_operators/nla.py
@@ -19,6 +19,7 @@
 # <pep8-80 compliant>
 
 import bpy
+from bpy.types import Operator
 
 
 def pose_frame_info(obj):
@@ -191,7 +192,7 @@ def bake(frame_start,
 from bpy.props import IntProperty, BoolProperty, EnumProperty
 
 
-class BakeAction(bpy.types.Operator):
+class BakeAction(Operator):
     '''Bake animation to an Action'''
     bl_idname = "nla.bake"
     bl_label = "Bake Action"
diff --git a/release/scripts/startup/bl_operators/object.py b/release/scripts/startup/bl_operators/object.py
index 627a1530fe1..79f57990f37 100644
--- a/release/scripts/startup/bl_operators/object.py
+++ b/release/scripts/startup/bl_operators/object.py
@@ -19,10 +19,11 @@
 # <pep8-80 compliant>
 
 import bpy
+from bpy.types import Operator
 from bpy.props import StringProperty, BoolProperty, EnumProperty, IntProperty
 
 
-class SelectPattern(bpy.types.Operator):
+class SelectPattern(Operator):
     '''Select object matching a naming pattern'''
     bl_idname = "object.select_pattern"
     bl_label = "Select Pattern"
@@ -99,7 +100,7 @@ class SelectPattern(bpy.types.Operator):
         row.prop(self, "extend")
 
 
-class SelectCamera(bpy.types.Operator):
+class SelectCamera(Operator):
     '''Select object matching a naming pattern'''
     bl_idname = "object.select_camera"
     bl_label = "Select Camera"
@@ -120,7 +121,7 @@ class SelectCamera(bpy.types.Operator):
         return {'FINISHED'}
 
 
-class SelectHierarchy(bpy.types.Operator):
+class SelectHierarchy(Operator):
     '''Select object relative to the active objects position''' \
     '''in the hierarchy'''
     bl_idname = "object.select_hierarchy"
@@ -187,7 +188,7 @@ class SelectHierarchy(bpy.types.Operator):
         return {'CANCELLED'}
 
 
-class SubdivisionSet(bpy.types.Operator):
+class SubdivisionSet(Operator):
     '''Sets a Subdivision Surface Level (1-5)'''
 
     bl_idname = "object.subdivision_set"
@@ -263,7 +264,7 @@ class SubdivisionSet(bpy.types.Operator):
         return {'FINISHED'}
 
 
-class ShapeTransfer(bpy.types.Operator):
+class ShapeTransfer(Operator):
     '''Copy another selected objects active shape to this one by ''' \
     '''applying the relative offsets'''
 
@@ -507,7 +508,7 @@ class ShapeTransfer(bpy.types.Operator):
         return self._main(ob_act, objects, self.mode, self.use_clamp)
 
 
-class JoinUVs(bpy.types.Operator):
+class JoinUVs(Operator):
     '''Copy UV Layout to objects with matching geometry'''
     bl_idname = "object.join_uvs"
     bl_label = "Join as UVs"
@@ -575,7 +576,7 @@ class JoinUVs(bpy.types.Operator):
         return {'FINISHED'}
 
 
-class MakeDupliFace(bpy.types.Operator):
+class MakeDupliFace(Operator):
     '''Make linked objects into dupli-faces'''
     bl_idname = "object.make_dupli_face"
     bl_label = "Make Dupli-Face"
@@ -649,7 +650,7 @@ class MakeDupliFace(bpy.types.Operator):
         return {'FINISHED'}
 
 
-class IsolateTypeRender(bpy.types.Operator):
+class IsolateTypeRender(Operator):
     '''Hide unselected render objects of same type as active ''' \
     '''by setting the hide render flag'''
     bl_idname = "object.isolate_type_render"
@@ -670,7 +671,7 @@ class IsolateTypeRender(bpy.types.Operator):
         return {'FINISHED'}
 
 
-class ClearAllRestrictRender(bpy.types.Operator):
+class ClearAllRestrictRender(Operator):
     '''Reveal all render objects by setting the hide render flag'''
     bl_idname = "object.hide_render_clear_all"
     bl_label = "Clear All Restrict Render"
diff --git a/release/scripts/startup/bl_operators/object_align.py b/release/scripts/startup/bl_operators/object_align.py
index 7fd769c40c9..d4a3d826f2f 100644
--- a/release/scripts/startup/bl_operators/object_align.py
+++ b/release/scripts/startup/bl_operators/object_align.py
@@ -19,6 +19,7 @@
 # <pep8-80 compliant>
 
 import bpy
+from bpy.types import Operator
 from mathutils import Vector
 
 
@@ -339,7 +340,7 @@ def align_objects(align_x,
 from bpy.props import EnumProperty, BoolProperty
 
 
-class AlignObjects(bpy.types.Operator):
+class AlignObjects(Operator):
     '''Align Objects'''
     bl_idname = "object.align"
     bl_label = "Align Objects"
diff --git a/release/scripts/startup/bl_operators/object_quick_effects.py b/release/scripts/startup/bl_operators/object_quick_effects.py
index ef10bfd737d..cd206da3a8e 100644
--- a/release/scripts/startup/bl_operators/object_quick_effects.py
+++ b/release/scripts/startup/bl_operators/object_quick_effects.py
@@ -20,6 +20,7 @@
 
 from mathutils import Vector
 import bpy
+from bpy.types import Operator
 from bpy.props import (BoolProperty,
                        EnumProperty,
                        IntProperty,
@@ -45,7 +46,7 @@ def object_ensure_material(obj, mat_name):
     return mat
 
 
-class QuickFur(bpy.types.Operator):
+class QuickFur(Operator):
     bl_idname = "object.quick_fur"
     bl_label = "Quick Fur"
     bl_options = {'REGISTER', 'UNDO'}
@@ -104,7 +105,7 @@ class QuickFur(bpy.types.Operator):
         return {'FINISHED'}
 
 
-class QuickExplode(bpy.types.Operator):
+class QuickExplode(Operator):
     bl_idname = "object.quick_explode"
     bl_label = "Quick Explode"
     bl_options = {'REGISTER', 'UNDO'}
@@ -265,7 +266,7 @@ def obj_bb_minmax(obj, min_co, max_co):
         max_co[2] = max(bb_vec[2], max_co[2])
 
 
-class QuickSmoke(bpy.types.Operator):
+class QuickSmoke(Operator):
     bl_idname = "object.quick_smoke"
     bl_label = "Quick Smoke"
     bl_options = {'REGISTER', 'UNDO'}
@@ -383,7 +384,7 @@ class QuickSmoke(bpy.types.Operator):
         return {'FINISHED'}
 
 
-class QuickFluid(bpy.types.Operator):
+class QuickFluid(Operator):
     bl_idname = "object.quick_fluid"
     bl_label = "Quick Fluid"
     bl_options = {'REGISTER', 'UNDO'}
diff --git a/release/scripts/startup/bl_operators/object_randomize_transform.py b/release/scripts/startup/bl_operators/object_randomize_transform.py
index b94c4f06cd3..f65e3d27d83 100644
--- a/release/scripts/startup/bl_operators/object_randomize_transform.py
+++ b/release/scripts/startup/bl_operators/object_randomize_transform.py
@@ -19,6 +19,7 @@
 # <pep8-80 compliant>
 
 import bpy
+from bpy.types import Operator
 
 
 def randomize_selected(seed, delta, loc, rot, scale, scale_even):
@@ -87,7 +88,7 @@ def randomize_selected(seed, delta, loc, rot, scale, scale_even):
 from bpy.props import IntProperty, BoolProperty, FloatVectorProperty
 
 
-class RandomizeLocRotSize(bpy.types.Operator):
+class RandomizeLocRotSize(Operator):
     '''Randomize objects loc/rot/scale'''
     bl_idname = "object.randomize_transform"
     bl_label = "Randomize Transform"
diff --git a/release/scripts/startup/bl_operators/presets.py b/release/scripts/startup/bl_operators/presets.py
index fbcc327c3bd..2fd0c4a9e12 100644
--- a/release/scripts/startup/bl_operators/presets.py
+++ b/release/scripts/startup/bl_operators/presets.py
@@ -19,6 +19,7 @@
 # <pep8-80 compliant>
 
 import bpy
+from bpy.types import Menu, Operator
 
 
 class AddPresetBase():
@@ -140,7 +141,7 @@ class AddPresetBase():
             return self.execute(context)
 
 
-class ExecutePreset(bpy.types.Operator):
+class ExecutePreset(Operator):
     ''' Executes a preset '''
     bl_idname = "script.execute_preset"
     bl_label = "Execute a Python Preset"
@@ -168,7 +169,7 @@ class ExecutePreset(bpy.types.Operator):
         return {'FINISHED'}
 
 
-class AddPresetRender(AddPresetBase, bpy.types.Operator):
+class AddPresetRender(AddPresetBase, Operator):
     '''Add a Render Preset'''
     bl_idname = "render.preset_add"
     bl_label = "Add Render Preset"
@@ -194,7 +195,7 @@ class AddPresetRender(AddPresetBase, bpy.types.Operator):
     preset_subdir = "render"
 
 
-class AddPresetSSS(AddPresetBase, bpy.types.Operator):
+class AddPresetSSS(AddPresetBase, Operator):
     '''Add a Subsurface Scattering Preset'''
     bl_idname = "material.sss_preset_add"
     bl_label = "Add SSS Preset"
@@ -222,7 +223,7 @@ class AddPresetSSS(AddPresetBase, bpy.types.Operator):
     preset_subdir = "sss"
 
 
-class AddPresetCloth(AddPresetBase, bpy.types.Operator):
+class AddPresetCloth(AddPresetBase, Operator):
     '''Add a Cloth Preset'''
     bl_idname = "cloth.preset_add"
     bl_label = "Add Cloth Preset"
@@ -244,7 +245,7 @@ class AddPresetCloth(AddPresetBase, bpy.types.Operator):
     preset_subdir = "cloth"
 
 
-class AddPresetSunSky(AddPresetBase, bpy.types.Operator):
+class AddPresetSunSky(AddPresetBase, Operator):
     '''Add a Sky & Atmosphere Preset'''
     bl_idname = "lamp.sunsky_preset_add"
     bl_label = "Add Sunsky Preset"
@@ -273,7 +274,7 @@ class AddPresetSunSky(AddPresetBase, bpy.types.Operator):
     preset_subdir = "sunsky"
 
 
-class AddPresetInteraction(AddPresetBase, bpy.types.Operator):
+class AddPresetInteraction(AddPresetBase, Operator):
     '''Add an Application Interaction Preset'''
     bl_idname = "wm.interaction_preset_add"
     bl_label = "Add Interaction Preset"
@@ -299,7 +300,7 @@ class AddPresetInteraction(AddPresetBase, bpy.types.Operator):
     preset_subdir = "interaction"
 
 
-class AddPresetKeyconfig(AddPresetBase, bpy.types.Operator):
+class AddPresetKeyconfig(AddPresetBase, Operator):
     '''Add a Keyconfig Preset'''
     bl_idname = "wm.keyconfig_preset_add"
     bl_label = "Add Keyconfig Preset"
@@ -322,7 +323,7 @@ class AddPresetKeyconfig(AddPresetBase, bpy.types.Operator):
             keyconfigs.remove(keyconfigs.active)
 
 
-class AddPresetOperator(AddPresetBase, bpy.types.Operator):
+class AddPresetOperator(AddPresetBase, Operator):
     '''Add an Application Interaction Preset'''
     bl_idname = "wm.operator_preset_add"
     bl_label = "Operator Preset"
@@ -345,7 +346,7 @@ class AddPresetOperator(AddPresetBase, bpy.types.Operator):
 
     @property
     def preset_values(self):
-        properties_blacklist = bpy.types.Operator.bl_rna.properties.keys()
+        properties_blacklist = Operator.bl_rna.properties.keys()
 
         prefix, suffix = self.operator.split("_OT_", 1)
         op = getattr(getattr(bpy.ops, prefix.lower()), suffix)
@@ -367,12 +368,12 @@ class AddPresetOperator(AddPresetBase, bpy.types.Operator):
         return os.path.join("operator", "%s.%s" % (prefix.lower(), suffix))
 
 
-class WM_MT_operator_presets(bpy.types.Menu):
+class WM_MT_operator_presets(Menu):
     bl_label = "Operator Presets"
 
     def draw(self, context):
         self.operator = context.space_data.operator.bl_idname
-        bpy.types.Menu.draw_preset(self, context)
+        Menu.draw_preset(self, context)
 
     @property
     def preset_subdir(self):
diff --git a/release/scripts/startup/bl_operators/screen_play_rendered_anim.py b/release/scripts/startup/bl_operators/screen_play_rendered_anim.py
index a38d817d738..c2a09d6a4ae 100644
--- a/release/scripts/startup/bl_operators/screen_play_rendered_anim.py
+++ b/release/scripts/startup/bl_operators/screen_play_rendered_anim.py
@@ -21,6 +21,7 @@
 # Originally written by Matt Ebb
 
 import bpy
+from bpy.types import Operator
 import os
 
 
@@ -64,7 +65,7 @@ def guess_player_path(preset):
     return player_path
 
 
-class PlayRenderedAnim(bpy.types.Operator):
+class PlayRenderedAnim(Operator):
     '''Plays back rendered frames/movies using an external player.'''
     bl_idname = "render.play_rendered_anim"
     bl_label = "Play Rendered Animation"
diff --git a/release/scripts/startup/bl_operators/sequencer.py b/release/scripts/startup/bl_operators/sequencer.py
index 16b72406c49..d2f85c8d7c7 100644
--- a/release/scripts/startup/bl_operators/sequencer.py
+++ b/release/scripts/startup/bl_operators/sequencer.py
@@ -19,11 +19,12 @@
 # <pep8 compliant>
 
 import bpy
+from bpy.types import Operator
 
 from bpy.props import IntProperty
 
 
-class SequencerCrossfadeSounds(bpy.types.Operator):
+class SequencerCrossfadeSounds(Operator):
     '''Do crossfading volume animation of two selected sound strips.'''
 
     bl_idname = "sequencer.crossfade_sounds"
@@ -74,7 +75,7 @@ class SequencerCrossfadeSounds(bpy.types.Operator):
             return {'CANCELLED'}
 
 
-class SequencerCutMulticam(bpy.types.Operator):
+class SequencerCutMulticam(Operator):
     '''Cut multicam strip and select camera.'''
 
     bl_idname = "sequencer.cut_multicam"
@@ -112,7 +113,7 @@ class SequencerCutMulticam(bpy.types.Operator):
         return {'FINISHED'}
 
 
-class SequencerDeinterlaceSelectedMovies(bpy.types.Operator):
+class SequencerDeinterlaceSelectedMovies(Operator):
     '''Deinterlace all selected movie sources.'''
 
     bl_idname = "sequencer.deinterlace_selected_movies"
diff --git a/release/scripts/startup/bl_operators/uvcalc_follow_active.py b/release/scripts/startup/bl_operators/uvcalc_follow_active.py
index 43ca9af59ba..6c258d094e8 100644
--- a/release/scripts/startup/bl_operators/uvcalc_follow_active.py
+++ b/release/scripts/startup/bl_operators/uvcalc_follow_active.py
@@ -22,6 +22,7 @@
 # http://mediawiki.blender.org/index.php/Scripts/Manual/UV_Calculate/Follow_active_quads
 
 import bpy
+from bpy.types import Operator
 
 
 def extend(obj, operator, EXTEND_MODE):
@@ -226,7 +227,7 @@ def main(context, operator):
     extend(obj, operator, operator.properties.mode)
 
 
-class FollowActiveQuads(bpy.types.Operator):
+class FollowActiveQuads(Operator):
     '''Follow UVs from active quads along continuous face loops'''
     bl_idname = "uv.follow_active_quads"
     bl_label = "Follow Active Quads"
diff --git a/release/scripts/startup/bl_operators/uvcalc_lightmap.py b/release/scripts/startup/bl_operators/uvcalc_lightmap.py
index 9ae0cd0ddf9..6b1c6e1be98 100644
--- a/release/scripts/startup/bl_operators/uvcalc_lightmap.py
+++ b/release/scripts/startup/bl_operators/uvcalc_lightmap.py
@@ -19,11 +19,20 @@
 # <pep8 compliant>
 
 import bpy
+from bpy.types import Operator
 import mathutils
 
 
 class prettyface(object):
-    __slots__ = "uv", "width", "height", "children", "xoff", "yoff", "has_parent", "rot"
+    __slots__ = ("uv",
+                 "width",
+                 "height",
+                 "children",
+                 "xoff",
+                 "yoff",
+                 "has_parent",
+                 "rot",
+                 )
 
     def __init__(self, data):
         self.has_parent = False
@@ -263,10 +272,9 @@ def lightmap_uvpack(meshes,
             del trylens
 
             def trilensdiff(t1, t2):
-                return\
-                abs(t1[1][t1[2][0]] - t2[1][t2[2][0]]) + \
-                abs(t1[1][t1[2][1]] - t2[1][t2[2][1]]) + \
-                abs(t1[1][t1[2][2]] - t2[1][t2[2][2]])
+                return (abs(t1[1][t1[2][0]] - t2[1][t2[2][0]]) +
+                        abs(t1[1][t1[2][1]] - t2[1][t2[2][1]]) +
+                        abs(t1[1][t1[2][2]] - t2[1][t2[2][2]]))
 
             while tri_lengths:
                 tri1 = tri_lengths.pop()
@@ -520,7 +528,7 @@ def unwrap(operator, context, **kwargs):
         if obj and obj.type == 'MESH':
             meshes = [obj.data]
     else:
-        meshes = {me.name: me for obj in context.selected_objects if obj.type == 'MESH' for me in (obj.data,) if not me.library if len(me.faces)}.values()
+        meshes = list({me for obj in context.selected_objects if obj.type == 'MESH' for me in (obj.data,) if me.faces and me.library is None})
 
     if not meshes:
         operator.report({'ERROR'}, "No mesh object.")
@@ -536,29 +544,58 @@ def unwrap(operator, context, **kwargs):
 from bpy.props import BoolProperty, FloatProperty, IntProperty
 
 
-class LightMapPack(bpy.types.Operator):
+class LightMapPack(Operator):
     '''Follow UVs from active quads along continuous face loops'''
     bl_idname = "uv.lightmap_pack"
     bl_label = "Lightmap Pack"
     bl_options = {'REGISTER', 'UNDO'}
 
     PREF_CONTEXT = bpy.props.EnumProperty(
+            name="Selection",
+            description="",
             items=(("SEL_FACES", "Selected Faces", "Space all UVs evently"),
                    ("ALL_FACES", "All Faces", "Average space UVs edge length of each loop"),
                    ("ALL_OBJECTS", "Selected Mesh Object", "Average space UVs edge length of each loop")
                    ),
-            name="Selection",
-            description="")
+            )
 
     # Image & UVs...
-    PREF_PACK_IN_ONE = BoolProperty(name="Share Tex Space", default=True, description="Objects Share texture space, map all objects into 1 uvmap")
-    PREF_NEW_UVLAYER = BoolProperty(name="New UV Layer", default=False, description="Create a new UV layer for every mesh packed")
-    PREF_APPLY_IMAGE = BoolProperty(name="New Image", default=False, description="Assign new images for every mesh (only one if shared tex space enabled)")
-    PREF_IMG_PX_SIZE = IntProperty(name="Image Size", min=64, max=5000, default=512, description="Width and Height for the new image")
-
+    PREF_PACK_IN_ONE = BoolProperty(
+            name="Share Tex Space",
+            description=("Objects Share texture space, map all objects "
+                         "into 1 uvmap"),
+            default=True,
+            )
+    PREF_NEW_UVLAYER = BoolProperty(
+            name="New UV Layer",
+            description="Create a new UV layer for every mesh packed",
+            default=False,
+            )
+    PREF_APPLY_IMAGE = BoolProperty(
+            name="New Image",
+            description=("Assign new images for every mesh (only one if "
+                         "shared tex space enabled)"),
+            default=False,
+            )
+    PREF_IMG_PX_SIZE = IntProperty(
+            name="Image Size",
+            description="Width and Height for the new image",
+            min=64, max=5000,
+            default=512,
+            )
     # UV Packing...
-    PREF_BOX_DIV = IntProperty(name="Pack Quality", min=1, max=48, default=12, description="Pre Packing before the complex boxpack")
-    PREF_MARGIN_DIV = FloatProperty(name="Margin", min=0.001, max=1.0, default=0.1, description="Size of the margin as a division of the UV")
+    PREF_BOX_DIV = IntProperty(
+            name="Pack Quality",
+            description="Pre Packing before the complex boxpack",
+            min=1, max=48,
+            default=12,
+            )
+    PREF_MARGIN_DIV = FloatProperty(
+            name="Margin",
+            description="Size of the margin as a division of the UV",
+            min=0.001, max=1.0,
+            default=0.1,
+            )
 
     def execute(self, context):
         kwargs = self.as_keywords()
diff --git a/release/scripts/startup/bl_operators/uvcalc_smart_project.py b/release/scripts/startup/bl_operators/uvcalc_smart_project.py
index 851f33bde11..8afd6c104e0 100644
--- a/release/scripts/startup/bl_operators/uvcalc_smart_project.py
+++ b/release/scripts/startup/bl_operators/uvcalc_smart_project.py
@@ -20,6 +20,7 @@
 
 from mathutils import Matrix, Vector, geometry
 import bpy
+from bpy.types import Operator
 
 DEG_TO_RAD = 0.017453292519943295 # pi/180.0
 SMALL_NUM = 0.000000001
@@ -812,39 +813,26 @@ def main(context,
     global RotMatStepRotation
     main_consts()
 
-    # TODO, all selected meshes
-    '''
-    # objects = context.selected_editable_objects
-    objects = []
-
-    # we can will tag them later.
-    obList =  [ob for ob in objects if ob.type == 'MESH']
-
-    # Face select object may not be selected.
-    ob = context.active_object
-
-    if ob and (not ob.select) and ob.type == 'MESH':
-        # Add to the list
-        obList =[ob]
-    del objects
-    '''
+    # Create the variables.
+    USER_PROJECTION_LIMIT = projection_limit
+    USER_ONLY_SELECTED_FACES = True
+    USER_SHARE_SPACE = 1 # Only for hole filling.
+    USER_STRETCH_ASPECT = 1 # Only for hole filling.
+    USER_ISLAND_MARGIN = island_margin # Only for hole filling.
+    USER_FILL_HOLES = 0
+    USER_FILL_HOLES_QUALITY = 50 # Only for hole filling.
+    USER_VIEW_INIT = 0 # Only for hole filling.
     
-    # quick workaround
-    obList =  [ob for ob in [context.active_object] if ob and ob.type == 'MESH']
+    is_editmode = (context.active_object.mode == 'EDIT')
+    if is_editmode:
+        obList =  [ob for ob in [context.active_object] if ob and ob.type == 'MESH']
+    else:
+        obList =  [ob for ob in context.selected_editable_objects if ob and ob.type == 'MESH']
+        USER_ONLY_SELECTED_FACES = False
 
     if not obList:
         raise('error, no selected mesh objects')
 
-    # Create the variables.
-    USER_PROJECTION_LIMIT = projection_limit
-    USER_ONLY_SELECTED_FACES = (1)
-    USER_SHARE_SPACE = (1) # Only for hole filling.
-    USER_STRETCH_ASPECT = (1) # Only for hole filling.
-    USER_ISLAND_MARGIN = island_margin # Only for hole filling.
-    USER_FILL_HOLES = (0)
-    USER_FILL_HOLES_QUALITY = (50) # Only for hole filling.
-    USER_VIEW_INIT = (0) # Only for hole filling.
-
     # Reuse variable
     if len(obList) == 1:
         ob = "Unwrap %i Selected Mesh"
@@ -905,8 +893,8 @@ def main(context,
 
         if USER_ONLY_SELECTED_FACES:
             meshFaces = [thickface(f, uv_layer[i], me_verts) for i, f in enumerate(me.faces) if f.select]
-        #else:
-        #	meshFaces = map(thickface, me.faces)
+        else:
+        	meshFaces = [thickface(f, uv_layer[i], me_verts) for i, f in enumerate(me.faces)]
 
         if not meshFaces:
             continue
@@ -921,7 +909,7 @@ def main(context,
         # meshFaces = []
 
         # meshFaces.sort( lambda a, b: cmp(b.area , a.area) ) # Biggest first.
-        meshFaces.sort( key = lambda a: -a.area )
+        meshFaces.sort(key=lambda a: -a.area)
 
         # remove all zero area faces
         while meshFaces and meshFaces[-1].area <= SMALL_NUM:
@@ -1116,7 +1104,7 @@ def main(context,
 from bpy.props import FloatProperty
 
 
-class SmartProject(bpy.types.Operator):
+class SmartProject(Operator):
     '''This script projection unwraps the selected faces of a mesh. it operates on all selected mesh objects, and can be used unwrap selected faces, or all faces.'''
     bl_idname = "uv.smart_project"
     bl_label = "Smart UV Project"
diff --git a/release/scripts/startup/bl_operators/vertexpaint_dirt.py b/release/scripts/startup/bl_operators/vertexpaint_dirt.py
index 672db71e361..facde82f812 100644
--- a/release/scripts/startup/bl_operators/vertexpaint_dirt.py
+++ b/release/scripts/startup/bl_operators/vertexpaint_dirt.py
@@ -142,10 +142,11 @@ def applyVertexDirt(me, blur_iterations, blur_strength, clamp_dirt, clamp_clean,
 
 
 import bpy
+from bpy.types import Operator
 from bpy.props import FloatProperty, IntProperty, BoolProperty
 
 
-class VertexPaintDirt(bpy.types.Operator):
+class VertexPaintDirt(Operator):
     bl_idname = "paint.vertex_color_dirt"
     bl_label = "Dirty Vertex Colors"
     bl_options = {'REGISTER', 'UNDO'}
diff --git a/release/scripts/startup/bl_operators/wm.py b/release/scripts/startup/bl_operators/wm.py
index af33e45668c..fe75c54e60e 100644
--- a/release/scripts/startup/bl_operators/wm.py
+++ b/release/scripts/startup/bl_operators/wm.py
@@ -19,13 +19,14 @@
 # <pep8 compliant>
 
 import bpy
+from bpy.types import Menu, Operator
 from bpy.props import StringProperty, BoolProperty, IntProperty, \
                       FloatProperty, EnumProperty
 
 from rna_prop_ui import rna_idprop_ui_prop_get, rna_idprop_ui_prop_clear
 
 
-class MESH_OT_delete_edgeloop(bpy.types.Operator):
+class MESH_OT_delete_edgeloop(Operator):
     '''Delete an edge loop by merging the faces on each side to a single face loop'''
     bl_idname = "mesh.delete_edgeloop"
     bl_label = "Delete Edge Loop"
@@ -76,7 +77,7 @@ def execute_context_assign(self, context):
     return {'FINISHED'}
 
 
-class BRUSH_OT_active_index_set(bpy.types.Operator):
+class BRUSH_OT_active_index_set(Operator):
     '''Set active sculpt/paint brush from it's number'''
     bl_idname = "brush.active_index_set"
     bl_label = "Set Brush Number"
@@ -104,7 +105,7 @@ class BRUSH_OT_active_index_set(bpy.types.Operator):
         return {'CANCELLED'}
 
 
-class WM_OT_context_set_boolean(bpy.types.Operator):
+class WM_OT_context_set_boolean(Operator):
     '''Set a context value.'''
     bl_idname = "wm.context_set_boolean"
     bl_label = "Context Set Boolean"
@@ -117,7 +118,7 @@ class WM_OT_context_set_boolean(bpy.types.Operator):
     execute = execute_context_assign
 
 
-class WM_OT_context_set_int(bpy.types.Operator):  # same as enum
+class WM_OT_context_set_int(Operator):  # same as enum
     '''Set a context value.'''
     bl_idname = "wm.context_set_int"
     bl_label = "Context Set"
@@ -130,7 +131,7 @@ class WM_OT_context_set_int(bpy.types.Operator):  # same as enum
     execute = execute_context_assign
 
 
-class WM_OT_context_scale_int(bpy.types.Operator):
+class WM_OT_context_scale_int(Operator):
     '''Scale an int context value.'''
     bl_idname = "wm.context_scale_int"
     bl_label = "Context Set"
@@ -166,7 +167,7 @@ class WM_OT_context_scale_int(bpy.types.Operator):
         return {'FINISHED'}
 
 
-class WM_OT_context_set_float(bpy.types.Operator):  # same as enum
+class WM_OT_context_set_float(Operator):  # same as enum
     '''Set a context value.'''
     bl_idname = "wm.context_set_float"
     bl_label = "Context Set Float"
@@ -180,7 +181,7 @@ class WM_OT_context_set_float(bpy.types.Operator):  # same as enum
     execute = execute_context_assign
 
 
-class WM_OT_context_set_string(bpy.types.Operator):  # same as enum
+class WM_OT_context_set_string(Operator):  # same as enum
     '''Set a context value.'''
     bl_idname = "wm.context_set_string"
     bl_label = "Context Set String"
@@ -193,7 +194,7 @@ class WM_OT_context_set_string(bpy.types.Operator):  # same as enum
     execute = execute_context_assign
 
 
-class WM_OT_context_set_enum(bpy.types.Operator):
+class WM_OT_context_set_enum(Operator):
     '''Set a context value.'''
     bl_idname = "wm.context_set_enum"
     bl_label = "Context Set Enum"
@@ -207,7 +208,7 @@ class WM_OT_context_set_enum(bpy.types.Operator):
     execute = execute_context_assign
 
 
-class WM_OT_context_set_value(bpy.types.Operator):
+class WM_OT_context_set_value(Operator):
     '''Set a context value.'''
     bl_idname = "wm.context_set_value"
     bl_label = "Context Set Value"
@@ -225,7 +226,7 @@ class WM_OT_context_set_value(bpy.types.Operator):
         return {'FINISHED'}
 
 
-class WM_OT_context_toggle(bpy.types.Operator):
+class WM_OT_context_toggle(Operator):
     '''Toggle a context value.'''
     bl_idname = "wm.context_toggle"
     bl_label = "Context Toggle"
@@ -244,7 +245,7 @@ class WM_OT_context_toggle(bpy.types.Operator):
         return {'FINISHED'}
 
 
-class WM_OT_context_toggle_enum(bpy.types.Operator):
+class WM_OT_context_toggle_enum(Operator):
     '''Toggle a context value.'''
     bl_idname = "wm.context_toggle_enum"
     bl_label = "Context Toggle Values"
@@ -270,7 +271,7 @@ class WM_OT_context_toggle_enum(bpy.types.Operator):
         return {'FINISHED'}
 
 
-class WM_OT_context_cycle_int(bpy.types.Operator):
+class WM_OT_context_cycle_int(Operator):
     '''Set a context value. Useful for cycling active material, '''
     '''vertex keys, groups' etc.'''
     bl_idname = "wm.context_cycle_int"
@@ -305,7 +306,7 @@ class WM_OT_context_cycle_int(bpy.types.Operator):
         return {'FINISHED'}
 
 
-class WM_OT_context_cycle_enum(bpy.types.Operator):
+class WM_OT_context_cycle_enum(Operator):
     '''Toggle a context value.'''
     bl_idname = "wm.context_cycle_enum"
     bl_label = "Context Enum Cycle"
@@ -357,7 +358,7 @@ class WM_OT_context_cycle_enum(bpy.types.Operator):
         return {'FINISHED'}
 
 
-class WM_OT_context_cycle_array(bpy.types.Operator):
+class WM_OT_context_cycle_array(Operator):
     '''Set a context array value.
     Useful for cycling the active mesh edit mode.'''
     bl_idname = "wm.context_cycle_array"
@@ -385,7 +386,7 @@ class WM_OT_context_cycle_array(bpy.types.Operator):
         return {'FINISHED'}
 
 
-class WM_MT_context_menu_enum(bpy.types.Menu):
+class WM_MT_context_menu_enum(Menu):
     bl_label = ""
     data_path = ""  # BAD DESIGN, set from operator below.
 
@@ -405,7 +406,7 @@ class WM_MT_context_menu_enum(bpy.types.Menu):
             prop.value = identifier
 
 
-class WM_OT_context_menu_enum(bpy.types.Operator):
+class WM_OT_context_menu_enum(Operator):
     bl_idname = "wm.context_menu_enum"
     bl_label = "Context Enum Menu"
     bl_options = {'UNDO', 'INTERNAL'}
@@ -418,7 +419,7 @@ class WM_OT_context_menu_enum(bpy.types.Operator):
         return {'PASS_THROUGH'}
 
 
-class WM_OT_context_set_id(bpy.types.Operator):
+class WM_OT_context_set_id(Operator):
     '''Toggle a context value.'''
     bl_idname = "wm.context_set_id"
     bl_label = "Set Library ID"
@@ -466,7 +467,7 @@ data_path_item = StringProperty(
         description="The data path from each iterable to the value (int or float)")
 
 
-class WM_OT_context_collection_boolean_set(bpy.types.Operator):
+class WM_OT_context_collection_boolean_set(Operator):
     '''Set boolean values for a collection of items'''
     bl_idname = "wm.context_collection_boolean_set"
     bl_label = "Context Collection Boolean Set"
@@ -520,7 +521,7 @@ class WM_OT_context_collection_boolean_set(bpy.types.Operator):
         return {'FINISHED'}
 
 
-class WM_OT_context_modal_mouse(bpy.types.Operator):
+class WM_OT_context_modal_mouse(Operator):
     '''Adjust arbitrary values with mouse input'''
     bl_idname = "wm.context_modal_mouse"
     bl_label = "Context Modal Mouse"
@@ -586,7 +587,7 @@ class WM_OT_context_modal_mouse(bpy.types.Operator):
             self._values_clear()
             return {'FINISHED'}
 
-        elif event_type in ('RIGHTMOUSE', 'ESC'):
+        elif event_type in {'RIGHTMOUSE', 'ESC'}:
             self._values_restore()
             return {'FINISHED'}
 
@@ -607,7 +608,7 @@ class WM_OT_context_modal_mouse(bpy.types.Operator):
             return {'RUNNING_MODAL'}
 
 
-class WM_OT_url_open(bpy.types.Operator):
+class WM_OT_url_open(Operator):
     "Open a website in the Webbrowser"
     bl_idname = "wm.url_open"
     bl_label = ""
@@ -621,7 +622,7 @@ class WM_OT_url_open(bpy.types.Operator):
         return {'FINISHED'}
 
 
-class WM_OT_path_open(bpy.types.Operator):
+class WM_OT_path_open(Operator):
     "Open a path in a file browser"
     bl_idname = "wm.path_open"
     bl_label = ""
@@ -654,7 +655,7 @@ class WM_OT_path_open(bpy.types.Operator):
         return {'FINISHED'}
 
 
-class WM_OT_doc_view(bpy.types.Operator):
+class WM_OT_doc_view(Operator):
     '''Load online reference docs'''
     bl_idname = "wm.doc_view"
     bl_label = "View Documentation"
@@ -708,7 +709,7 @@ class WM_OT_doc_view(bpy.types.Operator):
         return {'FINISHED'}
 
 
-class WM_OT_doc_edit(bpy.types.Operator):
+class WM_OT_doc_edit(Operator):
     '''Load online reference docs'''
     bl_idname = "wm.doc_edit"
     bl_label = "Edit Documentation"
@@ -792,7 +793,7 @@ rna_min = FloatProperty(name="Min", default=0.0, precision=3)
 rna_max = FloatProperty(name="Max", default=1.0, precision=3)
 
 
-class WM_OT_properties_edit(bpy.types.Operator):
+class WM_OT_properties_edit(Operator):
     '''Internal use (edit a property data_path)'''
     bl_idname = "wm.properties_edit"
     bl_label = "Edit Property"
@@ -839,7 +840,7 @@ class WM_OT_properties_edit(bpy.types.Operator):
 
         prop_ui = rna_idprop_ui_prop_get(item, prop)
 
-        if prop_type in (float, int):
+        if prop_type in {float, int}:
 
             prop_ui['soft_min'] = prop_ui['min'] = prop_type(self.min)
             prop_ui['soft_max'] = prop_ui['max'] = prop_type(self.max)
@@ -876,7 +877,7 @@ class WM_OT_properties_edit(bpy.types.Operator):
         return wm.invoke_props_dialog(self)
 
 
-class WM_OT_properties_add(bpy.types.Operator):
+class WM_OT_properties_add(Operator):
     '''Internal use (edit a property data_path)'''
     bl_idname = "wm.properties_add"
     bl_label = "Add Property"
@@ -902,7 +903,7 @@ class WM_OT_properties_add(bpy.types.Operator):
         return {'FINISHED'}
 
 
-class WM_OT_properties_context_change(bpy.types.Operator):
+class WM_OT_properties_context_change(Operator):
     "Change the context tab in a Properties Window"
     bl_idname = "wm.properties_context_change"
     bl_label = ""
@@ -914,7 +915,7 @@ class WM_OT_properties_context_change(bpy.types.Operator):
         return {'FINISHED'}
 
 
-class WM_OT_properties_remove(bpy.types.Operator):
+class WM_OT_properties_remove(Operator):
     '''Internal use (edit a property data_path)'''
     bl_idname = "wm.properties_remove"
     bl_label = "Remove Property"
@@ -928,7 +929,7 @@ class WM_OT_properties_remove(bpy.types.Operator):
         return {'FINISHED'}
 
 
-class WM_OT_keyconfig_activate(bpy.types.Operator):
+class WM_OT_keyconfig_activate(Operator):
     bl_idname = "wm.keyconfig_activate"
     bl_label = "Activate Keyconfig"
 
@@ -939,7 +940,7 @@ class WM_OT_keyconfig_activate(bpy.types.Operator):
         return {'FINISHED'}
 
 
-class WM_OT_appconfig_default(bpy.types.Operator):
+class WM_OT_appconfig_default(Operator):
     bl_idname = "wm.appconfig_default"
     bl_label = "Default Application Configuration"
 
@@ -956,7 +957,7 @@ class WM_OT_appconfig_default(bpy.types.Operator):
         return {'FINISHED'}
 
 
-class WM_OT_appconfig_activate(bpy.types.Operator):
+class WM_OT_appconfig_activate(Operator):
     bl_idname = "wm.appconfig_activate"
     bl_label = "Activate Application Configuration"
 
@@ -974,7 +975,7 @@ class WM_OT_appconfig_activate(bpy.types.Operator):
         return {'FINISHED'}
 
 
-class WM_OT_sysinfo(bpy.types.Operator):
+class WM_OT_sysinfo(Operator):
     '''Generate System Info'''
     bl_idname = "wm.sysinfo"
     bl_label = "System Info"
@@ -985,7 +986,7 @@ class WM_OT_sysinfo(bpy.types.Operator):
         return {'FINISHED'}
 
 
-class WM_OT_copy_prev_settings(bpy.types.Operator):
+class WM_OT_copy_prev_settings(Operator):
     '''Copy settings from previous version'''
     bl_idname = "wm.copy_prev_settings"
     bl_label = "Copy Previous Settings"
diff --git a/release/scripts/startup/bl_ui/properties_data_armature.py b/release/scripts/startup/bl_ui/properties_data_armature.py
index f2a3bac2373..94c40d11141 100644
--- a/release/scripts/startup/bl_ui/properties_data_armature.py
+++ b/release/scripts/startup/bl_ui/properties_data_armature.py
@@ -18,6 +18,7 @@
 
 # <pep8 compliant>
 import bpy
+from bpy.types import Panel
 from rna_prop_ui import PropertyPanel
 
 
@@ -31,7 +32,7 @@ class ArmatureButtonsPanel():
         return context.armature
 
 
-class DATA_PT_context_arm(ArmatureButtonsPanel, bpy.types.Panel):
+class DATA_PT_context_arm(ArmatureButtonsPanel, Panel):
     bl_label = ""
     bl_options = {'HIDE_HEADER'}
 
@@ -48,7 +49,7 @@ class DATA_PT_context_arm(ArmatureButtonsPanel, bpy.types.Panel):
             layout.template_ID(space, "pin_id")
 
 
-class DATA_PT_skeleton(ArmatureButtonsPanel, bpy.types.Panel):
+class DATA_PT_skeleton(ArmatureButtonsPanel, Panel):
     bl_label = "Skeleton"
 
     def draw(self, context):
@@ -71,7 +72,7 @@ class DATA_PT_skeleton(ArmatureButtonsPanel, bpy.types.Panel):
         flow.prop(arm, "use_deform_preserve_volume", text="Quaternion")
 
 
-class DATA_PT_display(ArmatureButtonsPanel, bpy.types.Panel):
+class DATA_PT_display(ArmatureButtonsPanel, Panel):
     bl_label = "Display"
 
     def draw(self, context):
@@ -96,7 +97,7 @@ class DATA_PT_display(ArmatureButtonsPanel, bpy.types.Panel):
         col.prop(arm, "use_deform_delay", text="Delay Refresh")
 
 
-class DATA_PT_bone_groups(ArmatureButtonsPanel, bpy.types.Panel):
+class DATA_PT_bone_groups(ArmatureButtonsPanel, Panel):
     bl_label = "Bone Groups"
 
     @classmethod
@@ -147,7 +148,7 @@ class DATA_PT_bone_groups(ArmatureButtonsPanel, bpy.types.Panel):
         sub.operator("pose.group_deselect", text="Deselect")
 
 
-class DATA_PT_pose_library(ArmatureButtonsPanel, bpy.types.Panel):
+class DATA_PT_pose_library(ArmatureButtonsPanel, Panel):
     bl_label = "Pose Library"
     bl_options = {'DEFAULT_CLOSED'}
 
@@ -186,7 +187,7 @@ class DATA_PT_pose_library(ArmatureButtonsPanel, bpy.types.Panel):
 
 
 # TODO: this panel will soon be depreceated too
-class DATA_PT_ghost(ArmatureButtonsPanel, bpy.types.Panel):
+class DATA_PT_ghost(ArmatureButtonsPanel, Panel):
     bl_label = "Ghost"
 
     def draw(self, context):
@@ -213,7 +214,7 @@ class DATA_PT_ghost(ArmatureButtonsPanel, bpy.types.Panel):
         col.prop(arm, "show_only_ghost_selected", text="Selected Only")
 
 
-class DATA_PT_iksolver_itasc(ArmatureButtonsPanel, bpy.types.Panel):
+class DATA_PT_iksolver_itasc(ArmatureButtonsPanel, Panel):
     bl_label = "iTaSC parameters"
     bl_options = {'DEFAULT_CLOSED'}
 
@@ -266,7 +267,7 @@ from bl_ui.properties_animviz import (
     )
 
 
-class DATA_PT_motion_paths(MotionPathButtonsPanel, bpy.types.Panel):
+class DATA_PT_motion_paths(MotionPathButtonsPanel, Panel):
     #bl_label = "Bones Motion Paths"
     bl_context = "data"
 
@@ -289,7 +290,7 @@ class DATA_PT_motion_paths(MotionPathButtonsPanel, bpy.types.Panel):
         split.operator("pose.paths_clear", text="Clear Paths")
 
 
-class DATA_PT_onion_skinning(OnionSkinButtonsPanel):  # , bpy.types.Panel): # inherit from panel when ready
+class DATA_PT_onion_skinning(OnionSkinButtonsPanel):  # , Panel): # inherit from panel when ready
     #bl_label = "Bones Onion Skinning"
     bl_context = "data"
 
@@ -303,7 +304,7 @@ class DATA_PT_onion_skinning(OnionSkinButtonsPanel):  # , bpy.types.Panel): # in
         self.draw_settings(context, ob.pose.animation_visualisation, bones=True)
 
 
-class DATA_PT_custom_props_arm(ArmatureButtonsPanel, PropertyPanel, bpy.types.Panel):
+class DATA_PT_custom_props_arm(ArmatureButtonsPanel, PropertyPanel, Panel):
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
     _context_path = "object.data"
     _property_type = bpy.types.Armature
diff --git a/release/scripts/startup/bl_ui/properties_data_bone.py b/release/scripts/startup/bl_ui/properties_data_bone.py
index 9fc055e9343..b3eaf88d5bf 100644
--- a/release/scripts/startup/bl_ui/properties_data_bone.py
+++ b/release/scripts/startup/bl_ui/properties_data_bone.py
@@ -19,6 +19,7 @@
 # <pep8 compliant>
 
 import bpy
+from bpy.types import Panel
 from rna_prop_ui import PropertyPanel
 
 
@@ -32,7 +33,7 @@ class BoneButtonsPanel():
         return (context.bone or context.edit_bone)
 
 
-class BONE_PT_context_bone(BoneButtonsPanel, bpy.types.Panel):
+class BONE_PT_context_bone(BoneButtonsPanel, Panel):
     bl_label = ""
     bl_options = {'HIDE_HEADER'}
 
@@ -48,7 +49,7 @@ class BONE_PT_context_bone(BoneButtonsPanel, bpy.types.Panel):
         row.prop(bone, "name", text="")
 
 
-class BONE_PT_transform(BoneButtonsPanel, bpy.types.Panel):
+class BONE_PT_transform(BoneButtonsPanel, Panel):
     bl_label = "Transform"
 
     @classmethod
@@ -102,7 +103,7 @@ class BONE_PT_transform(BoneButtonsPanel, bpy.types.Panel):
             sub.prop(bone, "lock")
 
 
-class BONE_PT_transform_locks(BoneButtonsPanel, bpy.types.Panel):
+class BONE_PT_transform_locks(BoneButtonsPanel, Panel):
     bl_label = "Transform Locks"
     bl_options = {'DEFAULT_CLOSED'}
 
@@ -135,7 +136,7 @@ class BONE_PT_transform_locks(BoneButtonsPanel, bpy.types.Panel):
         row.column().prop(pchan, "lock_scale")
 
 
-class BONE_PT_relations(BoneButtonsPanel, bpy.types.Panel):
+class BONE_PT_relations(BoneButtonsPanel, Panel):
     bl_label = "Relations"
 
     def draw(self, context):
@@ -180,7 +181,7 @@ class BONE_PT_relations(BoneButtonsPanel, bpy.types.Panel):
         sub.prop(bone, "use_local_location", text="Local Location")
 
 
-class BONE_PT_display(BoneButtonsPanel, bpy.types.Panel):
+class BONE_PT_display(BoneButtonsPanel, Panel):
     bl_label = "Display"
 
     @classmethod
@@ -217,7 +218,7 @@ class BONE_PT_display(BoneButtonsPanel, bpy.types.Panel):
                     col.prop_search(pchan, "custom_shape_transform", ob.pose, "bones", text="At")
 
 
-class BONE_PT_inverse_kinematics(BoneButtonsPanel, bpy.types.Panel):
+class BONE_PT_inverse_kinematics(BoneButtonsPanel, Panel):
     bl_label = "Inverse Kinematics"
     bl_options = {'DEFAULT_CLOSED'}
 
@@ -308,7 +309,7 @@ class BONE_PT_inverse_kinematics(BoneButtonsPanel, bpy.types.Panel):
             #row.prop(pchan, "ik_linear_weight", text="Weight", slider=True)
 
 
-class BONE_PT_deform(BoneButtonsPanel, bpy.types.Panel):
+class BONE_PT_deform(BoneButtonsPanel, Panel):
     bl_label = "Deform"
     bl_options = {'DEFAULT_CLOSED'}
 
@@ -357,7 +358,7 @@ class BONE_PT_deform(BoneButtonsPanel, bpy.types.Panel):
         col.prop(bone, "use_cyclic_offset")
 
 
-class BONE_PT_custom_props(BoneButtonsPanel, PropertyPanel, bpy.types.Panel):
+class BONE_PT_custom_props(BoneButtonsPanel, PropertyPanel, Panel):
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
     _property_type = bpy.types.Bone, bpy.types.EditBone, bpy.types.PoseBone
 
diff --git a/release/scripts/startup/bl_ui/properties_data_camera.py b/release/scripts/startup/bl_ui/properties_data_camera.py
index 80cd5227fca..f484d7b59e1 100644
--- a/release/scripts/startup/bl_ui/properties_data_camera.py
+++ b/release/scripts/startup/bl_ui/properties_data_camera.py
@@ -18,6 +18,7 @@
 
 # <pep8 compliant>
 import bpy
+from bpy.types import Panel
 from rna_prop_ui import PropertyPanel
 
 
@@ -32,7 +33,7 @@ class CameraButtonsPanel():
         return context.camera and (engine in cls.COMPAT_ENGINES)
 
 
-class DATA_PT_context_camera(CameraButtonsPanel, bpy.types.Panel):
+class DATA_PT_context_camera(CameraButtonsPanel, Panel):
     bl_label = ""
     bl_options = {'HIDE_HEADER'}
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -53,7 +54,7 @@ class DATA_PT_context_camera(CameraButtonsPanel, bpy.types.Panel):
             split.separator()
 
 
-class DATA_PT_camera(CameraButtonsPanel, bpy.types.Panel):
+class DATA_PT_camera(CameraButtonsPanel, Panel):
     bl_label = "Lens"
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
 
@@ -111,7 +112,7 @@ class DATA_PT_camera(CameraButtonsPanel, bpy.types.Panel):
         col.prop(cam, "dof_distance", text="Distance")
 
 
-class DATA_PT_camera_display(CameraButtonsPanel, bpy.types.Panel):
+class DATA_PT_camera_display(CameraButtonsPanel, Panel):
     bl_label = "Display"
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
 
@@ -138,7 +139,7 @@ class DATA_PT_camera_display(CameraButtonsPanel, bpy.types.Panel):
         sub.prop(cam, "passepartout_alpha", text="Alpha", slider=True)
 
 
-class DATA_PT_custom_props_camera(CameraButtonsPanel, PropertyPanel, bpy.types.Panel):
+class DATA_PT_custom_props_camera(CameraButtonsPanel, PropertyPanel, Panel):
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
     _context_path = "object.data"
     _property_type = bpy.types.Camera
diff --git a/release/scripts/startup/bl_ui/properties_data_curve.py b/release/scripts/startup/bl_ui/properties_data_curve.py
index 3c88127c724..6448b9a5229 100644
--- a/release/scripts/startup/bl_ui/properties_data_curve.py
+++ b/release/scripts/startup/bl_ui/properties_data_curve.py
@@ -18,6 +18,7 @@
 
 # <pep8 compliant>
 import bpy
+from bpy.types import Panel
 from rna_prop_ui import PropertyPanel
 
 
@@ -48,7 +49,7 @@ class CurveButtonsPanelActive(CurveButtonsPanel):
         return (curve and type(curve) is not bpy.types.TextCurve and curve.splines.active)
 
 
-class DATA_PT_context_curve(CurveButtonsPanel, bpy.types.Panel):
+class DATA_PT_context_curve(CurveButtonsPanel, Panel):
     bl_label = ""
     bl_options = {'HIDE_HEADER'}
 
@@ -65,7 +66,7 @@ class DATA_PT_context_curve(CurveButtonsPanel, bpy.types.Panel):
             layout.template_ID(space, "pin_id")  # XXX: broken
 
 
-class DATA_PT_shape_curve(CurveButtonsPanel, bpy.types.Panel):
+class DATA_PT_shape_curve(CurveButtonsPanel, Panel):
     bl_label = "Shape"
 
     def draw(self, context):
@@ -108,13 +109,13 @@ class DATA_PT_shape_curve(CurveButtonsPanel, bpy.types.Panel):
         if (is_curve or is_text):
             col.label(text="Fill:")
             sub = col.column()
-            sub.active = (curve.bevel_object is None)
+            sub.active = (curve.dimensions == '2D' or (curve.bevel_object is None and curve.dimensions == '3D'))
             sub.prop(curve, "use_fill_front")
             sub.prop(curve, "use_fill_back")
             col.prop(curve, "use_fill_deform", text="Fill Deformed")
 
 
-class DATA_PT_curve_texture_space(CurveButtonsPanel, bpy.types.Panel):
+class DATA_PT_curve_texture_space(CurveButtonsPanel, Panel):
     bl_label = "Texture Space"
     bl_options = {'DEFAULT_CLOSED'}
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -133,7 +134,7 @@ class DATA_PT_curve_texture_space(CurveButtonsPanel, bpy.types.Panel):
         row.column().prop(curve, "texspace_size", text="Size")
 
 
-class DATA_PT_geometry_curve(CurveButtonsPanel, bpy.types.Panel):
+class DATA_PT_geometry_curve(CurveButtonsPanel, Panel):
     bl_label = "Geometry"
 
     @classmethod
@@ -166,7 +167,7 @@ class DATA_PT_geometry_curve(CurveButtonsPanel, bpy.types.Panel):
         col.prop(curve, "bevel_object", text="")
 
 
-class DATA_PT_pathanim(CurveButtonsPanelCurve, bpy.types.Panel):
+class DATA_PT_pathanim(CurveButtonsPanelCurve, Panel):
     bl_label = "Path Animation"
 
     def draw_header(self, context):
@@ -197,7 +198,7 @@ class DATA_PT_pathanim(CurveButtonsPanelCurve, bpy.types.Panel):
         col.prop(curve, "use_time_offset", text="Offset Children")
 
 
-class DATA_PT_active_spline(CurveButtonsPanelActive, bpy.types.Panel):
+class DATA_PT_active_spline(CurveButtonsPanelActive, Panel):
     bl_label = "Active Spline"
 
     def draw(self, context):
@@ -268,7 +269,7 @@ class DATA_PT_active_spline(CurveButtonsPanelActive, bpy.types.Panel):
             layout.prop(act_spline, "use_smooth")
 
 
-class DATA_PT_font(CurveButtonsPanel, bpy.types.Panel):
+class DATA_PT_font(CurveButtonsPanel, Panel):
     bl_label = "Font"
 
     @classmethod
@@ -332,7 +333,7 @@ class DATA_PT_font(CurveButtonsPanel, bpy.types.Panel):
         row.prop(char, "use_small_caps")
 
 
-class DATA_PT_paragraph(CurveButtonsPanel, bpy.types.Panel):
+class DATA_PT_paragraph(CurveButtonsPanel, Panel):
     bl_label = "Paragraph"
 
     @classmethod
@@ -361,7 +362,7 @@ class DATA_PT_paragraph(CurveButtonsPanel, bpy.types.Panel):
         col.prop(text, "offset_y", text="Y")
 
 
-class DATA_PT_textboxes(CurveButtonsPanel, bpy.types.Panel):
+class DATA_PT_text_boxes(CurveButtonsPanel, Panel):
     bl_label = "Text Boxes"
 
     @classmethod
@@ -401,7 +402,7 @@ class DATA_PT_textboxes(CurveButtonsPanel, bpy.types.Panel):
             row.operator("font.textbox_remove", text='', icon='X', emboss=False).index = i
 
 
-class DATA_PT_custom_props_curve(CurveButtonsPanel, PropertyPanel, bpy.types.Panel):
+class DATA_PT_custom_props_curve(CurveButtonsPanel, PropertyPanel, Panel):
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
     _context_path = "object.data"
     _property_type = bpy.types.Curve
diff --git a/release/scripts/startup/bl_ui/properties_data_empty.py b/release/scripts/startup/bl_ui/properties_data_empty.py
index 42b0af7eaf5..c781873e16c 100644
--- a/release/scripts/startup/bl_ui/properties_data_empty.py
+++ b/release/scripts/startup/bl_ui/properties_data_empty.py
@@ -18,6 +18,7 @@
 
 # <pep8 compliant>
 import bpy
+from bpy.types import Panel
 
 
 class DataButtonsPanel():
@@ -30,7 +31,7 @@ class DataButtonsPanel():
         return (context.object and context.object.type == 'EMPTY')
 
 
-class DATA_PT_empty(DataButtonsPanel, bpy.types.Panel):
+class DATA_PT_empty(DataButtonsPanel, Panel):
     bl_label = "Empty"
 
     def draw(self, context):
diff --git a/release/scripts/startup/bl_ui/properties_data_lamp.py b/release/scripts/startup/bl_ui/properties_data_lamp.py
index 36010c8b511..4ff180f74fb 100644
--- a/release/scripts/startup/bl_ui/properties_data_lamp.py
+++ b/release/scripts/startup/bl_ui/properties_data_lamp.py
@@ -18,15 +18,16 @@
 
 # <pep8 compliant>
 import bpy
+from bpy.types import Menu, Panel
 from rna_prop_ui import PropertyPanel
 
 
-class LAMP_MT_sunsky_presets(bpy.types.Menu):
+class LAMP_MT_sunsky_presets(Menu):
     bl_label = "Sun & Sky Presets"
     preset_subdir = "sunsky"
     preset_operator = "script.execute_preset"
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
-    draw = bpy.types.Menu.draw_preset
+    draw = Menu.draw_preset
 
 
 class DataButtonsPanel():
@@ -40,7 +41,7 @@ class DataButtonsPanel():
         return context.lamp and (engine in cls.COMPAT_ENGINES)
 
 
-class DATA_PT_context_lamp(DataButtonsPanel, bpy.types.Panel):
+class DATA_PT_context_lamp(DataButtonsPanel, Panel):
     bl_label = ""
     bl_options = {'HIDE_HEADER'}
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -65,7 +66,7 @@ class DATA_PT_context_lamp(DataButtonsPanel, bpy.types.Panel):
             split.label(text=str(texture_count), icon='TEXTURE')
 
 
-class DATA_PT_preview(DataButtonsPanel, bpy.types.Panel):
+class DATA_PT_preview(DataButtonsPanel, Panel):
     bl_label = "Preview"
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
 
@@ -73,7 +74,7 @@ class DATA_PT_preview(DataButtonsPanel, bpy.types.Panel):
         self.layout.template_preview(context.lamp)
 
 
-class DATA_PT_lamp(DataButtonsPanel, bpy.types.Panel):
+class DATA_PT_lamp(DataButtonsPanel, Panel):
     bl_label = "Lamp"
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
 
@@ -115,7 +116,7 @@ class DATA_PT_lamp(DataButtonsPanel, bpy.types.Panel):
         col.prop(lamp, "use_diffuse")
 
 
-class DATA_PT_sunsky(DataButtonsPanel, bpy.types.Panel):
+class DATA_PT_sunsky(DataButtonsPanel, Panel):
     bl_label = "Sky & Atmosphere"
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
 
@@ -187,7 +188,7 @@ class DATA_PT_sunsky(DataButtonsPanel, bpy.types.Panel):
         sub.prop(lamp, "atmosphere_extinction", slider=True, text="Extinction")
 
 
-class DATA_PT_shadow(DataButtonsPanel, bpy.types.Panel):
+class DATA_PT_shadow(DataButtonsPanel, Panel):
     bl_label = "Shadow"
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
 
@@ -302,7 +303,7 @@ class DATA_PT_shadow(DataButtonsPanel, bpy.types.Panel):
             sub.prop(lamp, "shadow_buffer_clip_end", text=" Clip End")
 
 
-class DATA_PT_area(DataButtonsPanel, bpy.types.Panel):
+class DATA_PT_area(DataButtonsPanel, Panel):
     bl_label = "Area Shape"
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
 
@@ -328,7 +329,7 @@ class DATA_PT_area(DataButtonsPanel, bpy.types.Panel):
             sub.prop(lamp, "size_y", text="Size Y")
 
 
-class DATA_PT_spot(DataButtonsPanel, bpy.types.Panel):
+class DATA_PT_spot(DataButtonsPanel, Panel):
     bl_label = "Spot Shape"
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
 
@@ -362,7 +363,7 @@ class DATA_PT_spot(DataButtonsPanel, bpy.types.Panel):
             sub.prop(lamp, "halo_step", text="Step")
 
 
-class DATA_PT_falloff_curve(DataButtonsPanel, bpy.types.Panel):
+class DATA_PT_falloff_curve(DataButtonsPanel, Panel):
     bl_label = "Falloff Curve"
     bl_options = {'DEFAULT_CLOSED'}
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -380,7 +381,7 @@ class DATA_PT_falloff_curve(DataButtonsPanel, bpy.types.Panel):
         self.layout.template_curve_mapping(lamp, "falloff_curve")
 
 
-class DATA_PT_custom_props_lamp(DataButtonsPanel, PropertyPanel, bpy.types.Panel):
+class DATA_PT_custom_props_lamp(DataButtonsPanel, PropertyPanel, Panel):
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
     _context_path = "object.data"
     _property_type = bpy.types.Lamp
diff --git a/release/scripts/startup/bl_ui/properties_data_lattice.py b/release/scripts/startup/bl_ui/properties_data_lattice.py
index cd719b6fe84..14d6ea66894 100644
--- a/release/scripts/startup/bl_ui/properties_data_lattice.py
+++ b/release/scripts/startup/bl_ui/properties_data_lattice.py
@@ -18,6 +18,7 @@
 
 # <pep8 compliant>
 import bpy
+from bpy.types import Panel
 from rna_prop_ui import PropertyPanel
 
 
@@ -31,7 +32,7 @@ class DataButtonsPanel():
         return context.lattice
 
 
-class DATA_PT_context_lattice(DataButtonsPanel, bpy.types.Panel):
+class DATA_PT_context_lattice(DataButtonsPanel, Panel):
     bl_label = ""
     bl_options = {'HIDE_HEADER'}
 
@@ -51,7 +52,7 @@ class DATA_PT_context_lattice(DataButtonsPanel, bpy.types.Panel):
             split.separator()
 
 
-class DATA_PT_lattice(DataButtonsPanel, bpy.types.Panel):
+class DATA_PT_lattice(DataButtonsPanel, Panel):
     bl_label = "Lattice"
 
     def draw(self, context):
@@ -76,7 +77,7 @@ class DATA_PT_lattice(DataButtonsPanel, bpy.types.Panel):
         row.prop_search(lat, "vertex_group", context.object, "vertex_groups", text="")
 
 
-class DATA_PT_custom_props_lattice(DataButtonsPanel, PropertyPanel, bpy.types.Panel):
+class DATA_PT_custom_props_lattice(DataButtonsPanel, PropertyPanel, Panel):
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
     _context_path = "object.data"
     _property_type = bpy.types.Lattice
diff --git a/release/scripts/startup/bl_ui/properties_data_mesh.py b/release/scripts/startup/bl_ui/properties_data_mesh.py
index 618a88f0879..896b76c59f6 100644
--- a/release/scripts/startup/bl_ui/properties_data_mesh.py
+++ b/release/scripts/startup/bl_ui/properties_data_mesh.py
@@ -18,10 +18,11 @@
 
 # <pep8 compliant>
 import bpy
+from bpy.types import Menu, Panel
 from rna_prop_ui import PropertyPanel
 
 
-class MESH_MT_vertex_group_specials(bpy.types.Menu):
+class MESH_MT_vertex_group_specials(Menu):
     bl_label = "Vertex Group Specials"
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
 
@@ -36,7 +37,7 @@ class MESH_MT_vertex_group_specials(bpy.types.Menu):
         layout.operator("object.vertex_group_remove", icon='X', text="Delete All").all = True
 
 
-class MESH_MT_shape_key_specials(bpy.types.Menu):
+class MESH_MT_shape_key_specials(Menu):
     bl_label = "Shape Key Specials"
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
 
@@ -61,7 +62,7 @@ class MeshButtonsPanel():
         return context.mesh and (engine in cls.COMPAT_ENGINES)
 
 
-class DATA_PT_context_mesh(MeshButtonsPanel, bpy.types.Panel):
+class DATA_PT_context_mesh(MeshButtonsPanel, Panel):
     bl_label = ""
     bl_options = {'HIDE_HEADER'}
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -72,14 +73,14 @@ class DATA_PT_context_mesh(MeshButtonsPanel, bpy.types.Panel):
         ob = context.object
         mesh = context.mesh
         space = context.space_data
-
+        layout.prop(context.scene.tool_settings, "mesh_select_mode", index=0, text="Vertex")
         if ob:
             layout.template_ID(ob, "data")
         elif mesh:
             layout.template_ID(space, "pin_id")
 
 
-class DATA_PT_normals(MeshButtonsPanel, bpy.types.Panel):
+class DATA_PT_normals(MeshButtonsPanel, Panel):
     bl_label = "Normals"
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
 
@@ -99,7 +100,7 @@ class DATA_PT_normals(MeshButtonsPanel, bpy.types.Panel):
         split.prop(mesh, "show_double_sided")
 
 
-class DATA_PT_texture_space(MeshButtonsPanel, bpy.types.Panel):
+class DATA_PT_texture_space(MeshButtonsPanel, Panel):
     bl_label = "Texture Space"
     bl_options = {'DEFAULT_CLOSED'}
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -119,7 +120,7 @@ class DATA_PT_texture_space(MeshButtonsPanel, bpy.types.Panel):
         row.column().prop(mesh, "texspace_size", text="Size")
 
 
-class DATA_PT_vertex_groups(MeshButtonsPanel, bpy.types.Panel):
+class DATA_PT_vertex_groups(MeshButtonsPanel, Panel):
     bl_label = "Vertex Groups"
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
 
@@ -168,7 +169,7 @@ class DATA_PT_vertex_groups(MeshButtonsPanel, bpy.types.Panel):
             layout.prop(context.tool_settings, "vertex_group_weight", text="Weight")
 
 
-class DATA_PT_shape_keys(MeshButtonsPanel, bpy.types.Panel):
+class DATA_PT_shape_keys(MeshButtonsPanel, Panel):
     bl_label = "Shape Keys"
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
 
@@ -261,7 +262,7 @@ class DATA_PT_shape_keys(MeshButtonsPanel, bpy.types.Panel):
                 row.prop(key, "slurph")
 
 
-class DATA_PT_uv_texture(MeshButtonsPanel, bpy.types.Panel):
+class DATA_PT_uv_texture(MeshButtonsPanel, Panel):
     bl_label = "UV Texture"
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
 
@@ -284,7 +285,7 @@ class DATA_PT_uv_texture(MeshButtonsPanel, bpy.types.Panel):
             layout.prop(lay, "name")
 
 
-class DATA_PT_texface(MeshButtonsPanel, bpy.types.Panel):
+class DATA_PT_texface(MeshButtonsPanel, Panel):
     bl_label = "Texture Face"
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
 
@@ -331,7 +332,7 @@ class DATA_PT_texface(MeshButtonsPanel, bpy.types.Panel):
             col.label(text="No UV Texture")
 
 
-class DATA_PT_vertex_colors(MeshButtonsPanel, bpy.types.Panel):
+class DATA_PT_vertex_colors(MeshButtonsPanel, Panel):
     bl_label = "Vertex Colors"
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
 
@@ -354,7 +355,7 @@ class DATA_PT_vertex_colors(MeshButtonsPanel, bpy.types.Panel):
             layout.prop(lay, "name")
 
 
-class DATA_PT_custom_props_mesh(MeshButtonsPanel, PropertyPanel, bpy.types.Panel):
+class DATA_PT_custom_props_mesh(MeshButtonsPanel, PropertyPanel, Panel):
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
     _context_path = "object.data"
     _property_type = bpy.types.Mesh
diff --git a/release/scripts/startup/bl_ui/properties_data_metaball.py b/release/scripts/startup/bl_ui/properties_data_metaball.py
index 6dda99bc37f..cd894e60dbb 100644
--- a/release/scripts/startup/bl_ui/properties_data_metaball.py
+++ b/release/scripts/startup/bl_ui/properties_data_metaball.py
@@ -18,6 +18,7 @@
 
 # <pep8 compliant>
 import bpy
+from bpy.types import Panel
 from rna_prop_ui import PropertyPanel
 
 
@@ -31,7 +32,7 @@ class DataButtonsPanel():
         return context.meta_ball
 
 
-class DATA_PT_context_metaball(DataButtonsPanel, bpy.types.Panel):
+class DATA_PT_context_metaball(DataButtonsPanel, Panel):
     bl_label = ""
     bl_options = {'HIDE_HEADER'}
 
@@ -48,7 +49,7 @@ class DATA_PT_context_metaball(DataButtonsPanel, bpy.types.Panel):
             layout.template_ID(space, "pin_id")
 
 
-class DATA_PT_metaball(DataButtonsPanel, bpy.types.Panel):
+class DATA_PT_metaball(DataButtonsPanel, Panel):
     bl_label = "Metaball"
 
     def draw(self, context):
@@ -72,7 +73,7 @@ class DATA_PT_metaball(DataButtonsPanel, bpy.types.Panel):
         layout.prop(mball, "update_method", expand=True)
 
 
-class DATA_PT_mball_texture_space(DataButtonsPanel, bpy.types.Panel):
+class DATA_PT_mball_texture_space(DataButtonsPanel, Panel):
     bl_label = "Texture Space"
     bl_options = {'DEFAULT_CLOSED'}
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -89,7 +90,7 @@ class DATA_PT_mball_texture_space(DataButtonsPanel, bpy.types.Panel):
         row.column().prop(mball, "texspace_size", text="Size")
 
 
-class DATA_PT_metaball_element(DataButtonsPanel, bpy.types.Panel):
+class DATA_PT_metaball_element(DataButtonsPanel, Panel):
     bl_label = "Active Element"
 
     @classmethod
@@ -129,7 +130,7 @@ class DATA_PT_metaball_element(DataButtonsPanel, bpy.types.Panel):
             col.prop(metaelem, "size_y", text="Y")
 
 
-class DATA_PT_custom_props_metaball(DataButtonsPanel, PropertyPanel, bpy.types.Panel):
+class DATA_PT_custom_props_metaball(DataButtonsPanel, PropertyPanel, Panel):
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
     _context_path = "object.data"
     _property_type = bpy.types.MetaBall
diff --git a/release/scripts/startup/bl_ui/properties_data_modifier.py b/release/scripts/startup/bl_ui/properties_data_modifier.py
index a02e6bd6469..65827775ad1 100644
--- a/release/scripts/startup/bl_ui/properties_data_modifier.py
+++ b/release/scripts/startup/bl_ui/properties_data_modifier.py
@@ -18,6 +18,7 @@
 
 # <pep8 compliant>
 import bpy
+from bpy.types import Panel
 
 
 class ModifierButtonsPanel():
@@ -26,7 +27,7 @@ class ModifierButtonsPanel():
     bl_context = "modifier"
 
 
-class DATA_PT_modifiers(ModifierButtonsPanel, bpy.types.Panel):
+class DATA_PT_modifiers(ModifierButtonsPanel, Panel):
     bl_label = "Modifiers"
 
     def draw(self, context):
@@ -576,13 +577,13 @@ class DATA_PT_modifiers(ModifierButtonsPanel, bpy.types.Panel):
         sub = col.column()
         sub.active = bool(md.vertex_group)
         sub.prop(md, "invert_vertex_group", text="Invert")
+        sub.prop(md, "thickness_vertex_group", text="Factor")
 
         col.prop(md, "use_even_offset")
         col.prop(md, "use_quality_normals")
         col.prop(md, "use_rim")
 
         sub = col.column()
-        sub.label()
         row = sub.split(align=True, percentage=0.4)
         row.prop(md, "material_offset", text="")
         row = row.row()
diff --git a/release/scripts/startup/bl_ui/properties_game.py b/release/scripts/startup/bl_ui/properties_game.py
index 0c07451b3b2..f8be32e6c07 100644
--- a/release/scripts/startup/bl_ui/properties_game.py
+++ b/release/scripts/startup/bl_ui/properties_game.py
@@ -18,6 +18,7 @@
 
 # <pep8 compliant>
 import bpy
+from bpy.types import Panel
 
 
 class PhysicsButtonsPanel():
@@ -26,7 +27,7 @@ class PhysicsButtonsPanel():
     bl_context = "physics"
 
 
-class PHYSICS_PT_game_physics(PhysicsButtonsPanel, bpy.types.Panel):
+class PHYSICS_PT_game_physics(PhysicsButtonsPanel, Panel):
     bl_label = "Physics"
     COMPAT_ENGINES = {'BLENDER_GAME'}
 
@@ -167,7 +168,7 @@ class PHYSICS_PT_game_physics(PhysicsButtonsPanel, bpy.types.Panel):
             layout.prop(ob, "hide_render", text="Invisible")
 
 
-class PHYSICS_PT_game_collision_bounds(PhysicsButtonsPanel, bpy.types.Panel):
+class PHYSICS_PT_game_collision_bounds(PhysicsButtonsPanel, Panel):
     bl_label = "Collision Bounds"
     COMPAT_ENGINES = {'BLENDER_GAME'}
 
@@ -206,7 +207,7 @@ class RenderButtonsPanel():
         return (rd.engine in cls.COMPAT_ENGINES)
 
 
-class RENDER_PT_game(RenderButtonsPanel, bpy.types.Panel):
+class RENDER_PT_game(RenderButtonsPanel, Panel):
     bl_label = "Game"
     COMPAT_ENGINES = {'BLENDER_GAME'}
 
@@ -218,7 +219,7 @@ class RENDER_PT_game(RenderButtonsPanel, bpy.types.Panel):
         row.label()
 
 
-class RENDER_PT_game_player(RenderButtonsPanel, bpy.types.Panel):
+class RENDER_PT_game_player(RenderButtonsPanel, Panel):
     bl_label = "Standalone Player"
     COMPAT_ENGINES = {'BLENDER_GAME'}
 
@@ -251,7 +252,7 @@ class RENDER_PT_game_player(RenderButtonsPanel, bpy.types.Panel):
             col.prop(gs, "frame_color", text="")
 
 
-class RENDER_PT_game_stereo(RenderButtonsPanel, bpy.types.Panel):
+class RENDER_PT_game_stereo(RenderButtonsPanel, Panel):
     bl_label = "Stereo"
     COMPAT_ENGINES = {'BLENDER_GAME'}
 
@@ -305,7 +306,7 @@ class RENDER_PT_game_stereo(RenderButtonsPanel, bpy.types.Panel):
             layout.prop(gs, "dome_text")
 
 
-class RENDER_PT_game_shading(RenderButtonsPanel, bpy.types.Panel):
+class RENDER_PT_game_shading(RenderButtonsPanel, Panel):
     bl_label = "Shading"
     COMPAT_ENGINES = {'BLENDER_GAME'}
 
@@ -331,7 +332,7 @@ class RENDER_PT_game_shading(RenderButtonsPanel, bpy.types.Panel):
             col.prop(gs, "use_glsl_extra_textures", text="Extra Textures")
 
 
-class RENDER_PT_game_performance(RenderButtonsPanel, bpy.types.Panel):
+class RENDER_PT_game_performance(RenderButtonsPanel, Panel):
     bl_label = "Performance"
     COMPAT_ENGINES = {'BLENDER_GAME'}
 
@@ -344,7 +345,7 @@ class RENDER_PT_game_performance(RenderButtonsPanel, bpy.types.Panel):
         row.prop(gs, "use_display_lists")
 
 
-class RENDER_PT_game_display(RenderButtonsPanel, bpy.types.Panel):
+class RENDER_PT_game_display(RenderButtonsPanel, Panel):
     bl_label = "Display"
     COMPAT_ENGINES = {'BLENDER_GAME'}
 
@@ -360,7 +361,7 @@ class RENDER_PT_game_display(RenderButtonsPanel, bpy.types.Panel):
         flow.prop(gs, "show_mouse", text="Mouse Cursor")
 
 
-class RENDER_PT_game_sound(RenderButtonsPanel, bpy.types.Panel):
+class RENDER_PT_game_sound(RenderButtonsPanel, Panel):
     bl_label = "Sound"
     COMPAT_ENGINES = {'BLENDER_GAME'}
 
@@ -381,7 +382,7 @@ class WorldButtonsPanel():
     bl_context = "world"
 
 
-class WORLD_PT_game_context_world(WorldButtonsPanel, bpy.types.Panel):
+class WORLD_PT_game_context_world(WorldButtonsPanel, Panel):
     bl_label = ""
     bl_options = {'HIDE_HEADER'}
     COMPAT_ENGINES = {'BLENDER_GAME'}
@@ -405,7 +406,7 @@ class WORLD_PT_game_context_world(WorldButtonsPanel, bpy.types.Panel):
             split.template_ID(space, "pin_id")
 
 
-class WORLD_PT_game_world(WorldButtonsPanel, bpy.types.Panel):
+class WORLD_PT_game_world(WorldButtonsPanel, Panel):
     bl_label = "World"
     COMPAT_ENGINES = {'BLENDER_GAME'}
 
@@ -424,7 +425,7 @@ class WORLD_PT_game_world(WorldButtonsPanel, bpy.types.Panel):
         row.column().prop(world, "ambient_color")
 
 
-class WORLD_PT_game_mist(WorldButtonsPanel, bpy.types.Panel):
+class WORLD_PT_game_mist(WorldButtonsPanel, Panel):
     bl_label = "Mist"
     COMPAT_ENGINES = {'BLENDER_GAME'}
 
@@ -450,7 +451,7 @@ class WORLD_PT_game_mist(WorldButtonsPanel, bpy.types.Panel):
         row.prop(world.mist_settings, "depth")
 
 
-class WORLD_PT_game_physics(WorldButtonsPanel, bpy.types.Panel):
+class WORLD_PT_game_physics(WorldButtonsPanel, Panel):
     bl_label = "Physics"
     COMPAT_ENGINES = {'BLENDER_GAME'}
 
diff --git a/release/scripts/startup/bl_ui/properties_material.py b/release/scripts/startup/bl_ui/properties_material.py
index 296c05d78f5..13ce92f084c 100644
--- a/release/scripts/startup/bl_ui/properties_material.py
+++ b/release/scripts/startup/bl_ui/properties_material.py
@@ -18,6 +18,7 @@
 
 # <pep8 compliant>
 import bpy
+from bpy.types import Menu, Panel
 from rna_prop_ui import PropertyPanel
 
 
@@ -50,14 +51,14 @@ def simple_material(mat):
     return False
 
 
-class MATERIAL_MT_sss_presets(bpy.types.Menu):
+class MATERIAL_MT_sss_presets(Menu):
     bl_label = "SSS Presets"
     preset_subdir = "sss"
     preset_operator = "script.execute_preset"
-    draw = bpy.types.Menu.draw_preset
+    draw = Menu.draw_preset
 
 
-class MATERIAL_MT_specials(bpy.types.Menu):
+class MATERIAL_MT_specials(Menu):
     bl_label = "Material Specials"
 
     def draw(self, context):
@@ -79,7 +80,7 @@ class MaterialButtonsPanel():
         return context.material and (context.scene.render.engine in cls.COMPAT_ENGINES)
 
 
-class MATERIAL_PT_context_material(MaterialButtonsPanel, bpy.types.Panel):
+class MATERIAL_PT_context_material(MaterialButtonsPanel, Panel):
     bl_label = ""
     bl_options = {'HIDE_HEADER'}
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -144,7 +145,7 @@ class MATERIAL_PT_context_material(MaterialButtonsPanel, bpy.types.Panel):
                     row.label(text="No material node selected")
 
 
-class MATERIAL_PT_preview(MaterialButtonsPanel, bpy.types.Panel):
+class MATERIAL_PT_preview(MaterialButtonsPanel, Panel):
     bl_label = "Preview"
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
 
@@ -152,7 +153,7 @@ class MATERIAL_PT_preview(MaterialButtonsPanel, bpy.types.Panel):
         self.layout.template_preview(context.material)
 
 
-class MATERIAL_PT_pipeline(MaterialButtonsPanel, bpy.types.Panel):
+class MATERIAL_PT_pipeline(MaterialButtonsPanel, Panel):
     bl_label = "Render Pipeline Options"
     bl_options = {'DEFAULT_CLOSED'}
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -203,7 +204,7 @@ class MATERIAL_PT_pipeline(MaterialButtonsPanel, bpy.types.Panel):
         col.prop(mat, "pass_index")
 
 
-class MATERIAL_PT_diffuse(MaterialButtonsPanel, bpy.types.Panel):
+class MATERIAL_PT_diffuse(MaterialButtonsPanel, Panel):
     bl_label = "Diffuse"
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
 
@@ -260,7 +261,7 @@ class MATERIAL_PT_diffuse(MaterialButtonsPanel, bpy.types.Panel):
             col.prop(mat, "diffuse_ramp_factor", text="Factor")
 
 
-class MATERIAL_PT_specular(MaterialButtonsPanel, bpy.types.Panel):
+class MATERIAL_PT_specular(MaterialButtonsPanel, Panel):
     bl_label = "Specular"
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
 
@@ -313,7 +314,7 @@ class MATERIAL_PT_specular(MaterialButtonsPanel, bpy.types.Panel):
             layout.prop(mat, "specular_ramp_factor", text="Factor")
 
 
-class MATERIAL_PT_shading(MaterialButtonsPanel, bpy.types.Panel):
+class MATERIAL_PT_shading(MaterialButtonsPanel, Panel):
     bl_label = "Shading"
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
 
@@ -347,7 +348,7 @@ class MATERIAL_PT_shading(MaterialButtonsPanel, bpy.types.Panel):
             sub.prop(mat, "use_cubic")
 
 
-class MATERIAL_PT_transp(MaterialButtonsPanel, bpy.types.Panel):
+class MATERIAL_PT_transp(MaterialButtonsPanel, Panel):
     bl_label = "Transparency"
     # bl_options = {'DEFAULT_CLOSED'}
     COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -413,7 +414,7 @@ class MATERIAL_PT_transp(MaterialButtonsPanel, bpy.types.Panel):
             sub.prop(rayt, "gloss_samples", text="Samples")
 
 
-class MATERIAL_PT_mirror(MaterialButtonsPanel, bpy.types.Panel):
+class MATERIAL_PT_mirror(MaterialButtonsPanel, Panel):
     bl_label = "Mirror"
     bl_options = {'DEFAULT_CLOSED'}
     COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -471,7 +472,7 @@ class MATERIAL_PT_mirror(MaterialButtonsPanel, bpy.types.Panel):
         sub.prop(raym, "gloss_anisotropic", text="Anisotropic")
 
 
-class MATERIAL_PT_sss(MaterialButtonsPanel, bpy.types.Panel):
+class MATERIAL_PT_sss(MaterialButtonsPanel, Panel):
     bl_label = "Subsurface Scattering"
     bl_options = {'DEFAULT_CLOSED'}
     COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -523,7 +524,7 @@ class MATERIAL_PT_sss(MaterialButtonsPanel, bpy.types.Panel):
         col.prop(sss, "error_threshold", text="Error")
 
 
-class MATERIAL_PT_halo(MaterialButtonsPanel, bpy.types.Panel):
+class MATERIAL_PT_halo(MaterialButtonsPanel, Panel):
     bl_label = "Halo"
     COMPAT_ENGINES = {'BLENDER_RENDER'}
 
@@ -576,7 +577,7 @@ class MATERIAL_PT_halo(MaterialButtonsPanel, bpy.types.Panel):
         number_but(col, "use_star", "star_tip_count", "Star tips", "")
 
 
-class MATERIAL_PT_flare(MaterialButtonsPanel, bpy.types.Panel):
+class MATERIAL_PT_flare(MaterialButtonsPanel, Panel):
     bl_label = "Flare"
     COMPAT_ENGINES = {'BLENDER_RENDER'}
 
@@ -611,7 +612,7 @@ class MATERIAL_PT_flare(MaterialButtonsPanel, bpy.types.Panel):
         col.prop(halo, "flare_subflare_size", text="Subsize")
 
 
-class MATERIAL_PT_physics(MaterialButtonsPanel, bpy.types.Panel):
+class MATERIAL_PT_physics(MaterialButtonsPanel, Panel):
     bl_label = "Physics"
     COMPAT_ENGINES = {'BLENDER_GAME'}
 
@@ -641,7 +642,7 @@ class MATERIAL_PT_physics(MaterialButtonsPanel, bpy.types.Panel):
         row.prop(phys, "use_fh_normal")
 
 
-class MATERIAL_PT_strand(MaterialButtonsPanel, bpy.types.Panel):
+class MATERIAL_PT_strand(MaterialButtonsPanel, Panel):
     bl_label = "Strand"
     bl_options = {'DEFAULT_CLOSED'}
     COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -688,7 +689,7 @@ class MATERIAL_PT_strand(MaterialButtonsPanel, bpy.types.Panel):
         sub.prop(tan, "blend_distance", text="Distance")
 
 
-class MATERIAL_PT_options(MaterialButtonsPanel, bpy.types.Panel):
+class MATERIAL_PT_options(MaterialButtonsPanel, Panel):
     bl_label = "Options"
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
 
@@ -737,7 +738,7 @@ class MATERIAL_PT_options(MaterialButtonsPanel, bpy.types.Panel):
             col.prop(mat, "pass_index")
 
 
-class MATERIAL_PT_shadow(MaterialButtonsPanel, bpy.types.Panel):
+class MATERIAL_PT_shadow(MaterialButtonsPanel, Panel):
     bl_label = "Shadow"
     bl_options = {'DEFAULT_CLOSED'}
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -781,7 +782,7 @@ class MATERIAL_PT_shadow(MaterialButtonsPanel, bpy.types.Panel):
             col.prop(mat, "use_cast_approximate")
 
 
-class MATERIAL_PT_transp_game(MaterialButtonsPanel, bpy.types.Panel):
+class MATERIAL_PT_transp_game(MaterialButtonsPanel, Panel):
     bl_label = "Transparency"
     bl_options = {'DEFAULT_CLOSED'}
     COMPAT_ENGINES = {'BLENDER_GAME'}
@@ -824,7 +825,7 @@ class VolumeButtonsPanel():
         return mat and (mat.type == 'VOLUME') and (engine in cls.COMPAT_ENGINES)
 
 
-class MATERIAL_PT_volume_density(VolumeButtonsPanel, bpy.types.Panel):
+class MATERIAL_PT_volume_density(VolumeButtonsPanel, Panel):
     bl_label = "Density"
     COMPAT_ENGINES = {'BLENDER_RENDER'}
 
@@ -838,7 +839,7 @@ class MATERIAL_PT_volume_density(VolumeButtonsPanel, bpy.types.Panel):
         row.prop(vol, "density_scale")
 
 
-class MATERIAL_PT_volume_shading(VolumeButtonsPanel, bpy.types.Panel):
+class MATERIAL_PT_volume_shading(VolumeButtonsPanel, Panel):
     bl_label = "Shading"
     COMPAT_ENGINES = {'BLENDER_RENDER'}
 
@@ -863,7 +864,7 @@ class MATERIAL_PT_volume_shading(VolumeButtonsPanel, bpy.types.Panel):
         sub.prop(vol, "reflection_color", text="")
 
 
-class MATERIAL_PT_volume_lighting(VolumeButtonsPanel, bpy.types.Panel):
+class MATERIAL_PT_volume_lighting(VolumeButtonsPanel, Panel):
     bl_label = "Lighting"
     COMPAT_ENGINES = {'BLENDER_RENDER'}
 
@@ -898,7 +899,7 @@ class MATERIAL_PT_volume_lighting(VolumeButtonsPanel, bpy.types.Panel):
             sub.prop(vol, "ms_intensity")
 
 
-class MATERIAL_PT_volume_transp(VolumeButtonsPanel, bpy.types.Panel):
+class MATERIAL_PT_volume_transp(VolumeButtonsPanel, Panel):
     bl_label = "Transparency"
     COMPAT_ENGINES = {'BLENDER_RENDER'}
 
@@ -916,7 +917,7 @@ class MATERIAL_PT_volume_transp(VolumeButtonsPanel, bpy.types.Panel):
         layout.prop(mat, "transparency_method", expand=True)
 
 
-class MATERIAL_PT_volume_integration(VolumeButtonsPanel, bpy.types.Panel):
+class MATERIAL_PT_volume_integration(VolumeButtonsPanel, Panel):
     bl_label = "Integration"
     COMPAT_ENGINES = {'BLENDER_RENDER'}
 
@@ -938,7 +939,7 @@ class MATERIAL_PT_volume_integration(VolumeButtonsPanel, bpy.types.Panel):
         col.prop(vol, "depth_threshold")
 
 
-class MATERIAL_PT_volume_options(VolumeButtonsPanel, bpy.types.Panel):
+class MATERIAL_PT_volume_options(VolumeButtonsPanel, Panel):
     bl_label = "Options"
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
     bl_options = {'DEFAULT_CLOSED'}
@@ -970,7 +971,7 @@ class MATERIAL_PT_volume_options(VolumeButtonsPanel, bpy.types.Panel):
         row.prop(mat, "use_light_group_exclusive", text="Exclusive")
 
 
-class MATERIAL_PT_custom_props(MaterialButtonsPanel, PropertyPanel, bpy.types.Panel):
+class MATERIAL_PT_custom_props(MaterialButtonsPanel, PropertyPanel, Panel):
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
     _context_path = "material"
     _property_type = bpy.types.Material
diff --git a/release/scripts/startup/bl_ui/properties_object.py b/release/scripts/startup/bl_ui/properties_object.py
index cdbcf2cf533..0779debb102 100644
--- a/release/scripts/startup/bl_ui/properties_object.py
+++ b/release/scripts/startup/bl_ui/properties_object.py
@@ -18,6 +18,7 @@
 
 # <pep8 compliant>
 import bpy
+from bpy.types import Panel
 from rna_prop_ui import PropertyPanel
 
 
@@ -27,7 +28,7 @@ class ObjectButtonsPanel():
     bl_context = "object"
 
 
-class OBJECT_PT_context_object(ObjectButtonsPanel, bpy.types.Panel):
+class OBJECT_PT_context_object(ObjectButtonsPanel, Panel):
     bl_label = ""
     bl_options = {'HIDE_HEADER'}
 
@@ -42,7 +43,7 @@ class OBJECT_PT_context_object(ObjectButtonsPanel, bpy.types.Panel):
             row.template_ID(context.scene.objects, "active")
 
 
-class OBJECT_PT_transform(ObjectButtonsPanel, bpy.types.Panel):
+class OBJECT_PT_transform(ObjectButtonsPanel, Panel):
     bl_label = "Transform"
 
     def draw(self, context):
@@ -68,7 +69,7 @@ class OBJECT_PT_transform(ObjectButtonsPanel, bpy.types.Panel):
         layout.prop(ob, "rotation_mode")
 
 
-class OBJECT_PT_delta_transform(ObjectButtonsPanel, bpy.types.Panel):
+class OBJECT_PT_delta_transform(ObjectButtonsPanel, Panel):
     bl_label = "Delta Transform"
     bl_options = {'DEFAULT_CLOSED'}
 
@@ -94,7 +95,7 @@ class OBJECT_PT_delta_transform(ObjectButtonsPanel, bpy.types.Panel):
         row.column().prop(ob, "delta_scale")
 
 
-class OBJECT_PT_transform_locks(ObjectButtonsPanel, bpy.types.Panel):
+class OBJECT_PT_transform_locks(ObjectButtonsPanel, Panel):
     bl_label = "Transform Locks"
     bl_options = {'DEFAULT_CLOSED'}
 
@@ -120,7 +121,7 @@ class OBJECT_PT_transform_locks(ObjectButtonsPanel, bpy.types.Panel):
         row.column().prop(ob, "lock_scale", text="Scale")
 
 
-class OBJECT_PT_relations(ObjectButtonsPanel, bpy.types.Panel):
+class OBJECT_PT_relations(ObjectButtonsPanel, Panel):
     bl_label = "Relations"
 
     def draw(self, context):
@@ -147,7 +148,7 @@ class OBJECT_PT_relations(ObjectButtonsPanel, bpy.types.Panel):
         sub.active = (parent is not None)
 
 
-class OBJECT_PT_groups(ObjectButtonsPanel, bpy.types.Panel):
+class OBJECT_PT_groups(ObjectButtonsPanel, Panel):
     bl_label = "Groups"
 
     def draw(self, context):
@@ -186,7 +187,7 @@ class OBJECT_PT_groups(ObjectButtonsPanel, bpy.types.Panel):
                 index += 1
 
 
-class OBJECT_PT_display(ObjectButtonsPanel, bpy.types.Panel):
+class OBJECT_PT_display(ObjectButtonsPanel, Panel):
     bl_label = "Display"
 
     def draw(self, context):
@@ -220,7 +221,7 @@ class OBJECT_PT_display(ObjectButtonsPanel, bpy.types.Panel):
             col.prop(ob, "show_transparent", text="Transparency")
 
 
-class OBJECT_PT_duplication(ObjectButtonsPanel, bpy.types.Panel):
+class OBJECT_PT_duplication(ObjectButtonsPanel, Panel):
     bl_label = "Duplication"
 
     def draw(self, context):
@@ -258,7 +259,7 @@ class OBJECT_PT_duplication(ObjectButtonsPanel, bpy.types.Panel):
 
 # XXX: the following options are all quite buggy, ancient hacks that should be dropped
 
-class OBJECT_PT_animation(ObjectButtonsPanel, bpy.types.Panel):
+class OBJECT_PT_animation(ObjectButtonsPanel, Panel):
     bl_label = "Animation Hacks"
     bl_options = {'DEFAULT_CLOSED'}
 
@@ -293,7 +294,7 @@ from bl_ui.properties_animviz import (
     )
 
 
-class OBJECT_PT_motion_paths(MotionPathButtonsPanel, bpy.types.Panel):
+class OBJECT_PT_motion_paths(MotionPathButtonsPanel, Panel):
     #bl_label = "Object Motion Paths"
     bl_context = "object"
 
@@ -315,7 +316,7 @@ class OBJECT_PT_motion_paths(MotionPathButtonsPanel, bpy.types.Panel):
         row.operator("object.paths_clear", text="Clear Paths")
 
 
-class OBJECT_PT_onion_skinning(OnionSkinButtonsPanel):  # , bpy.types.Panel): # inherit from panel when ready
+class OBJECT_PT_onion_skinning(OnionSkinButtonsPanel):  # , Panel): # inherit from panel when ready
     #bl_label = "Object Onion Skinning"
     bl_context = "object"
 
@@ -329,7 +330,7 @@ class OBJECT_PT_onion_skinning(OnionSkinButtonsPanel):  # , bpy.types.Panel): #
         self.draw_settings(context, ob.animation_visualisation)
 
 
-class OBJECT_PT_custom_props(ObjectButtonsPanel, PropertyPanel, bpy.types.Panel):
+class OBJECT_PT_custom_props(ObjectButtonsPanel, PropertyPanel, Panel):
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
     _context_path = "object"
     _property_type = bpy.types.Object
diff --git a/release/scripts/startup/bl_ui/properties_object_constraint.py b/release/scripts/startup/bl_ui/properties_object_constraint.py
index 5f79dd3127a..867abe4dd5d 100644
--- a/release/scripts/startup/bl_ui/properties_object_constraint.py
+++ b/release/scripts/startup/bl_ui/properties_object_constraint.py
@@ -18,6 +18,7 @@
 
 # <pep8 compliant>
 import bpy
+from bpy.types import Panel
 
 
 class ConstraintButtonsPanel():
@@ -755,7 +756,7 @@ class ConstraintButtonsPanel():
         layout.label("Blender 2.5 has no py-constraints")
 
 
-class OBJECT_PT_constraints(ConstraintButtonsPanel, bpy.types.Panel):
+class OBJECT_PT_constraints(ConstraintButtonsPanel, Panel):
     bl_label = "Object Constraints"
     bl_context = "constraint"
 
@@ -779,7 +780,7 @@ class OBJECT_PT_constraints(ConstraintButtonsPanel, bpy.types.Panel):
             self.draw_constraint(context, con)
 
 
-class BONE_PT_constraints(ConstraintButtonsPanel, bpy.types.Panel):
+class BONE_PT_constraints(ConstraintButtonsPanel, Panel):
     bl_label = "Bone Constraints"
     bl_context = "bone_constraint"
 
diff --git a/release/scripts/startup/bl_ui/properties_particle.py b/release/scripts/startup/bl_ui/properties_particle.py
index f23d05f4d17..6187d95d932 100644
--- a/release/scripts/startup/bl_ui/properties_particle.py
+++ b/release/scripts/startup/bl_ui/properties_particle.py
@@ -18,6 +18,7 @@
 
 # <pep8 compliant>
 import bpy
+from bpy.types import Panel
 from rna_prop_ui import PropertyPanel
 
 from bl_ui.properties_physics_common import (
@@ -72,7 +73,7 @@ class ParticleButtonsPanel():
         return particle_panel_poll(cls, context)
 
 
-class PARTICLE_PT_context_particles(ParticleButtonsPanel, bpy.types.Panel):
+class PARTICLE_PT_context_particles(ParticleButtonsPanel, Panel):
     bl_label = ""
     bl_options = {'HIDE_HEADER'}
 
@@ -175,7 +176,7 @@ class PARTICLE_PT_context_particles(ParticleButtonsPanel, bpy.types.Panel):
                 split.prop(psys, "reactor_target_particle_system", text="Particle System")
 
 
-class PARTICLE_PT_emission(ParticleButtonsPanel, bpy.types.Panel):
+class PARTICLE_PT_emission(ParticleButtonsPanel, Panel):
     bl_label = "Emission"
 
     @classmethod
@@ -243,7 +244,7 @@ class PARTICLE_PT_emission(ParticleButtonsPanel, bpy.types.Panel):
                 row.prop(part, "grid_random", text="Random", slider=True)
 
 
-class PARTICLE_PT_hair_dynamics(ParticleButtonsPanel, bpy.types.Panel):
+class PARTICLE_PT_hair_dynamics(ParticleButtonsPanel, Panel):
     bl_label = "Hair dynamics"
     bl_options = {'DEFAULT_CLOSED'}
 
@@ -298,7 +299,7 @@ class PARTICLE_PT_hair_dynamics(ParticleButtonsPanel, bpy.types.Panel):
         col.prop(cloth, "quality", text="Steps", slider=True)
 
 
-class PARTICLE_PT_cache(ParticleButtonsPanel, bpy.types.Panel):
+class PARTICLE_PT_cache(ParticleButtonsPanel, Panel):
     bl_label = "Cache"
     bl_options = {'DEFAULT_CLOSED'}
 
@@ -323,7 +324,7 @@ class PARTICLE_PT_cache(ParticleButtonsPanel, bpy.types.Panel):
         point_cache_ui(self, context, psys.point_cache, True, 'HAIR' if (psys.settings.type == 'HAIR') else 'PSYS')
 
 
-class PARTICLE_PT_velocity(ParticleButtonsPanel, bpy.types.Panel):
+class PARTICLE_PT_velocity(ParticleButtonsPanel, Panel):
     bl_label = "Velocity"
 
     @classmethod
@@ -372,7 +373,7 @@ class PARTICLE_PT_velocity(ParticleButtonsPanel, bpy.types.Panel):
         #    sub.prop(part, "reaction_shape", slider=True)
 
 
-class PARTICLE_PT_rotation(ParticleButtonsPanel, bpy.types.Panel):
+class PARTICLE_PT_rotation(ParticleButtonsPanel, Panel):
     bl_label = "Rotation"
 
     @classmethod
@@ -420,7 +421,7 @@ class PARTICLE_PT_rotation(ParticleButtonsPanel, bpy.types.Panel):
             col.prop(part, "angular_velocity_factor", text="")
 
 
-class PARTICLE_PT_physics(ParticleButtonsPanel, bpy.types.Panel):
+class PARTICLE_PT_physics(ParticleButtonsPanel, Panel):
     bl_label = "Physics"
 
     @classmethod
@@ -455,7 +456,7 @@ class PARTICLE_PT_physics(ParticleButtonsPanel, bpy.types.Panel):
             col.prop(part, "mass")
             col.prop(part, "use_multiply_size_mass", text="Multiply mass with size")
 
-        if part.physics_type in ('NEWTON', 'FLUID'):
+        if part.physics_type in {'NEWTON', 'FLUID'}:
             split = layout.split()
 
             col = split.column()
@@ -634,7 +635,7 @@ class PARTICLE_PT_physics(ParticleButtonsPanel, bpy.types.Panel):
                     sub.prop(key, "system", text="System")
 
 
-class PARTICLE_PT_boidbrain(ParticleButtonsPanel, bpy.types.Panel):
+class PARTICLE_PT_boidbrain(ParticleButtonsPanel, Panel):
     bl_label = "Boid Brain"
 
     @classmethod
@@ -734,7 +735,7 @@ class PARTICLE_PT_boidbrain(ParticleButtonsPanel, bpy.types.Panel):
                 row.prop(rule, "flee_distance")
 
 
-class PARTICLE_PT_render(ParticleButtonsPanel, bpy.types.Panel):
+class PARTICLE_PT_render(ParticleButtonsPanel, Panel):
     bl_label = "Render"
 
     @classmethod
@@ -912,13 +913,13 @@ class PARTICLE_PT_render(ParticleButtonsPanel, bpy.types.Panel):
                 col = row.column()
                 col.label(text="")
 
-        if part.render_type in ('OBJECT', 'GROUP') and not part.use_advanced_hair:
+        if part.render_type in {'OBJECT', 'GROUP'} and not part.use_advanced_hair:
             row = layout.row(align=True)
             row.prop(part, "particle_size")
             row.prop(part, "size_random", slider=True)
 
 
-class PARTICLE_PT_draw(ParticleButtonsPanel, bpy.types.Panel):
+class PARTICLE_PT_draw(ParticleButtonsPanel, Panel):
     bl_label = "Display"
     bl_options = {'DEFAULT_CLOSED'}
 
@@ -979,7 +980,7 @@ class PARTICLE_PT_draw(ParticleButtonsPanel, bpy.types.Panel):
             col.prop(part, "draw_step")
 
 
-class PARTICLE_PT_children(ParticleButtonsPanel, bpy.types.Panel):
+class PARTICLE_PT_children(ParticleButtonsPanel, Panel):
     bl_label = "Children"
     bl_options = {'DEFAULT_CLOSED'}
 
@@ -1078,7 +1079,7 @@ class PARTICLE_PT_children(ParticleButtonsPanel, bpy.types.Panel):
         sub.prop(part, "kink_shape", slider=True)
 
 
-class PARTICLE_PT_field_weights(ParticleButtonsPanel, bpy.types.Panel):
+class PARTICLE_PT_field_weights(ParticleButtonsPanel, Panel):
     bl_label = "Field Weights"
     bl_options = {'DEFAULT_CLOSED'}
 
@@ -1098,7 +1099,7 @@ class PARTICLE_PT_field_weights(ParticleButtonsPanel, bpy.types.Panel):
             row.prop(part, "effect_hair", slider=True)
 
 
-class PARTICLE_PT_force_fields(ParticleButtonsPanel, bpy.types.Panel):
+class PARTICLE_PT_force_fields(ParticleButtonsPanel, Panel):
     bl_label = "Force Field Settings"
     bl_options = {'DEFAULT_CLOSED'}
 
@@ -1131,7 +1132,7 @@ class PARTICLE_PT_force_fields(ParticleButtonsPanel, bpy.types.Panel):
         basic_force_field_falloff_ui(self, context, part.force_field_2)
 
 
-class PARTICLE_PT_vertexgroups(ParticleButtonsPanel, bpy.types.Panel):
+class PARTICLE_PT_vertexgroups(ParticleButtonsPanel, Panel):
     bl_label = "Vertexgroups"
     bl_options = {'DEFAULT_CLOSED'}
 
@@ -1201,7 +1202,7 @@ class PARTICLE_PT_vertexgroups(ParticleButtonsPanel, bpy.types.Panel):
         # row.prop(psys, "invert_vertex_group_field", text="")
 
 
-class PARTICLE_PT_custom_props(ParticleButtonsPanel, PropertyPanel, bpy.types.Panel):
+class PARTICLE_PT_custom_props(ParticleButtonsPanel, PropertyPanel, Panel):
     _context_path = "particle_system.settings"
     _property_type = bpy.types.ParticleSettings
 
diff --git a/release/scripts/startup/bl_ui/properties_physics_cloth.py b/release/scripts/startup/bl_ui/properties_physics_cloth.py
index bce6ab993a7..d5427d8bae8 100644
--- a/release/scripts/startup/bl_ui/properties_physics_cloth.py
+++ b/release/scripts/startup/bl_ui/properties_physics_cloth.py
@@ -18,6 +18,7 @@
 
 # <pep8 compliant>
 import bpy
+from bpy.types import Menu, Panel
 
 
 from bl_ui.properties_physics_common import (
@@ -30,14 +31,14 @@ def cloth_panel_enabled(md):
     return md.point_cache.is_baked is False
 
 
-class CLOTH_MT_presets(bpy.types.Menu):
+class CLOTH_MT_presets(Menu):
     '''
     Creates the menu items by scanning scripts/templates
     '''
     bl_label = "Cloth Presets"
     preset_subdir = "cloth"
     preset_operator = "script.execute_preset"
-    draw = bpy.types.Menu.draw_preset
+    draw = Menu.draw_preset
 
 
 class PhysicButtonsPanel():
@@ -52,7 +53,7 @@ class PhysicButtonsPanel():
         return (ob and ob.type == 'MESH') and (not rd.use_game_engine) and (context.cloth)
 
 
-class PHYSICS_PT_cloth(PhysicButtonsPanel, bpy.types.Panel):
+class PHYSICS_PT_cloth(PhysicButtonsPanel, Panel):
     bl_label = "Cloth"
 
     def draw(self, context):
@@ -117,7 +118,7 @@ class PHYSICS_PT_cloth(PhysicButtonsPanel, bpy.types.Panel):
                 col.prop_search(cloth, "rest_shape_key", key, "key_blocks", text="")
 
 
-class PHYSICS_PT_cloth_cache(PhysicButtonsPanel, bpy.types.Panel):
+class PHYSICS_PT_cloth_cache(PhysicButtonsPanel, Panel):
     bl_label = "Cloth Cache"
     bl_options = {'DEFAULT_CLOSED'}
 
@@ -130,7 +131,7 @@ class PHYSICS_PT_cloth_cache(PhysicButtonsPanel, bpy.types.Panel):
         point_cache_ui(self, context, md.point_cache, cloth_panel_enabled(md), 'CLOTH')
 
 
-class PHYSICS_PT_cloth_collision(PhysicButtonsPanel, bpy.types.Panel):
+class PHYSICS_PT_cloth_collision(PhysicButtonsPanel, Panel):
     bl_label = "Cloth Collision"
     bl_options = {'DEFAULT_CLOSED'}
 
@@ -171,7 +172,7 @@ class PHYSICS_PT_cloth_collision(PhysicButtonsPanel, bpy.types.Panel):
         layout.prop(cloth, "group")
 
 
-class PHYSICS_PT_cloth_stiffness(PhysicButtonsPanel, bpy.types.Panel):
+class PHYSICS_PT_cloth_stiffness(PhysicButtonsPanel, Panel):
     bl_label = "Cloth Stiffness Scaling"
     bl_options = {'DEFAULT_CLOSED'}
 
@@ -207,7 +208,7 @@ class PHYSICS_PT_cloth_stiffness(PhysicButtonsPanel, bpy.types.Panel):
         col.prop(cloth, "bending_stiffness_max", text="Max")
 
 
-class PHYSICS_PT_cloth_field_weights(PhysicButtonsPanel, bpy.types.Panel):
+class PHYSICS_PT_cloth_field_weights(PhysicButtonsPanel, Panel):
     bl_label = "Cloth Field Weights"
     bl_options = {'DEFAULT_CLOSED'}
 
diff --git a/release/scripts/startup/bl_ui/properties_physics_common.py b/release/scripts/startup/bl_ui/properties_physics_common.py
index f7cf8da1840..204e25d9f01 100644
--- a/release/scripts/startup/bl_ui/properties_physics_common.py
+++ b/release/scripts/startup/bl_ui/properties_physics_common.py
@@ -19,6 +19,7 @@
 # <pep8 compliant>
 
 import bpy
+from bpy.types import Panel
 
 
 class PhysicButtonsPanel():
@@ -44,7 +45,7 @@ def physics_add(self, layout, md, name, type, typeicon, toggles):
         sub.operator("object.modifier_add", text=name, icon=typeicon).type = type
 
 
-class PHYSICS_PT_add(PhysicButtonsPanel, bpy.types.Panel):
+class PHYSICS_PT_add(PhysicButtonsPanel, Panel):
     bl_label = ""
     bl_options = {'HIDE_HEADER'}
 
diff --git a/release/scripts/startup/bl_ui/properties_physics_field.py b/release/scripts/startup/bl_ui/properties_physics_field.py
index bd374f0a6f8..aa0ff4c6c66 100644
--- a/release/scripts/startup/bl_ui/properties_physics_field.py
+++ b/release/scripts/startup/bl_ui/properties_physics_field.py
@@ -18,6 +18,7 @@
 
 # <pep8 compliant>
 import bpy
+from bpy.types import Panel
 
 
 from bl_ui.properties_physics_common import (
@@ -37,7 +38,7 @@ class PhysicButtonsPanel():
         return (context.object) and (not rd.use_game_engine)
 
 
-class PHYSICS_PT_field(PhysicButtonsPanel, bpy.types.Panel):
+class PHYSICS_PT_field(PhysicButtonsPanel, Panel):
     bl_label = "Force Fields"
 
     @classmethod
@@ -167,7 +168,7 @@ class PHYSICS_PT_field(PhysicButtonsPanel, bpy.types.Panel):
                 sub.prop(field, "radial_max", text="Distance")
 
 
-class PHYSICS_PT_collision(PhysicButtonsPanel, bpy.types.Panel):
+class PHYSICS_PT_collision(PhysicButtonsPanel, Panel):
     bl_label = "Collision"
     #bl_options = {'DEFAULT_CLOSED'}
 
diff --git a/release/scripts/startup/bl_ui/properties_physics_fluid.py b/release/scripts/startup/bl_ui/properties_physics_fluid.py
index c7e3a9e7220..46893af3582 100644
--- a/release/scripts/startup/bl_ui/properties_physics_fluid.py
+++ b/release/scripts/startup/bl_ui/properties_physics_fluid.py
@@ -18,6 +18,7 @@
 
 # <pep8 compliant>
 import bpy
+from bpy.types import Panel
 
 
 class PhysicButtonsPanel():
@@ -32,7 +33,7 @@ class PhysicButtonsPanel():
         return (ob and ob.type == 'MESH') and (not rd.use_game_engine) and (context.fluid)
 
 
-class PHYSICS_PT_fluid(PhysicButtonsPanel, bpy.types.Panel):
+class PHYSICS_PT_fluid(PhysicButtonsPanel, Panel):
     bl_label = "Fluid"
 
     def draw(self, context):
@@ -186,7 +187,7 @@ class PHYSICS_PT_fluid(PhysicButtonsPanel, bpy.types.Panel):
                 sub.prop(fluid, "velocity_radius", text="Radius")
 
 
-class PHYSICS_PT_domain_gravity(PhysicButtonsPanel, bpy.types.Panel):
+class PHYSICS_PT_domain_gravity(PhysicButtonsPanel, Panel):
     bl_label = "Domain World"
     bl_options = {'DEFAULT_CLOSED'}
 
@@ -236,7 +237,7 @@ class PHYSICS_PT_domain_gravity(PhysicButtonsPanel, bpy.types.Panel):
         col.prop(fluid, "compressibility", slider=True)
 
 
-class PHYSICS_PT_domain_boundary(PhysicButtonsPanel, bpy.types.Panel):
+class PHYSICS_PT_domain_boundary(PhysicButtonsPanel, Panel):
     bl_label = "Domain Boundary"
     bl_options = {'DEFAULT_CLOSED'}
 
@@ -265,7 +266,7 @@ class PHYSICS_PT_domain_boundary(PhysicButtonsPanel, bpy.types.Panel):
         col.prop(fluid, "surface_subdivisions", text="Subdivisions")
 
 
-class PHYSICS_PT_domain_particles(PhysicButtonsPanel, bpy.types.Panel):
+class PHYSICS_PT_domain_particles(PhysicButtonsPanel, Panel):
     bl_label = "Domain Particles"
     bl_options = {'DEFAULT_CLOSED'}
 
diff --git a/release/scripts/startup/bl_ui/properties_physics_smoke.py b/release/scripts/startup/bl_ui/properties_physics_smoke.py
index 61d8d2e3825..771a778380d 100644
--- a/release/scripts/startup/bl_ui/properties_physics_smoke.py
+++ b/release/scripts/startup/bl_ui/properties_physics_smoke.py
@@ -18,6 +18,7 @@
 
 # <pep8 compliant>
 import bpy
+from bpy.types import Panel
 
 
 from bl_ui.properties_physics_common import (
@@ -38,7 +39,7 @@ class PhysicButtonsPanel():
         return (ob and ob.type == 'MESH') and (not rd.use_game_engine) and (context.smoke)
 
 
-class PHYSICS_PT_smoke(PhysicButtonsPanel, bpy.types.Panel):
+class PHYSICS_PT_smoke(PhysicButtonsPanel, Panel):
     bl_label = "Smoke"
 
     def draw(self, context):
@@ -103,7 +104,7 @@ class PHYSICS_PT_smoke(PhysicButtonsPanel, bpy.types.Panel):
                 sub.prop(flow, "temperature")
 
 
-class PHYSICS_PT_smoke_groups(PhysicButtonsPanel, bpy.types.Panel):
+class PHYSICS_PT_smoke_groups(PhysicButtonsPanel, Panel):
     bl_label = "Smoke Groups"
     bl_options = {'DEFAULT_CLOSED'}
 
@@ -131,7 +132,7 @@ class PHYSICS_PT_smoke_groups(PhysicButtonsPanel, bpy.types.Panel):
         col.prop(group, "collision_group", text="")
 
 
-class PHYSICS_PT_smoke_highres(PhysicButtonsPanel, bpy.types.Panel):
+class PHYSICS_PT_smoke_highres(PhysicButtonsPanel, Panel):
     bl_label = "Smoke High Resolution"
     bl_options = {'DEFAULT_CLOSED'}
 
@@ -168,7 +169,7 @@ class PHYSICS_PT_smoke_highres(PhysicButtonsPanel, bpy.types.Panel):
         layout.prop(md, "show_high_resolution")
 
 
-class PHYSICS_PT_smoke_cache(PhysicButtonsPanel, bpy.types.Panel):
+class PHYSICS_PT_smoke_cache(PhysicButtonsPanel, Panel):
     bl_label = "Smoke Cache"
     bl_options = {'DEFAULT_CLOSED'}
 
@@ -189,7 +190,7 @@ class PHYSICS_PT_smoke_cache(PhysicButtonsPanel, bpy.types.Panel):
         point_cache_ui(self, context, cache, (cache.is_baked is False), 'SMOKE')
 
 
-class PHYSICS_PT_smoke_field_weights(PhysicButtonsPanel, bpy.types.Panel):
+class PHYSICS_PT_smoke_field_weights(PhysicButtonsPanel, Panel):
     bl_label = "Smoke Field Weights"
     bl_options = {'DEFAULT_CLOSED'}
 
diff --git a/release/scripts/startup/bl_ui/properties_physics_softbody.py b/release/scripts/startup/bl_ui/properties_physics_softbody.py
index 61115a0590e..0b55ccf9516 100644
--- a/release/scripts/startup/bl_ui/properties_physics_softbody.py
+++ b/release/scripts/startup/bl_ui/properties_physics_softbody.py
@@ -18,6 +18,7 @@
 
 # <pep8 compliant>
 import bpy
+from bpy.types import Panel
 
 
 from bl_ui.properties_physics_common import (
@@ -44,7 +45,7 @@ class PhysicButtonsPanel():
         return (ob and (ob.type == 'MESH' or ob.type == 'LATTICE'or ob.type == 'CURVE')) and (not rd.use_game_engine) and (context.soft_body)
 
 
-class PHYSICS_PT_softbody(PhysicButtonsPanel, bpy.types.Panel):
+class PHYSICS_PT_softbody(PhysicButtonsPanel, Panel):
     bl_label = "Soft Body"
 
     def draw(self, context):
@@ -71,7 +72,7 @@ class PHYSICS_PT_softbody(PhysicButtonsPanel, bpy.types.Panel):
             col.prop(softbody, "speed")
 
 
-class PHYSICS_PT_softbody_cache(PhysicButtonsPanel, bpy.types.Panel):
+class PHYSICS_PT_softbody_cache(PhysicButtonsPanel, Panel):
     bl_label = "Soft Body Cache"
     bl_options = {'DEFAULT_CLOSED'}
 
@@ -84,7 +85,7 @@ class PHYSICS_PT_softbody_cache(PhysicButtonsPanel, bpy.types.Panel):
         point_cache_ui(self, context, md.point_cache, softbody_panel_enabled(md), 'SOFTBODY')
 
 
-class PHYSICS_PT_softbody_goal(PhysicButtonsPanel, bpy.types.Panel):
+class PHYSICS_PT_softbody_goal(PhysicButtonsPanel, Panel):
     bl_label = "Soft Body Goal"
     bl_options = {'DEFAULT_CLOSED'}
 
@@ -127,7 +128,7 @@ class PHYSICS_PT_softbody_goal(PhysicButtonsPanel, bpy.types.Panel):
         layout.prop_search(softbody, "vertex_group_goal", ob, "vertex_groups", text="Vertex Group")
 
 
-class PHYSICS_PT_softbody_edge(PhysicButtonsPanel, bpy.types.Panel):
+class PHYSICS_PT_softbody_edge(PhysicButtonsPanel, Panel):
     bl_label = "Soft Body Edges"
     bl_options = {'DEFAULT_CLOSED'}
 
@@ -180,7 +181,7 @@ class PHYSICS_PT_softbody_edge(PhysicButtonsPanel, bpy.types.Panel):
         col.prop(softbody, "use_face_collision", text="Face")
 
 
-class PHYSICS_PT_softbody_collision(PhysicButtonsPanel, bpy.types.Panel):
+class PHYSICS_PT_softbody_collision(PhysicButtonsPanel, Panel):
     bl_label = "Soft Body Self Collision"
     bl_options = {'DEFAULT_CLOSED'}
 
@@ -212,7 +213,7 @@ class PHYSICS_PT_softbody_collision(PhysicButtonsPanel, bpy.types.Panel):
         col.prop(softbody, "ball_damp", text="Dampening")
 
 
-class PHYSICS_PT_softbody_solver(PhysicButtonsPanel, bpy.types.Panel):
+class PHYSICS_PT_softbody_solver(PhysicButtonsPanel, Panel):
     bl_label = "Soft Body Solver"
     bl_options = {'DEFAULT_CLOSED'}
 
@@ -248,7 +249,7 @@ class PHYSICS_PT_softbody_solver(PhysicButtonsPanel, bpy.types.Panel):
         layout.prop(softbody, "use_estimate_matrix")
 
 
-class PHYSICS_PT_softbody_field_weights(PhysicButtonsPanel, bpy.types.Panel):
+class PHYSICS_PT_softbody_field_weights(PhysicButtonsPanel, Panel):
     bl_label = "Soft Body Field Weights"
     bl_options = {'DEFAULT_CLOSED'}
 
diff --git a/release/scripts/startup/bl_ui/properties_render.py b/release/scripts/startup/bl_ui/properties_render.py
index 6d36db29a6c..fb14372ebea 100644
--- a/release/scripts/startup/bl_ui/properties_render.py
+++ b/release/scripts/startup/bl_ui/properties_render.py
@@ -18,27 +18,28 @@
 
 # <pep8 compliant>
 import bpy
+from bpy.types import Menu, Panel
 
 
-class RENDER_MT_presets(bpy.types.Menu):
+class RENDER_MT_presets(Menu):
     bl_label = "Render Presets"
     preset_subdir = "render"
     preset_operator = "script.execute_preset"
-    draw = bpy.types.Menu.draw_preset
+    draw = Menu.draw_preset
 
 
-class RENDER_MT_ffmpeg_presets(bpy.types.Menu):
+class RENDER_MT_ffmpeg_presets(Menu):
     bl_label = "FFMPEG Presets"
     preset_subdir = "ffmpeg"
     preset_operator = "script.python_file_run"
-    draw = bpy.types.Menu.draw_preset
+    draw = Menu.draw_preset
 
 
-class RENDER_MT_framerate_presets(bpy.types.Menu):
+class RENDER_MT_framerate_presets(Menu):
     bl_label = "Frame Rate Presets"
     preset_subdir = "framerate"
     preset_operator = "script.execute_preset"
-    draw = bpy.types.Menu.draw_preset
+    draw = Menu.draw_preset
 
 
 class RenderButtonsPanel():
@@ -53,7 +54,7 @@ class RenderButtonsPanel():
         return (context.scene and rd.use_game_engine is False) and (rd.engine in cls.COMPAT_ENGINES)
 
 
-class RENDER_PT_render(RenderButtonsPanel, bpy.types.Panel):
+class RENDER_PT_render(RenderButtonsPanel, Panel):
     bl_label = "Render"
     COMPAT_ENGINES = {'BLENDER_RENDER'}
 
@@ -69,7 +70,7 @@ class RENDER_PT_render(RenderButtonsPanel, bpy.types.Panel):
         layout.prop(rd, "display_mode", text="Display")
 
 
-class RENDER_PT_layers(RenderButtonsPanel, bpy.types.Panel):
+class RENDER_PT_layers(RenderButtonsPanel, Panel):
     bl_label = "Layers"
     bl_options = {'DEFAULT_CLOSED'}
     COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -173,7 +174,7 @@ class RENDER_PT_layers(RenderButtonsPanel, bpy.types.Panel):
         row.prop(rl, "exclude_refraction", text="")
 
 
-class RENDER_PT_dimensions(RenderButtonsPanel, bpy.types.Panel):
+class RENDER_PT_dimensions(RenderButtonsPanel, Panel):
     bl_label = "Dimensions"
     COMPAT_ENGINES = {'BLENDER_RENDER'}
 
@@ -240,7 +241,7 @@ class RENDER_PT_dimensions(RenderButtonsPanel, bpy.types.Panel):
         subrow.prop(rd, "frame_map_new", text="New")
 
 
-class RENDER_PT_antialiasing(RenderButtonsPanel, bpy.types.Panel):
+class RENDER_PT_antialiasing(RenderButtonsPanel, Panel):
     bl_label = "Anti-Aliasing"
     COMPAT_ENGINES = {'BLENDER_RENDER'}
 
@@ -268,7 +269,7 @@ class RENDER_PT_antialiasing(RenderButtonsPanel, bpy.types.Panel):
         col.prop(rd, "filter_size", text="Size")
 
 
-class RENDER_PT_motion_blur(RenderButtonsPanel, bpy.types.Panel):
+class RENDER_PT_motion_blur(RenderButtonsPanel, Panel):
     bl_label = "Sampled Motion Blur"
     bl_options = {'DEFAULT_CLOSED'}
     COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -294,7 +295,7 @@ class RENDER_PT_motion_blur(RenderButtonsPanel, bpy.types.Panel):
         row.prop(rd, "motion_blur_shutter")
 
 
-class RENDER_PT_shading(RenderButtonsPanel, bpy.types.Panel):
+class RENDER_PT_shading(RenderButtonsPanel, Panel):
     bl_label = "Shading"
     bl_options = {'DEFAULT_CLOSED'}
     COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -318,7 +319,7 @@ class RENDER_PT_shading(RenderButtonsPanel, bpy.types.Panel):
         col.prop(rd, "alpha_mode", text="Alpha")
 
 
-class RENDER_PT_performance(RenderButtonsPanel, bpy.types.Panel):
+class RENDER_PT_performance(RenderButtonsPanel, Panel):
     bl_label = "Performance"
     bl_options = {'DEFAULT_CLOSED'}
     COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -361,7 +362,7 @@ class RENDER_PT_performance(RenderButtonsPanel, bpy.types.Panel):
         sub.prop(rd, "use_local_coords", text="Local Coordinates")
 
 
-class RENDER_PT_post_processing(RenderButtonsPanel, bpy.types.Panel):
+class RENDER_PT_post_processing(RenderButtonsPanel, Panel):
     bl_label = "Post Processing"
     bl_options = {'DEFAULT_CLOSED'}
     COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -398,7 +399,7 @@ class RENDER_PT_post_processing(RenderButtonsPanel, bpy.types.Panel):
         sub.prop(rd, "edge_color", text="")
 
 
-class RENDER_PT_stamp(RenderButtonsPanel, bpy.types.Panel):
+class RENDER_PT_stamp(RenderButtonsPanel, Panel):
     bl_label = "Stamp"
     bl_options = {'DEFAULT_CLOSED'}
     COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -443,7 +444,7 @@ class RENDER_PT_stamp(RenderButtonsPanel, bpy.types.Panel):
         sub.prop(rd, "stamp_note_text", text="")
 
 
-class RENDER_PT_output(RenderButtonsPanel, bpy.types.Panel):
+class RENDER_PT_output(RenderButtonsPanel, Panel):
     bl_label = "Output"
     COMPAT_ENGINES = {'BLENDER_RENDER'}
 
@@ -543,7 +544,7 @@ class RENDER_PT_output(RenderButtonsPanel, bpy.types.Panel):
                 col.prop(rd, "quicktime_audio_resampling_hq")
 
 
-class RENDER_PT_encoding(RenderButtonsPanel, bpy.types.Panel):
+class RENDER_PT_encoding(RenderButtonsPanel, Panel):
     bl_label = "Encoding"
     bl_options = {'DEFAULT_CLOSED'}
     COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -600,7 +601,7 @@ class RENDER_PT_encoding(RenderButtonsPanel, bpy.types.Panel):
         split.prop(rd, "ffmpeg_audio_volume", slider=True)
 
 
-class RENDER_PT_bake(RenderButtonsPanel, bpy.types.Panel):
+class RENDER_PT_bake(RenderButtonsPanel, Panel):
     bl_label = "Bake"
     bl_options = {'DEFAULT_CLOSED'}
     COMPAT_ENGINES = {'BLENDER_RENDER'}
diff --git a/release/scripts/startup/bl_ui/properties_scene.py b/release/scripts/startup/bl_ui/properties_scene.py
index 7725f661693..6e96e1228e7 100644
--- a/release/scripts/startup/bl_ui/properties_scene.py
+++ b/release/scripts/startup/bl_ui/properties_scene.py
@@ -18,6 +18,7 @@
 
 # <pep8 compliant>
 import bpy
+from bpy.types import Operator, Panel
 from rna_prop_ui import PropertyPanel
 
 
@@ -31,7 +32,7 @@ class SceneButtonsPanel():
         return context.scene
 
 
-class SCENE_PT_scene(SceneButtonsPanel, bpy.types.Panel):
+class SCENE_PT_scene(SceneButtonsPanel, Panel):
     bl_label = "Scene"
     COMPAT_ENGINES = {'BLENDER_RENDER'}
 
@@ -43,7 +44,7 @@ class SCENE_PT_scene(SceneButtonsPanel, bpy.types.Panel):
         layout.prop(scene, "background_set", text="Background")
 
 
-class SCENE_PT_unit(SceneButtonsPanel, bpy.types.Panel):
+class SCENE_PT_unit(SceneButtonsPanel, Panel):
     bl_label = "Units"
     COMPAT_ENGINES = {'BLENDER_RENDER'}
 
@@ -61,7 +62,7 @@ class SCENE_PT_unit(SceneButtonsPanel, bpy.types.Panel):
         row.prop(unit, "use_separate")
 
 
-class SCENE_PT_keying_sets(SceneButtonsPanel, bpy.types.Panel):
+class SCENE_PT_keying_sets(SceneButtonsPanel, Panel):
     bl_label = "Keying Sets"
 
     def draw(self, context):
@@ -94,7 +95,7 @@ class SCENE_PT_keying_sets(SceneButtonsPanel, bpy.types.Panel):
             col.prop(ks, "bl_options")
 
 
-class SCENE_PT_keying_set_paths(SceneButtonsPanel, bpy.types.Panel):
+class SCENE_PT_keying_set_paths(SceneButtonsPanel, Panel):
     bl_label = "Active Keying Set"
 
     @classmethod
@@ -144,7 +145,7 @@ class SCENE_PT_keying_set_paths(SceneButtonsPanel, bpy.types.Panel):
             col.prop(ksp, "bl_options")
 
 
-class SCENE_PT_physics(SceneButtonsPanel, bpy.types.Panel):
+class SCENE_PT_physics(SceneButtonsPanel, Panel):
     bl_label = "Gravity"
     COMPAT_ENGINES = {'BLENDER_RENDER'}
 
@@ -161,7 +162,7 @@ class SCENE_PT_physics(SceneButtonsPanel, bpy.types.Panel):
         layout.prop(scene, "gravity", text="")
 
 
-class SCENE_PT_simplify(SceneButtonsPanel, bpy.types.Panel):
+class SCENE_PT_simplify(SceneButtonsPanel, Panel):
     bl_label = "Simplify"
     COMPAT_ENGINES = {'BLENDER_RENDER'}
 
@@ -190,7 +191,7 @@ class SCENE_PT_simplify(SceneButtonsPanel, bpy.types.Panel):
         col.prop(rd, "simplify_ao_sss", text="AO and SSS")
 
 
-class SCENE_PT_custom_props(SceneButtonsPanel, PropertyPanel, bpy.types.Panel):
+class SCENE_PT_custom_props(SceneButtonsPanel, PropertyPanel, Panel):
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
     _context_path = "scene"
     _property_type = bpy.types.Scene
@@ -198,7 +199,7 @@ class SCENE_PT_custom_props(SceneButtonsPanel, PropertyPanel, bpy.types.Panel):
 #  XXX, move operator to op/ dir
 
 
-class ANIM_OT_keying_set_export(bpy.types.Operator):
+class ANIM_OT_keying_set_export(Operator):
     "Export Keying Set to a python script."
     bl_idname = "anim.keying_set_export"
     bl_label = "Export Keying Set..."
diff --git a/release/scripts/startup/bl_ui/properties_texture.py b/release/scripts/startup/bl_ui/properties_texture.py
index e216f019297..fe741b78daa 100644
--- a/release/scripts/startup/bl_ui/properties_texture.py
+++ b/release/scripts/startup/bl_ui/properties_texture.py
@@ -18,10 +18,11 @@
 
 # <pep8 compliant>
 import bpy
+from bpy.types import Menu, Panel
 from rna_prop_ui import PropertyPanel
 
 
-class TEXTURE_MT_specials(bpy.types.Menu):
+class TEXTURE_MT_specials(Menu):
     bl_label = "Texture Specials"
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
 
@@ -32,7 +33,7 @@ class TEXTURE_MT_specials(bpy.types.Menu):
         layout.operator("texture.slot_paste", icon='PASTEDOWN')
 
 
-class TEXTURE_MT_envmap_specials(bpy.types.Menu):
+class TEXTURE_MT_envmap_specials(Menu):
     bl_label = "Environment Map Specials"
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
 
@@ -80,7 +81,7 @@ class TextureButtonsPanel():
         return tex and (tex.type != 'NONE' or tex.use_nodes) and (context.scene.render.engine in cls.COMPAT_ENGINES)
 
 
-class TEXTURE_PT_context_texture(TextureButtonsPanel, bpy.types.Panel):
+class TEXTURE_PT_context_texture(TextureButtonsPanel, Panel):
     bl_label = ""
     bl_options = {'HIDE_HEADER'}
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -150,7 +151,7 @@ class TEXTURE_PT_context_texture(TextureButtonsPanel, bpy.types.Panel):
                 split.prop(tex, "type", text="")
 
 
-class TEXTURE_PT_preview(TextureButtonsPanel, bpy.types.Panel):
+class TEXTURE_PT_preview(TextureButtonsPanel, Panel):
     bl_label = "Preview"
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
 
@@ -167,7 +168,7 @@ class TEXTURE_PT_preview(TextureButtonsPanel, bpy.types.Panel):
             layout.template_preview(tex, slot=slot)
 
 
-class TEXTURE_PT_colors(TextureButtonsPanel, bpy.types.Panel):
+class TEXTURE_PT_colors(TextureButtonsPanel, Panel):
     bl_label = "Colors"
     bl_options = {'DEFAULT_CLOSED'}
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -223,7 +224,7 @@ class TextureTypePanel(TextureButtonsPanel):
         return tex and ((tex.type == cls.tex_type and not tex.use_nodes) and (engine in cls.COMPAT_ENGINES))
 
 
-class TEXTURE_PT_clouds(TextureTypePanel, bpy.types.Panel):
+class TEXTURE_PT_clouds(TextureTypePanel, Panel):
     bl_label = "Clouds"
     tex_type = 'CLOUDS'
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -247,7 +248,7 @@ class TEXTURE_PT_clouds(TextureTypePanel, bpy.types.Panel):
         split.prop(tex, "nabla", text="Nabla")
 
 
-class TEXTURE_PT_wood(TextureTypePanel, bpy.types.Panel):
+class TEXTURE_PT_wood(TextureTypePanel, Panel):
     bl_label = "Wood"
     tex_type = 'WOOD'
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -276,7 +277,7 @@ class TEXTURE_PT_wood(TextureTypePanel, bpy.types.Panel):
         split.prop(tex, "nabla")
 
 
-class TEXTURE_PT_marble(TextureTypePanel, bpy.types.Panel):
+class TEXTURE_PT_marble(TextureTypePanel, Panel):
     bl_label = "Marble"
     tex_type = 'MARBLE'
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -303,7 +304,7 @@ class TEXTURE_PT_marble(TextureTypePanel, bpy.types.Panel):
         col.prop(tex, "nabla")
 
 
-class TEXTURE_PT_magic(TextureTypePanel, bpy.types.Panel):
+class TEXTURE_PT_magic(TextureTypePanel, Panel):
     bl_label = "Magic"
     tex_type = 'MAGIC'
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -318,7 +319,7 @@ class TEXTURE_PT_magic(TextureTypePanel, bpy.types.Panel):
         row.prop(tex, "turbulence")
 
 
-class TEXTURE_PT_blend(TextureTypePanel, bpy.types.Panel):
+class TEXTURE_PT_blend(TextureTypePanel, Panel):
     bl_label = "Blend"
     tex_type = 'BLEND'
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -336,7 +337,7 @@ class TEXTURE_PT_blend(TextureTypePanel, bpy.types.Panel):
         sub.prop(tex, "use_flip_axis", expand=True)
 
 
-class TEXTURE_PT_stucci(TextureTypePanel, bpy.types.Panel):
+class TEXTURE_PT_stucci(TextureTypePanel, Panel):
     bl_label = "Stucci"
     tex_type = 'STUCCI'
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -356,7 +357,7 @@ class TEXTURE_PT_stucci(TextureTypePanel, bpy.types.Panel):
         row.prop(tex, "turbulence")
 
 
-class TEXTURE_PT_image(TextureTypePanel, bpy.types.Panel):
+class TEXTURE_PT_image(TextureTypePanel, Panel):
     bl_label = "Image"
     tex_type = 'IMAGE'
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -382,7 +383,7 @@ def texture_filter_common(tex, layout):
     layout.prop(tex, "use_filter_size_min")
 
 
-class TEXTURE_PT_image_sampling(TextureTypePanel, bpy.types.Panel):
+class TEXTURE_PT_image_sampling(TextureTypePanel, Panel):
     bl_label = "Image Sampling"
     bl_options = {'DEFAULT_CLOSED'}
     tex_type = 'IMAGE'
@@ -424,7 +425,7 @@ class TEXTURE_PT_image_sampling(TextureTypePanel, bpy.types.Panel):
         texture_filter_common(tex, col)
 
 
-class TEXTURE_PT_image_mapping(TextureTypePanel, bpy.types.Panel):
+class TEXTURE_PT_image_mapping(TextureTypePanel, Panel):
     bl_label = "Image Mapping"
     bl_options = {'DEFAULT_CLOSED'}
     tex_type = 'IMAGE'
@@ -480,7 +481,7 @@ class TEXTURE_PT_image_mapping(TextureTypePanel, bpy.types.Panel):
         col.prop(tex, "crop_max_y", text="Y")
 
 
-class TEXTURE_PT_envmap(TextureTypePanel, bpy.types.Panel):
+class TEXTURE_PT_envmap(TextureTypePanel, Panel):
     bl_label = "Environment Map"
     tex_type = 'ENVIRONMENT_MAP'
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -518,7 +519,7 @@ class TEXTURE_PT_envmap(TextureTypePanel, bpy.types.Panel):
             col.prop(env, "clip_end", text="End")
 
 
-class TEXTURE_PT_envmap_sampling(TextureTypePanel, bpy.types.Panel):
+class TEXTURE_PT_envmap_sampling(TextureTypePanel, Panel):
     bl_label = "Environment Map Sampling"
     bl_options = {'DEFAULT_CLOSED'}
     tex_type = 'ENVIRONMENT_MAP'
@@ -532,7 +533,7 @@ class TEXTURE_PT_envmap_sampling(TextureTypePanel, bpy.types.Panel):
         texture_filter_common(tex, layout)
 
 
-class TEXTURE_PT_musgrave(TextureTypePanel, bpy.types.Panel):
+class TEXTURE_PT_musgrave(TextureTypePanel, Panel):
     bl_label = "Musgrave"
     tex_type = 'MUSGRAVE'
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -569,7 +570,7 @@ class TEXTURE_PT_musgrave(TextureTypePanel, bpy.types.Panel):
         row.prop(tex, "nabla")
 
 
-class TEXTURE_PT_voronoi(TextureTypePanel, bpy.types.Panel):
+class TEXTURE_PT_voronoi(TextureTypePanel, Panel):
     bl_label = "Voronoi"
     tex_type = 'VORONOI'
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -605,7 +606,7 @@ class TEXTURE_PT_voronoi(TextureTypePanel, bpy.types.Panel):
         row.prop(tex, "nabla")
 
 
-class TEXTURE_PT_distortednoise(TextureTypePanel, bpy.types.Panel):
+class TEXTURE_PT_distortednoise(TextureTypePanel, Panel):
     bl_label = "Distorted Noise"
     tex_type = 'DISTORTED_NOISE'
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -627,7 +628,7 @@ class TEXTURE_PT_distortednoise(TextureTypePanel, bpy.types.Panel):
         split.prop(tex, "nabla")
 
 
-class TEXTURE_PT_voxeldata(TextureButtonsPanel, bpy.types.Panel):
+class TEXTURE_PT_voxeldata(TextureButtonsPanel, Panel):
     bl_label = "Voxel Data"
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
 
@@ -667,7 +668,7 @@ class TEXTURE_PT_voxeldata(TextureButtonsPanel, bpy.types.Panel):
         layout.prop(vd, "intensity")
 
 
-class TEXTURE_PT_pointdensity(TextureButtonsPanel, bpy.types.Panel):
+class TEXTURE_PT_pointdensity(TextureButtonsPanel, Panel):
     bl_label = "Point Density"
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
 
@@ -733,7 +734,7 @@ class TEXTURE_PT_pointdensity(TextureButtonsPanel, bpy.types.Panel):
             col.template_curve_mapping(pd, "falloff_curve", brush=False)
 
 
-class TEXTURE_PT_pointdensity_turbulence(TextureButtonsPanel, bpy.types.Panel):
+class TEXTURE_PT_pointdensity_turbulence(TextureButtonsPanel, Panel):
     bl_label = "Turbulence"
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
 
@@ -770,7 +771,7 @@ class TEXTURE_PT_pointdensity_turbulence(TextureButtonsPanel, bpy.types.Panel):
         col.prop(pd, "turbulence_strength")
 
 
-class TEXTURE_PT_mapping(TextureSlotPanel, bpy.types.Panel):
+class TEXTURE_PT_mapping(TextureSlotPanel, Panel):
     bl_label = "Mapping"
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
 
@@ -858,7 +859,7 @@ class TEXTURE_PT_mapping(TextureSlotPanel, bpy.types.Panel):
         row.column().prop(tex, "scale")
 
 
-class TEXTURE_PT_influence(TextureSlotPanel, bpy.types.Panel):
+class TEXTURE_PT_influence(TextureSlotPanel, Panel):
     bl_label = "Influence"
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
 
@@ -1034,7 +1035,7 @@ class TEXTURE_PT_influence(TextureSlotPanel, bpy.types.Panel):
             sub.prop(tex, "bump_objectspace", text="Space")
 
 
-class TEXTURE_PT_custom_props(TextureButtonsPanel, PropertyPanel, bpy.types.Panel):
+class TEXTURE_PT_custom_props(TextureButtonsPanel, PropertyPanel, Panel):
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
     _context_path = "texture"
     _property_type = bpy.types.Texture
diff --git a/release/scripts/startup/bl_ui/properties_world.py b/release/scripts/startup/bl_ui/properties_world.py
index c577af01374..71ee03296a0 100644
--- a/release/scripts/startup/bl_ui/properties_world.py
+++ b/release/scripts/startup/bl_ui/properties_world.py
@@ -18,6 +18,7 @@
 
 # <pep8 compliant>
 import bpy
+from bpy.types import Panel
 from rna_prop_ui import PropertyPanel
 
 
@@ -32,7 +33,7 @@ class WorldButtonsPanel():
         return (context.world and context.scene.render.engine in cls.COMPAT_ENGINES)
 
 
-class WORLD_PT_context_world(WorldButtonsPanel, bpy.types.Panel):
+class WORLD_PT_context_world(WorldButtonsPanel, Panel):
     bl_label = ""
     bl_options = {'HIDE_HEADER'}
     COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -61,7 +62,7 @@ class WORLD_PT_context_world(WorldButtonsPanel, bpy.types.Panel):
             split.label(text=str(texture_count), icon='TEXTURE')
 
 
-class WORLD_PT_preview(WorldButtonsPanel, bpy.types.Panel):
+class WORLD_PT_preview(WorldButtonsPanel, Panel):
     bl_label = "Preview"
     COMPAT_ENGINES = {'BLENDER_RENDER'}
 
@@ -74,7 +75,7 @@ class WORLD_PT_preview(WorldButtonsPanel, bpy.types.Panel):
         self.layout.template_preview(context.world)
 
 
-class WORLD_PT_world(WorldButtonsPanel, bpy.types.Panel):
+class WORLD_PT_world(WorldButtonsPanel, Panel):
     bl_label = "World"
     COMPAT_ENGINES = {'BLENDER_RENDER'}
 
@@ -99,7 +100,7 @@ class WORLD_PT_world(WorldButtonsPanel, bpy.types.Panel):
         row.prop(world, "color_range")
 
 
-class WORLD_PT_ambient_occlusion(WorldButtonsPanel, bpy.types.Panel):
+class WORLD_PT_ambient_occlusion(WorldButtonsPanel, Panel):
     bl_label = "Ambient Occlusion"
     COMPAT_ENGINES = {'BLENDER_RENDER'}
 
@@ -118,7 +119,7 @@ class WORLD_PT_ambient_occlusion(WorldButtonsPanel, bpy.types.Panel):
         split.prop(light, "ao_blend_type", text="")
 
 
-class WORLD_PT_environment_lighting(WorldButtonsPanel, bpy.types.Panel):
+class WORLD_PT_environment_lighting(WorldButtonsPanel, Panel):
     bl_label = "Environment Lighting"
     COMPAT_ENGINES = {'BLENDER_RENDER'}
 
@@ -137,7 +138,7 @@ class WORLD_PT_environment_lighting(WorldButtonsPanel, bpy.types.Panel):
         split.prop(light, "environment_color", text="")
 
 
-class WORLD_PT_indirect_lighting(WorldButtonsPanel, bpy.types.Panel):
+class WORLD_PT_indirect_lighting(WorldButtonsPanel, Panel):
     bl_label = "Indirect Lighting"
     COMPAT_ENGINES = {'BLENDER_RENDER'}
 
@@ -159,7 +160,7 @@ class WORLD_PT_indirect_lighting(WorldButtonsPanel, bpy.types.Panel):
             layout.label(text="Only works with Approximate gather method")
 
 
-class WORLD_PT_gather(WorldButtonsPanel, bpy.types.Panel):
+class WORLD_PT_gather(WorldButtonsPanel, Panel):
     bl_label = "Gather"
     COMPAT_ENGINES = {'BLENDER_RENDER'}
 
@@ -207,7 +208,7 @@ class WORLD_PT_gather(WorldButtonsPanel, bpy.types.Panel):
             col.prop(light, "correction")
 
 
-class WORLD_PT_mist(WorldButtonsPanel, bpy.types.Panel):
+class WORLD_PT_mist(WorldButtonsPanel, Panel):
     bl_label = "Mist"
     bl_options = {'DEFAULT_CLOSED'}
     COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -236,7 +237,7 @@ class WORLD_PT_mist(WorldButtonsPanel, bpy.types.Panel):
         layout.prop(world.mist_settings, "falloff")
 
 
-class WORLD_PT_stars(WorldButtonsPanel, bpy.types.Panel):
+class WORLD_PT_stars(WorldButtonsPanel, Panel):
     bl_label = "Stars"
     bl_options = {'DEFAULT_CLOSED'}
     COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -263,7 +264,7 @@ class WORLD_PT_stars(WorldButtonsPanel, bpy.types.Panel):
         col.prop(world.star_settings, "average_separation", text="Separation")
 
 
-class WORLD_PT_custom_props(WorldButtonsPanel, PropertyPanel, bpy.types.Panel):
+class WORLD_PT_custom_props(WorldButtonsPanel, PropertyPanel, Panel):
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
     _context_path = "world"
     _property_type = bpy.types.World
diff --git a/release/scripts/startup/bl_ui/space_console.py b/release/scripts/startup/bl_ui/space_console.py
index da6c102100b..d457a66def8 100644
--- a/release/scripts/startup/bl_ui/space_console.py
+++ b/release/scripts/startup/bl_ui/space_console.py
@@ -18,32 +18,30 @@
 
 # <pep8 compliant>
 import bpy
+from bpy.types import Header, Menu, Operator
 from bpy.props import StringProperty
 
 
-class CONSOLE_HT_header(bpy.types.Header):
+class CONSOLE_HT_header(Header):
     bl_space_type = 'CONSOLE'
 
     def draw(self, context):
-        layout = self.layout
+        layout = self.layout.row(align=True)
 
-        row = layout.row(align=True)
-        row.template_header()
+        layout.template_header()
 
         if context.area.show_menus:
-            sub = row.row(align=True)
-            sub.menu("CONSOLE_MT_console")
+            layout.menu("CONSOLE_MT_console")
 
-        row = layout.row(align=True)
-        row.operator("console.autocomplete", text="Autocomplete")
+        layout.operator("console.autocomplete", text="Autocomplete")
 
 
-class CONSOLE_MT_console(bpy.types.Menu):
+class CONSOLE_MT_console(Menu):
     bl_label = "Console"
 
     def draw(self, context):
         layout = self.layout
-        layout.column()
+        
         layout.operator("console.clear")
         layout.operator("console.copy")
         layout.operator("console.paste")
@@ -55,7 +53,7 @@ class CONSOLE_MT_console(bpy.types.Menu):
         layout.operator("screen.screen_full_area")
 
 
-class CONSOLE_MT_language(bpy.types.Menu):
+class CONSOLE_MT_language(Menu):
     bl_label = "Languages..."
 
     def draw(self, context):
@@ -82,7 +80,7 @@ def add_scrollback(text, text_type):
             type=text_type)
 
 
-class ConsoleExec(bpy.types.Operator):
+class ConsoleExec(Operator):
     '''Execute the current console line as a python expression'''
     bl_idname = "console.execute"
     bl_label = "Console Execute"
@@ -100,7 +98,7 @@ class ConsoleExec(bpy.types.Operator):
             return {'FINISHED'}
 
 
-class ConsoleAutocomplete(bpy.types.Operator):
+class ConsoleAutocomplete(Operator):
     '''Evaluate the namespace up until the cursor and give a list of options or complete the name if there is only one'''
     bl_idname = "console.autocomplete"
     bl_label = "Console Autocomplete"
@@ -117,7 +115,7 @@ class ConsoleAutocomplete(bpy.types.Operator):
             return {'FINISHED'}
 
 
-class ConsoleBanner(bpy.types.Operator):
+class ConsoleBanner(Operator):
     '''Print a message whem the terminal initializes'''
     bl_idname = "console.banner"
     bl_label = "Console Banner"
@@ -139,7 +137,7 @@ class ConsoleBanner(bpy.types.Operator):
             return {'FINISHED'}
 
 
-class ConsoleLanguage(bpy.types.Operator):
+class ConsoleLanguage(Operator):
     '''Set the current language for this console'''
     bl_idname = "console.language"
     bl_label = "Console Language"
diff --git a/release/scripts/startup/bl_ui/space_dopesheet.py b/release/scripts/startup/bl_ui/space_dopesheet.py
index 930a2029d32..dfbd7b3ae14 100644
--- a/release/scripts/startup/bl_ui/space_dopesheet.py
+++ b/release/scripts/startup/bl_ui/space_dopesheet.py
@@ -19,6 +19,7 @@
 # <pep8 compliant>
 
 import bpy
+from bpy.types import Header, Menu
 
 
 #######################################
@@ -84,7 +85,7 @@ def dopesheet_filter(layout, context, genericFiltersOnly=False):
 #######################################
 # DopeSheet Editor - General/Standard UI
 
-class DOPESHEET_HT_header(bpy.types.Header):
+class DOPESHEET_HT_header(Header):
     bl_space_type = 'DOPESHEET_EDITOR'
 
     def draw(self, context):
@@ -96,21 +97,19 @@ class DOPESHEET_HT_header(bpy.types.Header):
         row.template_header()
 
         if context.area.show_menus:
-            sub = row.row(align=True)
-
-            sub.menu("DOPESHEET_MT_view")
-            sub.menu("DOPESHEET_MT_select")
-            sub.menu("DOPESHEET_MT_marker")
+            row.menu("DOPESHEET_MT_view")
+            row.menu("DOPESHEET_MT_select")
+            row.menu("DOPESHEET_MT_marker")
 
             if st.mode == 'DOPESHEET' or (st.mode == 'ACTION' and st.action != None):
-                sub.menu("DOPESHEET_MT_channel")
+                row.menu("DOPESHEET_MT_channel")
             elif st.mode == 'GPENCIL':
-                sub.menu("DOPESHEET_MT_gpencil_channel")
+                row.menu("DOPESHEET_MT_gpencil_channel")
 
             if st.mode != 'GPENCIL':
-                sub.menu("DOPESHEET_MT_key")
+                row.menu("DOPESHEET_MT_key")
             else:
-                sub.menu("DOPESHEET_MT_gpencil_frame")
+                row.menu("DOPESHEET_MT_gpencil_frame")
 
         layout.prop(st, "mode", text="")
         layout.prop(st.dopesheet, "show_summary", text="Summary")
@@ -134,7 +133,7 @@ class DOPESHEET_HT_header(bpy.types.Header):
         row.operator("action.paste", text="", icon='PASTEDOWN')
 
 
-class DOPESHEET_MT_view(bpy.types.Menu):
+class DOPESHEET_MT_view(Menu):
     bl_label = "View"
 
     def draw(self, context):
@@ -142,8 +141,6 @@ class DOPESHEET_MT_view(bpy.types.Menu):
 
         st = context.space_data
 
-        layout.column()
-
         layout.prop(st, "use_realtime_update")
         layout.prop(st, "show_frame_indicator")
         layout.prop(st, "show_sliders")
@@ -170,13 +167,12 @@ class DOPESHEET_MT_view(bpy.types.Menu):
         layout.operator("screen.screen_full_area")
 
 
-class DOPESHEET_MT_select(bpy.types.Menu):
+class DOPESHEET_MT_select(Menu):
     bl_label = "Select"
 
     def draw(self, context):
         layout = self.layout
 
-        layout.column()
         # This is a bit misleading as the operator's default text is "Select All" while it actually *toggles* All/None
         layout.operator("action.select_all_toggle")
         layout.operator("action.select_all_toggle", text="Invert Selection").invert = True
@@ -206,7 +202,7 @@ class DOPESHEET_MT_select(bpy.types.Menu):
             layout.operator("action.select_linked")
 
 
-class DOPESHEET_MT_marker(bpy.types.Menu):
+class DOPESHEET_MT_marker(Menu):
     bl_label = "Marker"
 
     def draw(self, context):
@@ -216,7 +212,6 @@ class DOPESHEET_MT_marker(bpy.types.Menu):
 
         #layout.operator_context = 'EXEC_REGION_WIN'
 
-        layout.column()
         layout.operator("marker.add", "Add Marker")
         layout.operator("marker.duplicate", text="Duplicate Marker")
         layout.operator("marker.delete", text="Delete Marker")
@@ -237,7 +232,7 @@ class DOPESHEET_MT_marker(bpy.types.Menu):
 #######################################
 # Keyframe Editing
 
-class DOPESHEET_MT_channel(bpy.types.Menu):
+class DOPESHEET_MT_channel(Menu):
     bl_label = "Channel"
 
     def draw(self, context):
@@ -245,7 +240,6 @@ class DOPESHEET_MT_channel(bpy.types.Menu):
 
         layout.operator_context = 'INVOKE_REGION_CHANNELS'
 
-        layout.column()
         layout.operator("anim.channels_delete")
 
         layout.separator()
@@ -268,13 +262,12 @@ class DOPESHEET_MT_channel(bpy.types.Menu):
         layout.operator("anim.channels_fcurves_enable")
 
 
-class DOPESHEET_MT_key(bpy.types.Menu):
+class DOPESHEET_MT_key(Menu):
     bl_label = "Key"
 
     def draw(self, context):
         layout = self.layout
 
-        layout.column()
         layout.menu("DOPESHEET_MT_key_transform", text="Transform")
 
         layout.operator_menu_enum("action.snap", "type", text="Snap")
@@ -301,13 +294,12 @@ class DOPESHEET_MT_key(bpy.types.Menu):
         layout.operator("action.paste")
 
 
-class DOPESHEET_MT_key_transform(bpy.types.Menu):
+class DOPESHEET_MT_key_transform(Menu):
     bl_label = "Transform"
 
     def draw(self, context):
         layout = self.layout
 
-        layout.column()
         layout.operator("transform.transform", text="Grab/Move").mode = 'TIME_TRANSLATE'
         layout.operator("transform.transform", text="Extend").mode = 'TIME_EXTEND'
         layout.operator("transform.transform", text="Slide").mode = 'TIME_SLIDE'
@@ -317,7 +309,7 @@ class DOPESHEET_MT_key_transform(bpy.types.Menu):
 #######################################
 # Grease Pencil Editing
 
-class DOPESHEET_MT_gpencil_channel(bpy.types.Menu):
+class DOPESHEET_MT_gpencil_channel(Menu):
     bl_label = "Channel"
 
     def draw(self, context):
@@ -325,7 +317,6 @@ class DOPESHEET_MT_gpencil_channel(bpy.types.Menu):
 
         layout.operator_context = 'INVOKE_REGION_CHANNELS'
 
-        layout.column()
         layout.operator("anim.channels_delete")
 
         layout.separator()
@@ -345,13 +336,12 @@ class DOPESHEET_MT_gpencil_channel(bpy.types.Menu):
         #layout.operator_menu_enum("anim.channels_move", "direction", text="Move...")
 
 
-class DOPESHEET_MT_gpencil_frame(bpy.types.Menu):
+class DOPESHEET_MT_gpencil_frame(Menu):
     bl_label = "Frame"
 
     def draw(self, context):
         layout = self.layout
 
-        layout.column()
         layout.menu("DOPESHEET_MT_key_transform", text="Transform")
 
         #layout.operator_menu_enum("action.snap", "type", text="Snap")
diff --git a/release/scripts/startup/bl_ui/space_filebrowser.py b/release/scripts/startup/bl_ui/space_filebrowser.py
index 73fe1a97252..cf0d10c5844 100644
--- a/release/scripts/startup/bl_ui/space_filebrowser.py
+++ b/release/scripts/startup/bl_ui/space_filebrowser.py
@@ -18,9 +18,10 @@
 
 # <pep8 compliant>
 import bpy
+from bpy.types import Header
 
 
-class FILEBROWSER_HT_header(bpy.types.Header):
+class FILEBROWSER_HT_header(Header):
     bl_space_type = 'FILE_BROWSER'
 
     def draw(self, context):
diff --git a/release/scripts/startup/bl_ui/space_graph.py b/release/scripts/startup/bl_ui/space_graph.py
index bfc1a0e3a23..c379ea95ea2 100644
--- a/release/scripts/startup/bl_ui/space_graph.py
+++ b/release/scripts/startup/bl_ui/space_graph.py
@@ -19,9 +19,10 @@
 # <pep8 compliant>
 
 import bpy
+from bpy.types import Header, Menu
 
 
-class GRAPH_HT_header(bpy.types.Header):
+class GRAPH_HT_header(Header):
     bl_space_type = 'GRAPH_EDITOR'
 
     def draw(self, context):
@@ -35,13 +36,11 @@ class GRAPH_HT_header(bpy.types.Header):
         row.template_header()
 
         if context.area.show_menus:
-            sub = row.row(align=True)
-
-            sub.menu("GRAPH_MT_view")
-            sub.menu("GRAPH_MT_select")
-            sub.menu("GRAPH_MT_marker")
-            sub.menu("GRAPH_MT_channel")
-            sub.menu("GRAPH_MT_key")
+            row.menu("GRAPH_MT_view")
+            row.menu("GRAPH_MT_select")
+            row.menu("GRAPH_MT_marker")
+            row.menu("GRAPH_MT_channel")
+            row.menu("GRAPH_MT_key")
 
         layout.prop(st, "mode", text="")
 
@@ -61,7 +60,7 @@ class GRAPH_HT_header(bpy.types.Header):
             row.operator("graph.ghost_curves_create", text="", icon='GHOST_ENABLED')
 
 
-class GRAPH_MT_view(bpy.types.Menu):
+class GRAPH_MT_view(Menu):
     bl_label = "View"
 
     def draw(self, context):
@@ -69,8 +68,6 @@ class GRAPH_MT_view(bpy.types.Menu):
 
         st = context.space_data
 
-        layout.column()
-
         layout.operator("graph.properties", icon='MENU_PANEL')
         layout.separator()
 
@@ -107,13 +104,12 @@ class GRAPH_MT_view(bpy.types.Menu):
         layout.operator("screen.screen_full_area")
 
 
-class GRAPH_MT_select(bpy.types.Menu):
+class GRAPH_MT_select(Menu):
     bl_label = "Select"
 
     def draw(self, context):
         layout = self.layout
 
-        layout.column()
         # This is a bit misleading as the operator's default text is "Select All" while it actually *toggles* All/None
         layout.operator("graph.select_all_toggle")
         layout.operator("graph.select_all_toggle", text="Invert Selection").invert = True
@@ -142,7 +138,7 @@ class GRAPH_MT_select(bpy.types.Menu):
         layout.operator("graph.select_linked")
 
 
-class GRAPH_MT_marker(bpy.types.Menu):
+class GRAPH_MT_marker(Menu):
     bl_label = "Marker"
 
     def draw(self, context):
@@ -150,7 +146,6 @@ class GRAPH_MT_marker(bpy.types.Menu):
 
         #layout.operator_context = 'EXEC_REGION_WIN'
 
-        layout.column()
         layout.operator("marker.add", "Add Marker")
         layout.operator("marker.duplicate", text="Duplicate Marker")
         layout.operator("marker.delete", text="Delete Marker")
@@ -163,7 +158,7 @@ class GRAPH_MT_marker(bpy.types.Menu):
         # TODO: pose markers for action edit mode only?
 
 
-class GRAPH_MT_channel(bpy.types.Menu):
+class GRAPH_MT_channel(Menu):
     bl_label = "Channel"
 
     def draw(self, context):
@@ -171,7 +166,6 @@ class GRAPH_MT_channel(bpy.types.Menu):
 
         layout.operator_context = 'INVOKE_REGION_CHANNELS'
 
-        layout.column()
         layout.operator("anim.channels_delete")
 
         layout.separator()
@@ -195,13 +189,12 @@ class GRAPH_MT_channel(bpy.types.Menu):
         layout.operator("anim.channels_fcurves_enable")
 
 
-class GRAPH_MT_key(bpy.types.Menu):
+class GRAPH_MT_key(Menu):
     bl_label = "Key"
 
     def draw(self, context):
         layout = self.layout
 
-        layout.column()
         layout.menu("GRAPH_MT_key_transform", text="Transform")
 
         layout.operator_menu_enum("graph.snap", "type", text="Snap")
@@ -234,13 +227,12 @@ class GRAPH_MT_key(bpy.types.Menu):
         layout.operator("graph.euler_filter", text="Discontinuity (Euler) Filter")
 
 
-class GRAPH_MT_key_transform(bpy.types.Menu):
+class GRAPH_MT_key_transform(Menu):
     bl_label = "Transform"
 
     def draw(self, context):
         layout = self.layout
 
-        layout.column()
         layout.operator("transform.translate", text="Grab/Move")
         layout.operator("transform.transform", text="Extend").mode = 'TIME_EXTEND'
         layout.operator("transform.rotate", text="Rotate")
diff --git a/release/scripts/startup/bl_ui/space_image.py b/release/scripts/startup/bl_ui/space_image.py
index fa5579ea2e0..5d72482ce9c 100644
--- a/release/scripts/startup/bl_ui/space_image.py
+++ b/release/scripts/startup/bl_ui/space_image.py
@@ -18,6 +18,7 @@
 
 # <pep8 compliant>
 import bpy
+from bpy.types import Header, Menu, Panel
 
 
 class BrushButtonsPanel():
@@ -31,7 +32,7 @@ class BrushButtonsPanel():
         return sima.show_paint and toolsettings.brush
 
 
-class IMAGE_MT_view(bpy.types.Menu):
+class IMAGE_MT_view(Menu):
     bl_label = "View"
 
     def draw(self, context):
@@ -79,7 +80,7 @@ class IMAGE_MT_view(bpy.types.Menu):
         layout.operator("screen.screen_full_area")
 
 
-class IMAGE_MT_select(bpy.types.Menu):
+class IMAGE_MT_select(Menu):
     bl_label = "Select"
 
     def draw(self, context):
@@ -100,7 +101,7 @@ class IMAGE_MT_select(bpy.types.Menu):
         layout.operator("uv.select_linked")
 
 
-class IMAGE_MT_image(bpy.types.Menu):
+class IMAGE_MT_image(Menu):
     bl_label = "Image"
 
     def draw(self, context):
@@ -151,7 +152,7 @@ class IMAGE_MT_image(bpy.types.Menu):
             layout.prop(sima, "use_image_paint")
 
 
-class IMAGE_MT_image_invert(bpy.types.Menu):
+class IMAGE_MT_image_invert(Menu):
     bl_label = "Invert"
 
     def draw(self, context):
@@ -177,7 +178,7 @@ class IMAGE_MT_image_invert(bpy.types.Menu):
         op.invert_a = True
 
 
-class IMAGE_MT_uvs_showhide(bpy.types.Menu):
+class IMAGE_MT_uvs_showhide(Menu):
     bl_label = "Show/Hide Faces"
 
     def draw(self, context):
@@ -188,7 +189,7 @@ class IMAGE_MT_uvs_showhide(bpy.types.Menu):
         layout.operator("uv.hide", text="Hide Unselected").unselected = True
 
 
-class IMAGE_MT_uvs_transform(bpy.types.Menu):
+class IMAGE_MT_uvs_transform(Menu):
     bl_label = "Transform"
 
     def draw(self, context):
@@ -203,7 +204,7 @@ class IMAGE_MT_uvs_transform(bpy.types.Menu):
         layout.operator("transform.shear")
 
 
-class IMAGE_MT_uvs_snap(bpy.types.Menu):
+class IMAGE_MT_uvs_snap(Menu):
     bl_label = "Snap"
 
     def draw(self, context):
@@ -220,7 +221,7 @@ class IMAGE_MT_uvs_snap(bpy.types.Menu):
         layout.operator("uv.snap_cursor", text="Cursor to Selected").target = 'SELECTED'
 
 
-class IMAGE_MT_uvs_mirror(bpy.types.Menu):
+class IMAGE_MT_uvs_mirror(Menu):
     bl_label = "Mirror"
 
     def draw(self, context):
@@ -231,7 +232,7 @@ class IMAGE_MT_uvs_mirror(bpy.types.Menu):
         layout.operator("transform.mirror", text="Y Axis").constraint_axis[1] = True
 
 
-class IMAGE_MT_uvs_weldalign(bpy.types.Menu):
+class IMAGE_MT_uvs_weldalign(Menu):
     bl_label = "Weld/Align"
 
     def draw(self, context):
@@ -241,7 +242,7 @@ class IMAGE_MT_uvs_weldalign(bpy.types.Menu):
         layout.operator_enum("uv.align", "axis")  # W, 2/3/4
 
 
-class IMAGE_MT_uvs(bpy.types.Menu):
+class IMAGE_MT_uvs(Menu):
     bl_label = "UVs"
 
     def draw(self, context):
@@ -286,7 +287,7 @@ class IMAGE_MT_uvs(bpy.types.Menu):
         layout.menu("IMAGE_MT_uvs_showhide")
 
 
-class IMAGE_MT_uvs_select_mode(bpy.types.Menu):
+class IMAGE_MT_uvs_select_mode(Menu):
     bl_label = "UV Select Mode"
 
     def draw(self, context):
@@ -328,7 +329,7 @@ class IMAGE_MT_uvs_select_mode(bpy.types.Menu):
             prop.data_path = "tool_settings.uv_select_mode"
 
 
-class IMAGE_HT_header(bpy.types.Header):
+class IMAGE_HT_header(Header):
     bl_space_type = 'IMAGE_EDITOR'
 
     def draw(self, context):
@@ -412,7 +413,7 @@ class IMAGE_HT_header(bpy.types.Header):
             layout.prop(sima, "use_realtime_update", text="", icon_only=True, icon='LOCKED')
 
 
-class IMAGE_PT_image_properties(bpy.types.Panel):
+class IMAGE_PT_image_properties(Panel):
     bl_space_type = 'IMAGE_EDITOR'
     bl_region_type = 'UI'
     bl_label = "Image"
@@ -431,7 +432,7 @@ class IMAGE_PT_image_properties(bpy.types.Panel):
         layout.template_image(sima, "image", iuser)
 
 
-class IMAGE_PT_game_properties(bpy.types.Panel):
+class IMAGE_PT_game_properties(Panel):
     bl_space_type = 'IMAGE_EDITOR'
     bl_region_type = 'UI'
     bl_label = "Game Properties"
@@ -451,15 +452,13 @@ class IMAGE_PT_game_properties(bpy.types.Panel):
         split = layout.split()
 
         col = split.column()
-
+        
+        col.prop(ima, "use_animation")
         sub = col.column(align=True)
-        sub.prop(ima, "use_animation")
-
-        subsub = sub.column()
-        subsub.active = ima.use_animation
-        subsub.prop(ima, "frame_start", text="Start")
-        subsub.prop(ima, "frame_end", text="End")
-        subsub.prop(ima, "fps", text="Speed")
+        sub.active = ima.use_animation
+        sub.prop(ima, "frame_start", text="Start")
+        sub.prop(ima, "frame_end", text="End")
+        sub.prop(ima, "fps", text="Speed")
 
         col.prop(ima, "use_tiles")
         sub = col.column(align=True)
@@ -475,7 +474,7 @@ class IMAGE_PT_game_properties(bpy.types.Panel):
         col.prop(ima, "mapping", expand=True)
 
 
-class IMAGE_PT_view_histogram(bpy.types.Panel):
+class IMAGE_PT_view_histogram(Panel):
     bl_space_type = 'IMAGE_EDITOR'
     bl_region_type = 'PREVIEW'
     bl_label = "Histogram"
@@ -494,7 +493,7 @@ class IMAGE_PT_view_histogram(bpy.types.Panel):
         layout.prop(sima.scopes.histogram, "mode", icon_only=True)
 
 
-class IMAGE_PT_view_waveform(bpy.types.Panel):
+class IMAGE_PT_view_waveform(Panel):
     bl_space_type = 'IMAGE_EDITOR'
     bl_region_type = 'PREVIEW'
     bl_label = "Waveform"
@@ -508,13 +507,14 @@ class IMAGE_PT_view_waveform(bpy.types.Panel):
         layout = self.layout
 
         sima = context.space_data
+        
         layout.template_waveform(sima, "scopes")
-        sub = layout.row().split(percentage=0.75)
-        sub.prop(sima.scopes, "waveform_alpha")
-        sub.prop(sima.scopes, "waveform_mode", text="", icon_only=True)
+        row = layout.split(percentage=0.75)
+        row.prop(sima.scopes, "waveform_alpha")
+        row.prop(sima.scopes, "waveform_mode", text="", icon_only=True)
 
 
-class IMAGE_PT_view_vectorscope(bpy.types.Panel):
+class IMAGE_PT_view_vectorscope(Panel):
     bl_space_type = 'IMAGE_EDITOR'
     bl_region_type = 'PREVIEW'
     bl_label = "Vectorscope"
@@ -532,7 +532,7 @@ class IMAGE_PT_view_vectorscope(bpy.types.Panel):
         layout.prop(sima.scopes, "vectorscope_alpha")
 
 
-class IMAGE_PT_sample_line(bpy.types.Panel):
+class IMAGE_PT_sample_line(Panel):
     bl_space_type = 'IMAGE_EDITOR'
     bl_region_type = 'PREVIEW'
     bl_label = "Sample Line"
@@ -544,13 +544,15 @@ class IMAGE_PT_sample_line(bpy.types.Panel):
 
     def draw(self, context):
         layout = self.layout
-        layout.operator("image.sample_line")
+        
         sima = context.space_data
+        
+        layout.operator("image.sample_line")
         layout.template_histogram(sima, "sample_histogram")
         layout.prop(sima.sample_histogram, "mode")
 
 
-class IMAGE_PT_scope_sample(bpy.types.Panel):
+class IMAGE_PT_scope_sample(Panel):
     bl_space_type = 'IMAGE_EDITOR'
     bl_region_type = 'PREVIEW'
     bl_label = "Scope Samples"
@@ -562,16 +564,17 @@ class IMAGE_PT_scope_sample(bpy.types.Panel):
 
     def draw(self, context):
         layout = self.layout
+        
         sima = context.space_data
-        split = layout.split()
-        row = split.row()
+        
+        row = layout.row()
         row.prop(sima.scopes, "use_full_resolution")
-        row = split.row()
-        row.active = not sima.scopes.use_full_resolution
-        row.prop(sima.scopes, "accuracy")
+        sub = row.row()
+        sub.active = not sima.scopes.use_full_resolution
+        sub.prop(sima.scopes, "accuracy")
 
 
-class IMAGE_PT_view_properties(bpy.types.Panel):
+class IMAGE_PT_view_properties(Panel):
     bl_space_type = 'IMAGE_EDITOR'
     bl_region_type = 'UI'
     bl_label = "Display"
@@ -608,16 +611,16 @@ class IMAGE_PT_view_properties(bpy.types.Panel):
         if show_uvedit:
 
             col = layout.column()
-            col.label("Cursor Location")
-            row = col.row()
-            row.prop(uvedit, "cursor_location", text="")
-
-            col = layout.column()
+            col.label("Cursor Location:")
+            col.row().prop(uvedit, "cursor_location", text="")
+            
+            col.separator()
+            
             col.label(text="UVs:")
-            row = col.row()
-            row.prop(uvedit, "edge_draw_type", expand=True)
+            col.row().prop(uvedit, "edge_draw_type", expand=True)
 
             split = layout.split()
+            
             col = split.column()
             col.prop(uvedit, "show_faces")
             col.prop(uvedit, "show_smooth_edges", text="Smooth")
@@ -630,7 +633,7 @@ class IMAGE_PT_view_properties(bpy.types.Panel):
             sub.row().prop(uvedit, "draw_stretch_type", expand=True)
 
 
-class IMAGE_PT_paint(bpy.types.Panel):
+class IMAGE_PT_paint(Panel):
     bl_space_type = 'IMAGE_EDITOR'
     bl_region_type = 'UI'
     bl_label = "Paint"
@@ -646,9 +649,8 @@ class IMAGE_PT_paint(bpy.types.Panel):
         toolsettings = context.tool_settings.image_paint
         brush = toolsettings.brush
 
-        col = layout.split().column()
-        row = col.row()
-        col.template_ID_preview(toolsettings, "brush", new="brush.add", rows=3, cols=8)
+        col = layout.column()
+        col.template_ID_preview(toolsettings, "brush", new="brush.add", rows=2, cols=6)
 
         if brush:
             col = layout.column()
@@ -675,7 +677,7 @@ class IMAGE_PT_paint(bpy.types.Panel):
                 col.prop(brush, "clone_alpha", text="Alpha")
 
 
-class IMAGE_PT_tools_brush_texture(BrushButtonsPanel, bpy.types.Panel):
+class IMAGE_PT_tools_brush_texture(BrushButtonsPanel, Panel):
     bl_label = "Texture"
     bl_options = {'DEFAULT_CLOSED'}
 
@@ -690,7 +692,7 @@ class IMAGE_PT_tools_brush_texture(BrushButtonsPanel, bpy.types.Panel):
         col.prop(brush, "use_fixed_texture")
 
 
-class IMAGE_PT_tools_brush_tool(BrushButtonsPanel, bpy.types.Panel):
+class IMAGE_PT_tools_brush_tool(BrushButtonsPanel, Panel):
     bl_label = "Tool"
     bl_options = {'DEFAULT_CLOSED'}
 
@@ -699,9 +701,7 @@ class IMAGE_PT_tools_brush_tool(BrushButtonsPanel, bpy.types.Panel):
         settings = context.tool_settings.image_paint
         brush = settings.brush
 
-        col = layout.column(align=True)
-
-        col.prop(brush, "image_tool", expand=False, text="")
+        layout.prop(brush, "image_tool", text="")
 
         row = layout.row(align=True)
         row.prop(brush, "use_paint_sculpt", text="", icon='SCULPTMODE_HLT')
@@ -710,7 +710,7 @@ class IMAGE_PT_tools_brush_tool(BrushButtonsPanel, bpy.types.Panel):
         row.prop(brush, "use_paint_image", text="", icon='TPAINT_HLT')
 
 
-class IMAGE_PT_paint_stroke(BrushButtonsPanel, bpy.types.Panel):
+class IMAGE_PT_paint_stroke(BrushButtonsPanel, Panel):
     bl_label = "Paint Stroke"
     bl_options = {'DEFAULT_CLOSED'}
 
@@ -721,9 +721,9 @@ class IMAGE_PT_paint_stroke(BrushButtonsPanel, bpy.types.Panel):
         brush = toolsettings.brush
 
         layout.prop(brush, "use_airbrush")
-        col = layout.column()
-        col.active = brush.use_airbrush
-        col.prop(brush, "rate", slider=True)
+        row = layout.row()
+        row.active = brush.use_airbrush
+        row.prop(brush, "rate", slider=True)
 
         layout.prop(brush, "use_space")
         row = layout.row(align=True)
@@ -734,7 +734,7 @@ class IMAGE_PT_paint_stroke(BrushButtonsPanel, bpy.types.Panel):
         layout.prop(brush, "use_wrap")
 
 
-class IMAGE_PT_paint_curve(BrushButtonsPanel, bpy.types.Panel):
+class IMAGE_PT_paint_curve(BrushButtonsPanel, Panel):
     bl_label = "Paint Curve"
     bl_options = {'DEFAULT_CLOSED'}
 
diff --git a/release/scripts/startup/bl_ui/space_info.py b/release/scripts/startup/bl_ui/space_info.py
index f66cee7f431..38c1e24f27e 100644
--- a/release/scripts/startup/bl_ui/space_info.py
+++ b/release/scripts/startup/bl_ui/space_info.py
@@ -18,9 +18,10 @@
 
 # <pep8 compliant>
 import bpy
+from bpy.types import Header, Menu, Operator
 
 
-class INFO_HT_header(bpy.types.Header):
+class INFO_HT_header(Header):
     bl_space_type = 'INFO'
 
     def draw(self, context):
@@ -86,19 +87,19 @@ class INFO_HT_header(bpy.types.Header):
         """
 
 
-class INFO_MT_report(bpy.types.Menu):
+class INFO_MT_report(Menu):
     bl_label = "Report"
 
     def draw(self, context):
         layout = self.layout
-        layout.column()
+
         layout.operator("console.select_all_toggle")
         layout.operator("console.select_border")
         layout.operator("console.report_delete")
         layout.operator("console.report_copy")
 
 
-class INFO_MT_file(bpy.types.Menu):
+class INFO_MT_file(Menu):
     bl_label = "File"
 
     def draw(self, context):
@@ -152,7 +153,7 @@ class INFO_MT_file(bpy.types.Menu):
         layout.operator("wm.quit_blender", text="Quit", icon='QUIT')
 
 
-class INFO_MT_file_import(bpy.types.Menu):
+class INFO_MT_file_import(Menu):
     bl_idname = "INFO_MT_file_import"
     bl_label = "Import"
 
@@ -161,7 +162,7 @@ class INFO_MT_file_import(bpy.types.Menu):
             self.layout.operator("wm.collada_import", text="COLLADA (.dae)")
 
 
-class INFO_MT_file_export(bpy.types.Menu):
+class INFO_MT_file_export(Menu):
     bl_idname = "INFO_MT_file_export"
     bl_label = "Export"
 
@@ -170,7 +171,7 @@ class INFO_MT_file_export(bpy.types.Menu):
             self.layout.operator("wm.collada_export", text="COLLADA (.dae)")
 
 
-class INFO_MT_file_external_data(bpy.types.Menu):
+class INFO_MT_file_external_data(Menu):
     bl_label = "External Data"
 
     def draw(self, context):
@@ -187,12 +188,13 @@ class INFO_MT_file_external_data(bpy.types.Menu):
         layout.operator("file.find_missing_files")
 
 
-class INFO_MT_mesh_add(bpy.types.Menu):
+class INFO_MT_mesh_add(Menu):
     bl_idname = "INFO_MT_mesh_add"
     bl_label = "Mesh"
 
     def draw(self, context):
         layout = self.layout
+        
         layout.operator_context = 'INVOKE_REGION_WIN'
         layout.operator("mesh.primitive_plane_add", icon='MESH_PLANE', text="Plane")
         layout.operator("mesh.primitive_cube_add", icon='MESH_CUBE', text="Cube")
@@ -207,12 +209,13 @@ class INFO_MT_mesh_add(bpy.types.Menu):
         layout.operator("mesh.primitive_torus_add", text="Torus", icon='MESH_TORUS')
 
 
-class INFO_MT_curve_add(bpy.types.Menu):
+class INFO_MT_curve_add(Menu):
     bl_idname = "INFO_MT_curve_add"
     bl_label = "Curve"
 
     def draw(self, context):
         layout = self.layout
+        
         layout.operator_context = 'INVOKE_REGION_WIN'
         layout.operator("curve.primitive_bezier_curve_add", icon='CURVE_BEZCURVE', text="Bezier")
         layout.operator("curve.primitive_bezier_circle_add", icon='CURVE_BEZCIRCLE', text="Circle")
@@ -221,7 +224,7 @@ class INFO_MT_curve_add(bpy.types.Menu):
         layout.operator("curve.primitive_nurbs_path_add", icon='CURVE_PATH', text="Path")
 
 
-class INFO_MT_edit_curve_add(bpy.types.Menu):
+class INFO_MT_edit_curve_add(Menu):
     bl_idname = "INFO_MT_edit_curve_add"
     bl_label = "Add"
 
@@ -237,12 +240,13 @@ class INFO_MT_edit_curve_add(bpy.types.Menu):
             INFO_MT_curve_add.draw(self, context)
 
 
-class INFO_MT_surface_add(bpy.types.Menu):
+class INFO_MT_surface_add(Menu):
     bl_idname = "INFO_MT_surface_add"
     bl_label = "Surface"
 
     def draw(self, context):
         layout = self.layout
+        
         layout.operator_context = 'INVOKE_REGION_WIN'
         layout.operator("surface.primitive_nurbs_surface_curve_add", icon='SURFACE_NCURVE', text="NURBS Curve")
         layout.operator("surface.primitive_nurbs_surface_circle_add", icon='SURFACE_NCIRCLE', text="NURBS Circle")
@@ -252,17 +256,18 @@ class INFO_MT_surface_add(bpy.types.Menu):
         layout.operator("surface.primitive_nurbs_surface_torus_add", icon='SURFACE_NTORUS', text="NURBS Torus")
 
 
-class INFO_MT_armature_add(bpy.types.Menu):
+class INFO_MT_armature_add(Menu):
     bl_idname = "INFO_MT_armature_add"
     bl_label = "Armature"
 
     def draw(self, context):
         layout = self.layout
+        
         layout.operator_context = 'INVOKE_REGION_WIN'
         layout.operator("object.armature_add", text="Single Bone", icon='BONE_DATA')
 
 
-class INFO_MT_add(bpy.types.Menu):
+class INFO_MT_add(Menu):
     bl_label = "Add"
 
     def draw(self, context):
@@ -302,7 +307,7 @@ class INFO_MT_add(bpy.types.Menu):
             layout.operator_menu_enum("object.group_instance_add", "group", text="Group Instance", icon='OUTLINER_OB_EMPTY')
 
 
-class INFO_MT_game(bpy.types.Menu):
+class INFO_MT_game(Menu):
     bl_label = "Game"
 
     def draw(self, context):
@@ -323,7 +328,7 @@ class INFO_MT_game(bpy.types.Menu):
         layout.prop(gs, "use_auto_start")
 
 
-class INFO_MT_render(bpy.types.Menu):
+class INFO_MT_render(Menu):
     bl_label = "Render"
 
     def draw(self, context):
@@ -343,7 +348,7 @@ class INFO_MT_render(bpy.types.Menu):
         layout.operator("render.play_rendered_anim")
 
 
-class INFO_MT_help(bpy.types.Menu):
+class INFO_MT_help(Menu):
     bl_label = "Help"
 
     def draw(self, context):
@@ -352,7 +357,7 @@ class INFO_MT_help(bpy.types.Menu):
         layout = self.layout
 
         layout.operator("wm.url_open", text="Manual", icon='HELP').url = 'http://wiki.blender.org/index.php/Doc:Manual'
-        layout.operator("wm.url_open", text="Release Log", icon='URL').url = 'http://www.blender.org/development/release-logs/blender-258/'
+        layout.operator("wm.url_open", text="Release Log", icon='URL').url = 'http://www.blender.org/development/release-logs/blender-259/'
 
         layout.separator()
 
@@ -379,7 +384,7 @@ class INFO_MT_help(bpy.types.Menu):
 # Help operators
 
 
-class HELP_OT_operator_cheat_sheet(bpy.types.Operator):
+class HELP_OT_operator_cheat_sheet(Operator):
     bl_idname = "help.operator_cheat_sheet"
     bl_label = "Operator Cheat Sheet"
 
diff --git a/release/scripts/startup/bl_ui/space_logic.py b/release/scripts/startup/bl_ui/space_logic.py
index 7f7aba71a46..869a91124d3 100644
--- a/release/scripts/startup/bl_ui/space_logic.py
+++ b/release/scripts/startup/bl_ui/space_logic.py
@@ -18,9 +18,10 @@
 
 # <pep8 compliant>
 import bpy
+from bpy.types import Header, Menu, Panel
 
 
-class LOGIC_PT_properties(bpy.types.Panel):
+class LOGIC_PT_properties(Panel):
     bl_space_type = 'LOGIC_EDITOR'
     bl_region_type = 'UI'
     bl_label = "Properties"
@@ -49,7 +50,7 @@ class LOGIC_PT_properties(bpy.types.Panel):
             row.operator("object.game_property_remove", text="", icon='X', emboss=False).index = i
 
 
-class LOGIC_MT_logicbricks_add(bpy.types.Menu):
+class LOGIC_MT_logicbricks_add(Menu):
     bl_label = "Add"
 
     def draw(self, context):
@@ -60,30 +61,24 @@ class LOGIC_MT_logicbricks_add(bpy.types.Menu):
         layout.operator_menu_enum("logic.actuator_add", "type", text="Actuator")
 
 
-class LOGIC_HT_header(bpy.types.Header):
+class LOGIC_HT_header(Header):
     bl_space_type = 'LOGIC_EDITOR'
 
     def draw(self, context):
-        layout = self.layout
+        layout = self.layout.row(align=True)
 
-        row = layout.row(align=True)
-        row.template_header()
+        layout.template_header()
 
         if context.area.show_menus:
-            sub = row.row(align=True)
-            sub.menu("LOGIC_MT_view")
-            #sub.menu("LOGIC_MT_select")
-            #sub.menu("LOGIC_MT_add")
+            layout.menu("LOGIC_MT_view")
 
 
-class LOGIC_MT_view(bpy.types.Menu):
+class LOGIC_MT_view(Menu):
     bl_label = "View"
 
     def draw(self, context):
         layout = self.layout
 
-        layout.column()
-
         layout.operator("logic.properties", icon='MENU_PANEL')
 
 if __name__ == "__main__":  # only for live edit.
diff --git a/release/scripts/startup/bl_ui/space_nla.py b/release/scripts/startup/bl_ui/space_nla.py
index 717adb3baa8..c69af2c9a60 100644
--- a/release/scripts/startup/bl_ui/space_nla.py
+++ b/release/scripts/startup/bl_ui/space_nla.py
@@ -19,9 +19,10 @@
 # <pep8 compliant>
 
 import bpy
+from bpy.types import Header, Menu
 
 
-class NLA_HT_header(bpy.types.Header):
+class NLA_HT_header(Header):
     bl_space_type = 'NLA_EDITOR'
 
     def draw(self, context):
@@ -35,20 +36,18 @@ class NLA_HT_header(bpy.types.Header):
         row.template_header()
 
         if context.area.show_menus:
-            sub = row.row(align=True)
-
-            sub.menu("NLA_MT_view")
-            sub.menu("NLA_MT_select")
-            sub.menu("NLA_MT_marker")
-            sub.menu("NLA_MT_edit")
-            sub.menu("NLA_MT_add")
+            row.menu("NLA_MT_view")
+            row.menu("NLA_MT_select")
+            row.menu("NLA_MT_marker")
+            row.menu("NLA_MT_edit")
+            row.menu("NLA_MT_add")
 
         dopesheet_filter(layout, context)
 
         layout.prop(st, "auto_snap", text="")
 
 
-class NLA_MT_view(bpy.types.Menu):
+class NLA_MT_view(Menu):
     bl_label = "View"
 
     def draw(self, context):
@@ -56,8 +55,6 @@ class NLA_MT_view(bpy.types.Menu):
 
         st = context.space_data
 
-        layout.column()
-
         layout.operator("nla.properties", icon='MENU_PANEL')
 
         layout.separator()
@@ -78,13 +75,12 @@ class NLA_MT_view(bpy.types.Menu):
         layout.operator("screen.screen_full_area")
 
 
-class NLA_MT_select(bpy.types.Menu):
+class NLA_MT_select(Menu):
     bl_label = "Select"
 
     def draw(self, context):
         layout = self.layout
 
-        layout.column()
         # This is a bit misleading as the operator's default text is "Select All" while it actually *toggles* All/None
         layout.operator("nla.select_all_toggle")
         layout.operator("nla.select_all_toggle", text="Invert Selection").invert = True
@@ -98,7 +94,7 @@ class NLA_MT_select(bpy.types.Menu):
         layout.operator("nla.select_leftright", text="After Current Frame").mode = 'RIGHT'
 
 
-class NLA_MT_marker(bpy.types.Menu):
+class NLA_MT_marker(Menu):
     bl_label = "Marker"
 
     def draw(self, context):
@@ -106,7 +102,6 @@ class NLA_MT_marker(bpy.types.Menu):
 
         #layout.operator_context = 'EXEC_REGION_WIN'
 
-        layout.column()
         layout.operator("marker.add", "Add Marker")
         layout.operator("marker.duplicate", text="Duplicate Marker")
         layout.operator("marker.delete", text="Delete Marker")
@@ -117,7 +112,7 @@ class NLA_MT_marker(bpy.types.Menu):
         layout.operator("marker.move", text="Grab/Move Marker")
 
 
-class NLA_MT_edit(bpy.types.Menu):
+class NLA_MT_edit(Menu):
     bl_label = "Edit"
 
     def draw(self, context):
@@ -125,7 +120,6 @@ class NLA_MT_edit(bpy.types.Menu):
 
         scene = context.scene
 
-        layout.column()
         layout.menu("NLA_MT_edit_transform", text="Transform")
 
         layout.operator_menu_enum("nla.snap", "type", text="Snap")
@@ -160,13 +154,12 @@ class NLA_MT_edit(bpy.types.Menu):
             layout.operator("nla.tweakmode_enter", text="Start Tweaking Strip Actions")
 
 
-class NLA_MT_add(bpy.types.Menu):
+class NLA_MT_add(Menu):
     bl_label = "Add"
 
     def draw(self, context):
         layout = self.layout
 
-        layout.column()
         layout.operator("nla.actionclip_add")
         layout.operator("nla.transition_add")
 
@@ -179,13 +172,12 @@ class NLA_MT_add(bpy.types.Menu):
         layout.operator("nla.tracks_add", text="Add Tracks Above Selected").above_selected = True
 
 
-class NLA_MT_edit_transform(bpy.types.Menu):
+class NLA_MT_edit_transform(Menu):
     bl_label = "Transform"
 
     def draw(self, context):
         layout = self.layout
 
-        layout.column()
         layout.operator("transform.translate", text="Grab/Move")
         layout.operator("transform.transform", text="Extend").mode = 'TIME_EXTEND'
         layout.operator("transform.transform", text="Scale").mode = 'TIME_SCALE'
diff --git a/release/scripts/startup/bl_ui/space_node.py b/release/scripts/startup/bl_ui/space_node.py
index abeee984fac..96744cf1969 100644
--- a/release/scripts/startup/bl_ui/space_node.py
+++ b/release/scripts/startup/bl_ui/space_node.py
@@ -18,28 +18,29 @@
 
 # <pep8 compliant>
 import bpy
+from bpy.types import Header, Menu, Panel
 
 
-class NODE_HT_header(bpy.types.Header):
+class NODE_HT_header(Header):
     bl_space_type = 'NODE_EDITOR'
 
     def draw(self, context):
         layout = self.layout
 
         snode = context.space_data
+        snode_id = snode.id
+        id_from = snode.id_from
 
         row = layout.row(align=True)
         row.template_header()
 
         if context.area.show_menus:
-            sub = row.row(align=True)
-            sub.menu("NODE_MT_view")
-            sub.menu("NODE_MT_select")
-            sub.menu("NODE_MT_add")
-            sub.menu("NODE_MT_node")
+            row.menu("NODE_MT_view")
+            row.menu("NODE_MT_select")
+            row.menu("NODE_MT_add")
+            row.menu("NODE_MT_node")
 
-        row = layout.row()
-        row.prop(snode, "tree_type", text="", expand=True)
+        layout.prop(snode, "tree_type", text="", expand=True)
 
         if snode.tree_type == 'SHADER':
             row.prop(snode, "shader_type", text="", expand=True)
@@ -53,10 +54,8 @@ class NODE_HT_header(bpy.types.Header):
                     layout.prop(snode_id, "use_nodes")
 
         elif snode.tree_type == 'TEXTURE':
-            row.prop(snode, "texture_type", text="", expand=True)
+            layout.prop(snode, "texture_type", text="", expand=True)
 
-            snode_id = snode.id
-            id_from = snode.id_from
             if id_from:
                 if snode.texture_type == 'BRUSH':
                     layout.template_ID(id_from, "texture", new="texture.new")
@@ -66,10 +65,8 @@ class NODE_HT_header(bpy.types.Header):
                 layout.prop(snode_id, "use_nodes")
 
         elif snode.tree_type == 'COMPOSITING':
-            scene = snode.id
-
-            layout.prop(scene, "use_nodes")
-            layout.prop(scene.render, "use_free_unused_nodes", text="Free Unused")
+            layout.prop(snode_id, "use_nodes")
+            layout.prop(snode_id.render, "use_free_unused_nodes", text="Free Unused")
             layout.prop(snode, "show_backdrop")
             if snode.show_backdrop:
                 row = layout.row(align=True)
@@ -81,7 +78,7 @@ class NODE_HT_header(bpy.types.Header):
         layout.template_running_jobs()
 
 
-class NODE_MT_view(bpy.types.Menu):
+class NODE_MT_view(Menu):
     bl_label = "View"
 
     def draw(self, context):
@@ -110,7 +107,7 @@ class NODE_MT_view(bpy.types.Menu):
         layout.operator("screen.screen_full_area")
 
 
-class NODE_MT_select(bpy.types.Menu):
+class NODE_MT_select(Menu):
     bl_label = "Select"
 
     def draw(self, context):
@@ -127,7 +124,7 @@ class NODE_MT_select(bpy.types.Menu):
         layout.operator("node.select_same_type_prev")
 
 
-class NODE_MT_node(bpy.types.Menu):
+class NODE_MT_node(Menu):
     bl_label = "Node"
 
     def draw(self, context):
@@ -168,7 +165,7 @@ class NODE_MT_node(bpy.types.Menu):
 
 
 # Node Backdrop options
-class NODE_PT_properties(bpy.types.Panel):
+class NODE_PT_properties(Panel):
     bl_space_type = 'NODE_EDITOR'
     bl_region_type = 'UI'
     bl_label = "Backdrop"
diff --git a/release/scripts/startup/bl_ui/space_outliner.py b/release/scripts/startup/bl_ui/space_outliner.py
index 1f196cbd191..b1e6eaf3245 100644
--- a/release/scripts/startup/bl_ui/space_outliner.py
+++ b/release/scripts/startup/bl_ui/space_outliner.py
@@ -18,9 +18,10 @@
 
 # <pep8 compliant>
 import bpy
+from bpy.types import Header, Menu
 
 
-class OUTLINER_HT_header(bpy.types.Header):
+class OUTLINER_HT_header(Header):
     bl_space_type = 'OUTLINER'
 
     def draw(self, context):
@@ -63,7 +64,7 @@ class OUTLINER_HT_header(bpy.types.Header):
                 row.label(text="No Keying Set active")
 
 
-class OUTLINER_MT_view(bpy.types.Menu):
+class OUTLINER_MT_view(Menu):
     bl_label = "View"
 
     def draw(self, context):
@@ -71,14 +72,13 @@ class OUTLINER_MT_view(bpy.types.Menu):
 
         space = context.space_data
 
-        col = layout.column()
         if space.display_mode not in {'DATABLOCKS', 'USER_PREFERENCES', 'KEYMAPS'}:
-            col.prop(space, "show_restrict_columns")
-            col.separator()
-            col.operator("outliner.show_active")
+            layout.prop(space, "show_restrict_columns")
+            layout.separator()
+            layout.operator("outliner.show_active")
 
-        col.operator("outliner.show_one_level")
-        col.operator("outliner.show_hierarchy")
+        layout.operator("outliner.show_one_level")
+        layout.operator("outliner.show_hierarchy")
 
         layout.separator()
 
@@ -86,7 +86,7 @@ class OUTLINER_MT_view(bpy.types.Menu):
         layout.operator("screen.screen_full_area")
 
 
-class OUTLINER_MT_search(bpy.types.Menu):
+class OUTLINER_MT_search(Menu):
     bl_label = "Search"
 
     def draw(self, context):
@@ -94,27 +94,23 @@ class OUTLINER_MT_search(bpy.types.Menu):
 
         space = context.space_data
 
-        col = layout.column()
+        layout.prop(space, "use_filter_case_sensitive")
+        layout.prop(space, "use_filter_complete")
 
-        col.prop(space, "use_filter_case_sensitive")
-        col.prop(space, "use_filter_complete")
 
-
-class OUTLINER_MT_edit_datablocks(bpy.types.Menu):
+class OUTLINER_MT_edit_datablocks(Menu):
     bl_label = "Edit"
 
     def draw(self, context):
         layout = self.layout
 
-        col = layout.column()
-
-        col.operator("outliner.keyingset_add_selected")
-        col.operator("outliner.keyingset_remove_selected")
+        layout.operator("outliner.keyingset_add_selected")
+        layout.operator("outliner.keyingset_remove_selected")
 
-        col.separator()
+        layout.separator()
 
-        col.operator("outliner.drivers_add_selected")
-        col.operator("outliner.drivers_delete_selected")
+        layout.operator("outliner.drivers_add_selected")
+        layout.operator("outliner.drivers_delete_selected")
 
 if __name__ == "__main__":  # only for live edit.
     bpy.utils.register_module(__name__)
diff --git a/release/scripts/startup/bl_ui/space_sequencer.py b/release/scripts/startup/bl_ui/space_sequencer.py
index c477a2ff62b..84cc365425e 100644
--- a/release/scripts/startup/bl_ui/space_sequencer.py
+++ b/release/scripts/startup/bl_ui/space_sequencer.py
@@ -18,6 +18,7 @@
 
 # <pep8 compliant>
 import bpy
+from bpy.types import Header, Menu, Panel
 
 
 def act_strip(context):
@@ -27,7 +28,7 @@ def act_strip(context):
         return None
 
 
-class SEQUENCER_HT_header(bpy.types.Header):
+class SEQUENCER_HT_header(Header):
     bl_space_type = 'SEQUENCE_EDITOR'
 
     def draw(self, context):
@@ -39,14 +40,13 @@ class SEQUENCER_HT_header(bpy.types.Header):
         row.template_header()
 
         if context.area.show_menus:
-            sub = row.row(align=True)
-            sub.menu("SEQUENCER_MT_view")
+            row.menu("SEQUENCER_MT_view")
 
             if st.view_type in {'SEQUENCER', 'SEQUENCER_PREVIEW'}:
-                sub.menu("SEQUENCER_MT_select")
-                sub.menu("SEQUENCER_MT_marker")
-                sub.menu("SEQUENCER_MT_add")
-                sub.menu("SEQUENCER_MT_strip")
+                row.menu("SEQUENCER_MT_select")
+                row.menu("SEQUENCER_MT_marker")
+                row.menu("SEQUENCER_MT_add")
+                row.menu("SEQUENCER_MT_strip")
 
         layout.prop(st, "view_type", expand=True, text="")
 
@@ -76,7 +76,7 @@ class SEQUENCER_HT_header(bpy.types.Header):
                     row.prop(ed, "overlay_lock", text="", icon='LOCKED')
 
 
-class SEQUENCER_MT_view_toggle(bpy.types.Menu):
+class SEQUENCER_MT_view_toggle(Menu):
     bl_label = "View Type"
 
     def draw(self, context):
@@ -87,7 +87,7 @@ class SEQUENCER_MT_view_toggle(bpy.types.Menu):
         layout.operator("sequencer.view_toggle").type = 'SEQUENCER_PREVIEW'
 
 
-class SEQUENCER_MT_view(bpy.types.Menu):
+class SEQUENCER_MT_view(Menu):
     bl_label = "View"
 
     def draw(self, context):
@@ -95,8 +95,6 @@ class SEQUENCER_MT_view(bpy.types.Menu):
 
         st = context.space_data
 
-        layout.column()
-
         layout.operator("sequencer.properties", icon='MENU_PANEL')
 
         layout.separator()
@@ -129,13 +127,12 @@ class SEQUENCER_MT_view(bpy.types.Menu):
         layout.operator("screen.screen_full_area")
 
 
-class SEQUENCER_MT_select(bpy.types.Menu):
+class SEQUENCER_MT_select(Menu):
     bl_label = "Select"
 
     def draw(self, context):
         layout = self.layout
 
-        layout.column()
         layout.operator("sequencer.select_active_side", text="Strips to the Left").side = 'LEFT'
         layout.operator("sequencer.select_active_side", text="Strips to the Right").side = 'RIGHT'
         layout.separator()
@@ -148,7 +145,7 @@ class SEQUENCER_MT_select(bpy.types.Menu):
         layout.operator("sequencer.select_inverse")
 
 
-class SEQUENCER_MT_marker(bpy.types.Menu):
+class SEQUENCER_MT_marker(Menu):
     bl_label = "Marker"
 
     def draw(self, context):
@@ -156,7 +153,6 @@ class SEQUENCER_MT_marker(bpy.types.Menu):
 
         #layout.operator_context = 'EXEC_REGION_WIN'
 
-        layout.column()
         layout.operator("marker.add", "Add Marker")
         layout.operator("marker.duplicate", text="Duplicate Marker")
         layout.operator("marker.delete", text="Delete Marker")
@@ -169,14 +165,26 @@ class SEQUENCER_MT_marker(bpy.types.Menu):
         #layout.operator("sequencer.sound_strip_add", text="Transform Markers") # toggle, will be rna - (sseq->flag & SEQ_MARKER_TRANS)
 
 
-class SEQUENCER_MT_add(bpy.types.Menu):
+class SEQUENCER_MT_change(Menu):
+    bl_label = "Change"
+
+    def draw(self, context):
+        layout = self.layout
+
+        layout.operator_context = 'INVOKE_REGION_WIN'
+
+        layout.operator_menu_enum("sequencer.change_effect_input", "swap")
+        layout.operator_menu_enum("sequencer.change_effect_type", "type")
+        layout.operator("sequencer.change_path", text="Path/Files")
+
+
+class SEQUENCER_MT_add(Menu):
     bl_label = "Add"
 
     def draw(self, context):
         layout = self.layout
         layout.operator_context = 'INVOKE_REGION_WIN'
 
-        layout.column()
         if len(bpy.data.scenes) > 10:
             layout.operator_context = 'INVOKE_DEFAULT'
             layout.operator("sequencer.scene_strip_add", text="Scene...")
@@ -190,14 +198,13 @@ class SEQUENCER_MT_add(bpy.types.Menu):
         layout.menu("SEQUENCER_MT_add_effect")
 
 
-class SEQUENCER_MT_add_effect(bpy.types.Menu):
+class SEQUENCER_MT_add_effect(Menu):
     bl_label = "Effect Strip..."
 
     def draw(self, context):
         layout = self.layout
         layout.operator_context = 'INVOKE_REGION_WIN'
 
-        layout.column()
         layout.operator("sequencer.effect_strip_add", text="Add").type = 'ADD'
         layout.operator("sequencer.effect_strip_add", text="Subtract").type = 'SUBTRACT'
         layout.operator("sequencer.effect_strip_add", text="Alpha Over").type = 'ALPHA_OVER'
@@ -216,7 +223,7 @@ class SEQUENCER_MT_add_effect(bpy.types.Menu):
         layout.operator("sequencer.effect_strip_add", text="Adjustment Layer").type = 'ADJUSTMENT'
 
 
-class SEQUENCER_MT_strip(bpy.types.Menu):
+class SEQUENCER_MT_strip(Menu):
     bl_label = "Strip"
 
     def draw(self, context):
@@ -224,7 +231,6 @@ class SEQUENCER_MT_strip(bpy.types.Menu):
 
         layout.operator_context = 'INVOKE_REGION_WIN'
 
-        layout.column()
         layout.operator("transform.transform", text="Grab/Move").mode = 'TRANSLATION'
         layout.operator("transform.transform", text="Grab/Extend from frame").mode = 'TIME_EXTEND'
         #  uiItemO(layout, NULL, 0, "sequencer.strip_snap"); // TODO - add this operator
@@ -233,6 +239,7 @@ class SEQUENCER_MT_strip(bpy.types.Menu):
         layout.operator("sequencer.cut", text="Cut (hard) at frame").type = 'HARD'
         layout.operator("sequencer.cut", text="Cut (soft) at frame").type = 'SOFT'
         layout.operator("sequencer.images_separate")
+        layout.operator("sequencer.offset_clear")
         layout.operator("sequencer.deinterlace_selected_movies")
         layout.separator()
 
@@ -292,6 +299,7 @@ class SEQUENCER_MT_strip(bpy.types.Menu):
         layout.separator()
 
         layout.operator("sequencer.swap_data")
+        layout.menu("SEQUENCER_MT_change")
 
 
 class SequencerButtonsPanel():
@@ -320,7 +328,7 @@ class SequencerButtonsPanel_Output():
         return cls.has_preview(context)
 
 
-class SEQUENCER_PT_edit(SequencerButtonsPanel, bpy.types.Panel):
+class SEQUENCER_PT_edit(SequencerButtonsPanel, Panel):
     bl_label = "Edit Strip"
 
     def draw(self, context):
@@ -374,9 +382,11 @@ class SEQUENCER_PT_edit(SequencerButtonsPanel, bpy.types.Panel):
 
         if elem and elem.orig_width > 0 and elem.orig_height > 0:
             col.label(text="Orig Dim: %dx%d" % (elem.orig_width, elem.orig_height))
+        else:
+            col.label(text="Orig Dim: None")
 
 
-class SEQUENCER_PT_effect(SequencerButtonsPanel, bpy.types.Panel):
+class SEQUENCER_PT_effect(SequencerButtonsPanel, Panel):
     bl_label = "Effect Strip"
 
     @classmethod
@@ -514,7 +524,7 @@ class SEQUENCER_PT_effect(SequencerButtonsPanel, bpy.types.Panel):
         col.prop(strip, "rotation_start", text="Rotation")
 
 
-class SEQUENCER_PT_input(SequencerButtonsPanel, bpy.types.Panel):
+class SEQUENCER_PT_input(SequencerButtonsPanel, Panel):
     bl_label = "Strip Input"
 
     @classmethod
@@ -558,6 +568,9 @@ class SEQUENCER_PT_input(SequencerButtonsPanel, bpy.types.Panel):
                 col = split.column()
                 col.prop(elem, "filename", text="")  # strip.elements[0] could be a fallback
 
+            # also accessible from the menu
+            layout.operator("sequencer.change_path")
+
         elif seq_type == 'MOVIE':
             split = layout.split(percentage=0.2)
             col = split.column()
@@ -595,7 +608,7 @@ class SEQUENCER_PT_input(SequencerButtonsPanel, bpy.types.Panel):
         col.prop(strip, "frame_offset_end", text="End")
 
 
-class SEQUENCER_PT_sound(SequencerButtonsPanel, bpy.types.Panel):
+class SEQUENCER_PT_sound(SequencerButtonsPanel, Panel):
     bl_label = "Sound"
 
     @classmethod
@@ -636,7 +649,7 @@ class SEQUENCER_PT_sound(SequencerButtonsPanel, bpy.types.Panel):
         col.prop(strip, "animation_offset_end", text="End")
 
 
-class SEQUENCER_PT_scene(SequencerButtonsPanel, bpy.types.Panel):
+class SEQUENCER_PT_scene(SequencerButtonsPanel, Panel):
     bl_label = "Scene"
 
     @classmethod
@@ -670,7 +683,7 @@ class SEQUENCER_PT_scene(SequencerButtonsPanel, bpy.types.Panel):
             layout.label(text="Original frame range: %d-%d (%d)" % (sta, end, end - sta + 1))
 
 
-class SEQUENCER_PT_filter(SequencerButtonsPanel, bpy.types.Panel):
+class SEQUENCER_PT_filter(SequencerButtonsPanel, Panel):
     bl_label = "Filter"
 
     @classmethod
@@ -732,7 +745,7 @@ class SEQUENCER_PT_filter(SequencerButtonsPanel, bpy.types.Panel):
             col.prop(strip.color_balance, "invert_gain", text="Inverse")
 
 
-class SEQUENCER_PT_proxy(SequencerButtonsPanel, bpy.types.Panel):
+class SEQUENCER_PT_proxy(SequencerButtonsPanel, Panel):
     bl_label = "Proxy"
 
     @classmethod
@@ -766,7 +779,7 @@ class SEQUENCER_PT_proxy(SequencerButtonsPanel, bpy.types.Panel):
                 flow.prop(strip.proxy, "filepath")
 
 
-class SEQUENCER_PT_preview(SequencerButtonsPanel_Output, bpy.types.Panel):
+class SEQUENCER_PT_preview(SequencerButtonsPanel_Output, Panel):
     bl_label = "Scene Preview/Render"
     bl_space_type = 'SEQUENCE_EDITOR'
     bl_region_type = 'UI'
@@ -791,7 +804,7 @@ class SEQUENCER_PT_preview(SequencerButtonsPanel_Output, bpy.types.Panel):
         '''
 
 
-class SEQUENCER_PT_view(SequencerButtonsPanel_Output, bpy.types.Panel):
+class SEQUENCER_PT_view(SequencerButtonsPanel_Output, Panel):
     bl_label = "View Settings"
 
     def draw(self, context):
diff --git a/release/scripts/startup/bl_ui/space_text.py b/release/scripts/startup/bl_ui/space_text.py
index b787fc5cf75..300211a26bf 100644
--- a/release/scripts/startup/bl_ui/space_text.py
+++ b/release/scripts/startup/bl_ui/space_text.py
@@ -18,9 +18,10 @@
 
 # <pep8-80 compliant>
 import bpy
+from bpy.types import Header, Menu, Panel
 
 
-class TEXT_HT_header(bpy.types.Header):
+class TEXT_HT_header(Header):
     bl_space_type = 'TEXT_EDITOR'
 
     def draw(self, context):
@@ -74,7 +75,7 @@ class TEXT_HT_header(bpy.types.Header):
                           else "Text: Internal")
 
 
-class TEXT_PT_properties(bpy.types.Panel):
+class TEXT_PT_properties(Panel):
     bl_space_type = 'TEXT_EDITOR'
     bl_region_type = 'UI'
     bl_label = "Properties"
@@ -105,7 +106,7 @@ class TEXT_PT_properties(bpy.types.Panel):
         col.prop(st, "margin_column")
 
 
-class TEXT_PT_find(bpy.types.Panel):
+class TEXT_PT_find(Panel):
     bl_space_type = 'TEXT_EDITOR'
     bl_region_type = 'UI'
     bl_label = "Find"
@@ -139,7 +140,7 @@ class TEXT_PT_find(bpy.types.Panel):
         row.prop(st, "use_find_all", text="All")
 
 
-class TEXT_MT_view(bpy.types.Menu):
+class TEXT_MT_view(Menu):
     bl_label = "View"
 
     def draw(self, context):
@@ -162,7 +163,7 @@ class TEXT_MT_view(bpy.types.Menu):
                         ).type = 'FILE_BOTTOM'
 
 
-class TEXT_MT_text(bpy.types.Menu):
+class TEXT_MT_text(Menu):
     bl_label = "Text"
 
     def draw(self, context):
@@ -171,7 +172,6 @@ class TEXT_MT_text(bpy.types.Menu):
         st = context.space_data
         text = st.text
 
-        layout.column()
         layout.operator("text.new")
         layout.operator("text.open")
 
@@ -188,13 +188,8 @@ class TEXT_MT_text(bpy.types.Menu):
             layout.column()
             layout.operator("text.run_script")
 
-            #ifdef WITH_PYTHON
-            # XXX if(BPY_is_pyconstraint(text))
-            # XXX   uiMenuItemO(head, 0, "text.refresh_pyconstraints");
-            #endif
 
-
-class TEXT_MT_templates(bpy.types.Menu):
+class TEXT_MT_templates(Menu):
     bl_label = "Templates"
 
     def draw(self, context):
@@ -204,7 +199,7 @@ class TEXT_MT_templates(bpy.types.Menu):
                        )
 
 
-class TEXT_MT_edit_select(bpy.types.Menu):
+class TEXT_MT_edit_select(Menu):
     bl_label = "Select"
 
     def draw(self, context):
@@ -214,7 +209,7 @@ class TEXT_MT_edit_select(bpy.types.Menu):
         layout.operator("text.select_line")
 
 
-class TEXT_MT_edit_markers(bpy.types.Menu):
+class TEXT_MT_edit_markers(Menu):
     bl_label = "Markers"
 
     def draw(self, context):
@@ -225,7 +220,7 @@ class TEXT_MT_edit_markers(bpy.types.Menu):
         layout.operator("text.previous_marker")
 
 
-class TEXT_MT_format(bpy.types.Menu):
+class TEXT_MT_format(Menu):
     bl_label = "Format"
 
     def draw(self, context):
@@ -244,7 +239,7 @@ class TEXT_MT_format(bpy.types.Menu):
         layout.operator_menu_enum("text.convert_whitespace", "type")
 
 
-class TEXT_MT_edit_to3d(bpy.types.Menu):
+class TEXT_MT_edit_to3d(Menu):
     bl_label = "Text To 3D Object"
 
     def draw(self, context):
@@ -258,7 +253,7 @@ class TEXT_MT_edit_to3d(bpy.types.Menu):
                         ).split_lines = True
 
 
-class TEXT_MT_edit(bpy.types.Menu):
+class TEXT_MT_edit(Menu):
     bl_label = "Edit"
 
     @classmethod
@@ -292,7 +287,7 @@ class TEXT_MT_edit(bpy.types.Menu):
         layout.menu("TEXT_MT_edit_to3d")
 
 
-class TEXT_MT_toolbox(bpy.types.Menu):
+class TEXT_MT_toolbox(Menu):
     bl_label = ""
 
     def draw(self, context):
diff --git a/release/scripts/startup/bl_ui/space_time.py b/release/scripts/startup/bl_ui/space_time.py
index 7e62465d1ee..db009fe43c2 100644
--- a/release/scripts/startup/bl_ui/space_time.py
+++ b/release/scripts/startup/bl_ui/space_time.py
@@ -18,9 +18,10 @@
 
 # <pep8 compliant>
 import bpy
+from bpy.types import Header, Menu
 
 
-class TIME_HT_header(bpy.types.Header):
+class TIME_HT_header(Header):
     bl_space_type = 'TIMELINE'
 
     def draw(self, context):
@@ -34,10 +35,9 @@ class TIME_HT_header(bpy.types.Header):
         row.template_header()
 
         if context.area.show_menus:
-            sub = row.row(align=True)
-            sub.menu("TIME_MT_view")
-            sub.menu("TIME_MT_frame")
-            sub.menu("TIME_MT_playback")
+            row.menu("TIME_MT_view")
+            row.menu("TIME_MT_frame")
+            row.menu("TIME_MT_playback")
 
         layout.prop(scene, "use_preview_range", text="", toggle=True)
 
@@ -91,7 +91,7 @@ class TIME_HT_header(bpy.types.Header):
         row.operator("anim.keyframe_delete", text="", icon='KEY_DEHLT')
 
 
-class TIME_MT_view(bpy.types.Menu):
+class TIME_MT_view(Menu):
     bl_label = "View"
 
     def draw(self, context):
@@ -116,7 +116,7 @@ class TIME_MT_view(bpy.types.Menu):
         layout.operator("marker.camera_bind")
 
 
-class TIME_MT_cache(bpy.types.Menu):
+class TIME_MT_cache(Menu):
     bl_label = "Cache"
 
     def draw(self, context):
@@ -136,7 +136,7 @@ class TIME_MT_cache(bpy.types.Menu):
         col.prop(st, "cache_smoke")
 
 
-class TIME_MT_frame(bpy.types.Menu):
+class TIME_MT_frame(Menu):
     bl_label = "Frame"
 
     def draw(self, context):
@@ -162,7 +162,7 @@ class TIME_MT_frame(bpy.types.Menu):
         sub.menu("TIME_MT_autokey")
 
 
-class TIME_MT_playback(bpy.types.Menu):
+class TIME_MT_playback(Menu):
     bl_label = "Playback"
 
     def draw(self, context):
@@ -187,7 +187,7 @@ class TIME_MT_playback(bpy.types.Menu):
         layout.prop(scene, "use_audio_scrub")
 
 
-class TIME_MT_autokey(bpy.types.Menu):
+class TIME_MT_autokey(Menu):
     bl_label = "Auto-Keyframing Mode"
 
     def draw(self, context):
diff --git a/release/scripts/startup/bl_ui/space_userpref.py b/release/scripts/startup/bl_ui/space_userpref.py
index e6fd8dcb949..148338368fe 100644
--- a/release/scripts/startup/bl_ui/space_userpref.py
+++ b/release/scripts/startup/bl_ui/space_userpref.py
@@ -18,6 +18,7 @@
 
 # <pep8 compliant>
 import bpy
+from bpy.types import Header, Menu, Operator, Panel
 import os
 import addon_utils
 
@@ -75,7 +76,7 @@ def opengl_lamp_buttons(column, lamp):
     col.prop(lamp, "direction", text="")
 
 
-class USERPREF_HT_header(bpy.types.Header):
+class USERPREF_HT_header(Header):
     bl_space_type = 'USER_PREFERENCES'
 
     def draw(self, context):
@@ -99,7 +100,7 @@ class USERPREF_HT_header(bpy.types.Header):
             layout.operator("ui.reset_default_theme")
 
 
-class USERPREF_PT_tabs(bpy.types.Panel):
+class USERPREF_PT_tabs(Panel):
     bl_label = ""
     bl_space_type = 'USER_PREFERENCES'
     bl_region_type = 'WINDOW'
@@ -113,14 +114,14 @@ class USERPREF_PT_tabs(bpy.types.Panel):
         layout.prop(userpref, "active_section", expand=True)
 
 
-class USERPREF_MT_interaction_presets(bpy.types.Menu):
+class USERPREF_MT_interaction_presets(Menu):
     bl_label = "Presets"
     preset_subdir = "interaction"
     preset_operator = "script.execute_preset"
-    draw = bpy.types.Menu.draw_preset
+    draw = Menu.draw_preset
 
 
-class USERPREF_MT_appconfigs(bpy.types.Menu):
+class USERPREF_MT_appconfigs(Menu):
     bl_label = "AppPresets"
     preset_subdir = "keyconfig"
     preset_operator = "wm.appconfig_activate"
@@ -129,10 +130,10 @@ class USERPREF_MT_appconfigs(bpy.types.Menu):
         self.layout.operator("wm.appconfig_default", text="Blender (default)")
 
         # now draw the presets
-        bpy.types.Menu.draw_preset(self, context)
+        Menu.draw_preset(self, context)
 
 
-class USERPREF_MT_splash(bpy.types.Menu):
+class USERPREF_MT_splash(Menu):
     bl_label = "Splash"
 
     def draw(self, context):
@@ -149,7 +150,7 @@ class USERPREF_MT_splash(bpy.types.Menu):
         row.menu("USERPREF_MT_appconfigs", text="Preset")
 
 
-class USERPREF_PT_interface(bpy.types.Panel):
+class USERPREF_PT_interface(Panel):
     bl_space_type = 'USER_PREFERENCES'
     bl_label = "Interface"
     bl_region_type = 'WINDOW'
@@ -246,7 +247,7 @@ class USERPREF_PT_interface(bpy.types.Panel):
         col.prop(view, "show_splash")
 
 
-class USERPREF_PT_edit(bpy.types.Panel):
+class USERPREF_PT_edit(Panel):
     bl_space_type = 'USER_PREFERENCES'
     bl_label = "Edit"
     bl_region_type = 'WINDOW'
@@ -359,7 +360,7 @@ class USERPREF_PT_edit(bpy.types.Panel):
         col.prop(edit, "use_duplicate_particle", text="Particle")
 
 
-class USERPREF_PT_system(bpy.types.Panel):
+class USERPREF_PT_system(Panel):
     bl_space_type = 'USER_PREFERENCES'
     bl_label = "System"
     bl_region_type = 'WINDOW'
@@ -496,7 +497,7 @@ class USERPREF_PT_system(bpy.types.Panel):
         sub.template_color_ramp(system, "weight_color_range", expand=True)
 
 
-class USERPREF_PT_theme(bpy.types.Panel):
+class USERPREF_PT_theme(Panel):
     bl_space_type = 'USER_PREFERENCES'
     bl_label = "Themes"
     bl_region_type = 'WINDOW'
@@ -679,7 +680,7 @@ class USERPREF_PT_theme(bpy.types.Panel):
             self._theme_generic(split, getattr(theme, theme.theme_area.lower()))
 
 
-class USERPREF_PT_file(bpy.types.Panel):
+class USERPREF_PT_file(Panel):
     bl_space_type = 'USER_PREFERENCES'
     bl_label = "Files"
     bl_region_type = 'WINDOW'
@@ -755,7 +756,7 @@ class USERPREF_PT_file(bpy.types.Panel):
 from bl_ui.space_userpref_keymap import InputKeyMapPanel
 
 
-class USERPREF_MT_ndof_settings(bpy.types.Menu):
+class USERPREF_MT_ndof_settings(Menu):
     # accessed from the window keybindings in C (only)
     bl_label = "3D Mouse Settings"
 
@@ -780,7 +781,7 @@ class USERPREF_MT_ndof_settings(bpy.types.Menu):
             layout.prop(input_prefs, "ndof_lock_horizon", icon='NDOF_DOM')
 
 
-class USERPREF_PT_input(bpy.types.Panel, InputKeyMapPanel):
+class USERPREF_PT_input(Panel, InputKeyMapPanel):
     bl_space_type = 'USER_PREFERENCES'
     bl_label = "Input"
 
@@ -870,7 +871,7 @@ class USERPREF_PT_input(bpy.types.Panel, InputKeyMapPanel):
         #print("runtime", time.time() - start)
 
 
-class USERPREF_MT_addons_dev_guides(bpy.types.Menu):
+class USERPREF_MT_addons_dev_guides(Menu):
     bl_label = "Development Guides"
 
     # menu to open webpages with addons development guides
@@ -881,7 +882,7 @@ class USERPREF_MT_addons_dev_guides(bpy.types.Menu):
         layout.operator('wm.url_open', text='How to share your addon', icon='URL').url = 'http://wiki.blender.org/index.php/Dev:Py/Sharing'
 
 
-class USERPREF_PT_addons(bpy.types.Panel):
+class USERPREF_PT_addons(Panel):
     bl_space_type = 'USER_PREFERENCES'
     bl_label = "Addons"
     bl_region_type = 'WINDOW'
@@ -1071,28 +1072,36 @@ class USERPREF_PT_addons(bpy.types.Panel):
                     row.operator("wm.addon_disable", icon='CHECKBOX_HLT', text="", emboss=False).module = module_name
 
 
-class WM_OT_addon_enable(bpy.types.Operator):
+class WM_OT_addon_enable(Operator):
     "Enable an addon"
     bl_idname = "wm.addon_enable"
     bl_label = "Enable Add-On"
 
-    module = StringProperty(name="Module", description="Module name of the addon to enable")
+    module = StringProperty(
+            name="Module",
+            description="Module name of the addon to enable",
+            )
 
     def execute(self, context):
         mod = addon_utils.enable(self.module)
 
         if mod:
-            # check if add-on is written for current blender version, or raise a warning
             info = addon_utils.module_bl_info(mod)
 
-            if info.get("blender", (0, 0, 0)) > bpy.app.version:
-                self.report("WARNING','This script was written for a newer version of Blender and might not function (correctly).\nThe script is enabled though.")
+            info_ver = info.get("blender", (0, 0, 0))
+
+            if info_ver > bpy.app.version:
+                self.report({'WARNING'}, ("This script was written Blender "
+                                          "version %d.%d.%d and might not "
+                                          "function (correctly).\n"
+                                          "The script is enabled though.") %
+                                         info_ver)
             return {'FINISHED'}
         else:
             return {'CANCELLED'}
 
 
-class WM_OT_addon_disable(bpy.types.Operator):
+class WM_OT_addon_disable(Operator):
     "Disable an addon"
     bl_idname = "wm.addon_disable"
     bl_label = "Disable Add-On"
@@ -1104,7 +1113,7 @@ class WM_OT_addon_disable(bpy.types.Operator):
         return {'FINISHED'}
 
 
-class WM_OT_addon_install(bpy.types.Operator):
+class WM_OT_addon_install(Operator):
     "Install an addon"
     bl_idname = "wm.addon_install"
     bl_label = "Install Add-On..."
@@ -1250,7 +1259,7 @@ class WM_OT_addon_install(bpy.types.Operator):
         return {'RUNNING_MODAL'}
 
 
-class WM_OT_addon_remove(bpy.types.Operator):
+class WM_OT_addon_remove(Operator):
     "Disable an addon"
     bl_idname = "wm.addon_remove"
     bl_label = "Remove Add-On"
@@ -1298,7 +1307,7 @@ class WM_OT_addon_remove(bpy.types.Operator):
         return wm.invoke_props_dialog(self, width=600)
 
 
-class WM_OT_addon_expand(bpy.types.Operator):
+class WM_OT_addon_expand(Operator):
     "Display more information on this add-on"
     bl_idname = "wm.addon_expand"
     bl_label = ""
diff --git a/release/scripts/startup/bl_ui/space_userpref_keymap.py b/release/scripts/startup/bl_ui/space_userpref_keymap.py
index 5658cc96281..6a81ff5830e 100644
--- a/release/scripts/startup/bl_ui/space_userpref_keymap.py
+++ b/release/scripts/startup/bl_ui/space_userpref_keymap.py
@@ -18,6 +18,7 @@
 
 # <pep8 compliant>
 import bpy
+from bpy.types import Menu, Operator, OperatorProperties
 import os
 
 
@@ -124,7 +125,7 @@ def _merge_keymaps(kc1, kc2):
     return merged_keymaps
 
 
-class USERPREF_MT_keyconfigs(bpy.types.Menu):
+class USERPREF_MT_keyconfigs(Menu):
     bl_label = "KeyPresets"
     preset_subdir = "keyconfig"
     preset_operator = "wm.keyconfig_activate"
@@ -135,7 +136,7 @@ class USERPREF_MT_keyconfigs(bpy.types.Menu):
         props.value = "context.window_manager.keyconfigs.default"
 
         # now draw the presets
-        bpy.types.Menu.draw_preset(self, context)
+        Menu.draw_preset(self, context)
 
 
 class InputKeyMapPanel:
@@ -232,7 +233,7 @@ class InputKeyMapPanel:
         flow = box.column_flow(columns=2)
         for pname, value in properties.bl_rna.properties.items():
             if pname != "rna_type" and not properties.is_property_hidden(pname):
-                if isinstance(value, bpy.types.OperatorProperties):
+                if isinstance(value, OperatorProperties):
                     InputKeyMapPanel.draw_kmi_properties(box, value, title=pname)
                 else:
                     flow.prop(properties, pname)
@@ -410,7 +411,7 @@ def export_properties(prefix, properties, lines=None):
     for pname in properties.bl_rna.properties.keys():
         if pname != "rna_type" and not properties.is_property_hidden(pname):
             value = getattr(properties, pname)
-            if isinstance(value, bpy.types.OperatorProperties):
+            if isinstance(value, OperatorProperties):
                 export_properties(prefix + "." + pname, value, lines)
             elif properties.is_property_set(pname):
                 value = _string_value(value)
@@ -419,7 +420,7 @@ def export_properties(prefix, properties, lines=None):
     return lines
 
 
-class WM_OT_keyconfig_test(bpy.types.Operator):
+class WM_OT_keyconfig_test(Operator):
     "Test keyconfig for conflicts"
     bl_idname = "wm.keyconfig_test"
     bl_label = "Test Key Configuration for Conflicts"
@@ -527,7 +528,7 @@ def _string_value(value):
     return result
 
 
-class WM_OT_keyconfig_import(bpy.types.Operator):
+class WM_OT_keyconfig_import(Operator):
     "Import key configuration from a python script"
     bl_idname = "wm.keyconfig_import"
     bl_label = "Import Key Configuration..."
@@ -542,22 +543,24 @@ class WM_OT_keyconfig_import(bpy.types.Operator):
     def execute(self, context):
         from os.path import basename
         import shutil
-        if not self.filepath:
-            raise Exception("Filepath not set")
 
-        f = open(self.filepath, "r")
-        if not f:
-            raise Exception("Could not open file")
+        if not self.filepath:
+            self.report({'ERROR'}, "Filepath not set")
+            return {'CANCELLED'}
 
         config_name = basename(self.filepath)
 
         path = bpy.utils.user_resource('SCRIPTS', os.path.join("presets", "keyconfig"), create=True)
         path = os.path.join(path, config_name)
 
-        if self.keep_original:
-            shutil.copy(self.filepath, path)
-        else:
-            shutil.move(self.filepath, path)
+        try:
+            if self.keep_original:
+                shutil.copy(self.filepath, path)
+            else:
+                shutil.move(self.filepath, path)
+        except Exception as e:
+            self.report({'ERROR'}, "Installing keymap failed: %s" % e)
+            return {'CANCELLED'}
 
         # sneaky way to check we're actually running the code.
         bpy.utils.keyconfig_set(path)
@@ -572,7 +575,7 @@ class WM_OT_keyconfig_import(bpy.types.Operator):
 # This operator is also used by interaction presets saving - AddPresetBase
 
 
-class WM_OT_keyconfig_export(bpy.types.Operator):
+class WM_OT_keyconfig_export(Operator):
     "Export key configuration to a python script"
     bl_idname = "wm.keyconfig_export"
     bl_label = "Export Key Configuration..."
@@ -665,7 +668,7 @@ class WM_OT_keyconfig_export(bpy.types.Operator):
         return {'RUNNING_MODAL'}
 
 
-class WM_OT_keymap_restore(bpy.types.Operator):
+class WM_OT_keymap_restore(Operator):
     "Restore key map(s)"
     bl_idname = "wm.keymap_restore"
     bl_label = "Restore Key Map(s)"
@@ -685,7 +688,7 @@ class WM_OT_keymap_restore(bpy.types.Operator):
         return {'FINISHED'}
 
 
-class WM_OT_keyitem_restore(bpy.types.Operator):
+class WM_OT_keyitem_restore(Operator):
     "Restore key map item"
     bl_idname = "wm.keyitem_restore"
     bl_label = "Restore Key Map Item"
@@ -707,7 +710,7 @@ class WM_OT_keyitem_restore(bpy.types.Operator):
         return {'FINISHED'}
 
 
-class WM_OT_keyitem_add(bpy.types.Operator):
+class WM_OT_keyitem_add(Operator):
     "Add key map item"
     bl_idname = "wm.keyitem_add"
     bl_label = "Add Key Map Item"
@@ -729,7 +732,7 @@ class WM_OT_keyitem_add(bpy.types.Operator):
         return {'FINISHED'}
 
 
-class WM_OT_keyitem_remove(bpy.types.Operator):
+class WM_OT_keyitem_remove(Operator):
     "Remove key map item"
     bl_idname = "wm.keyitem_remove"
     bl_label = "Remove Key Map Item"
@@ -747,7 +750,7 @@ class WM_OT_keyitem_remove(bpy.types.Operator):
         return {'FINISHED'}
 
 
-class WM_OT_keyconfig_remove(bpy.types.Operator):
+class WM_OT_keyconfig_remove(Operator):
     "Remove key config"
     bl_idname = "wm.keyconfig_remove"
     bl_label = "Remove Key Config"
diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py
index 17b631ae50c..3a28cd30947 100644
--- a/release/scripts/startup/bl_ui/space_view3d.py
+++ b/release/scripts/startup/bl_ui/space_view3d.py
@@ -18,9 +18,10 @@
 
 # <pep8 compliant>
 import bpy
+from bpy.types import Header, Menu, Operator, Panel
 
 
-class VIEW3D_HT_header(bpy.types.Header):
+class VIEW3D_HT_header(Header):
     bl_space_type = 'VIEW_3D'
 
     def draw(self, context):
@@ -128,7 +129,7 @@ class ShowHideMenu():
         layout.operator("%s.hide" % self._operator_name, text="Hide Unselected").unselected = True
 
 
-class VIEW3D_MT_transform(bpy.types.Menu):
+class VIEW3D_MT_transform(Menu):
     bl_label = "Transform"
 
     # TODO: get rid of the custom text strings?
@@ -180,7 +181,7 @@ class VIEW3D_MT_transform(bpy.types.Menu):
         layout.operator("object.align")
 
 
-class VIEW3D_MT_mirror(bpy.types.Menu):
+class VIEW3D_MT_mirror(Menu):
     bl_label = "Mirror"
 
     def draw(self, context):
@@ -218,7 +219,7 @@ class VIEW3D_MT_mirror(bpy.types.Menu):
             layout.operator("object.vertex_group_mirror")
 
 
-class VIEW3D_MT_snap(bpy.types.Menu):
+class VIEW3D_MT_snap(Menu):
     bl_label = "Snap"
 
     def draw(self, context):
@@ -235,7 +236,7 @@ class VIEW3D_MT_snap(bpy.types.Menu):
         layout.operator("view3d.snap_cursor_to_active", text="Cursor to Active")
 
 
-class VIEW3D_MT_uv_map(bpy.types.Menu):
+class VIEW3D_MT_uv_map(Menu):
     bl_label = "UV Mapping"
 
     def draw(self, context):
@@ -268,7 +269,7 @@ class VIEW3D_MT_uv_map(bpy.types.Menu):
 # ********** View menus **********
 
 
-class VIEW3D_MT_view(bpy.types.Menu):
+class VIEW3D_MT_view(Menu):
     bl_label = "View"
 
     def draw(self, context):
@@ -327,7 +328,7 @@ class VIEW3D_MT_view(bpy.types.Menu):
         layout.operator("screen.screen_full_area")
 
 
-class VIEW3D_MT_view_navigation(bpy.types.Menu):
+class VIEW3D_MT_view_navigation(Menu):
     bl_label = "Navigation"
 
     def draw(self, context):
@@ -350,7 +351,7 @@ class VIEW3D_MT_view_navigation(bpy.types.Menu):
         layout.operator("view3d.fly")
 
 
-class VIEW3D_MT_view_align(bpy.types.Menu):
+class VIEW3D_MT_view_align(Menu):
     bl_label = "Align View"
 
     def draw(self, context):
@@ -366,7 +367,7 @@ class VIEW3D_MT_view_align(bpy.types.Menu):
         layout.operator("view3d.view_center_cursor")
 
 
-class VIEW3D_MT_view_align_selected(bpy.types.Menu):
+class VIEW3D_MT_view_align_selected(Menu):
     bl_label = "Align View to Selected"
 
     def draw(self, context):
@@ -392,7 +393,7 @@ class VIEW3D_MT_view_align_selected(bpy.types.Menu):
         props.type = 'LEFT'
 
 
-class VIEW3D_MT_view_cameras(bpy.types.Menu):
+class VIEW3D_MT_view_cameras(Menu):
     bl_label = "Cameras"
 
     def draw(self, context):
@@ -404,7 +405,7 @@ class VIEW3D_MT_view_cameras(bpy.types.Menu):
 # ********** Select menus, suffix from context.mode **********
 
 
-class VIEW3D_MT_select_object(bpy.types.Menu):
+class VIEW3D_MT_select_object(Menu):
     bl_label = "Select"
 
     def draw(self, context):
@@ -430,7 +431,7 @@ class VIEW3D_MT_select_object(bpy.types.Menu):
         layout.operator("object.select_pattern", text="Select Pattern...")
 
 
-class VIEW3D_MT_select_pose(bpy.types.Menu):
+class VIEW3D_MT_select_pose(Menu):
     bl_label = "Select"
 
     def draw(self, context):
@@ -467,7 +468,7 @@ class VIEW3D_MT_select_pose(bpy.types.Menu):
         layout.operator("object.select_pattern", text="Select Pattern...")
 
 
-class VIEW3D_MT_select_particle(bpy.types.Menu):
+class VIEW3D_MT_select_particle(Menu):
     bl_label = "Select"
 
     def draw(self, context):
@@ -492,7 +493,7 @@ class VIEW3D_MT_select_particle(bpy.types.Menu):
         layout.operator("particle.select_tips", text="Tips")
 
 
-class VIEW3D_MT_select_edit_mesh(bpy.types.Menu):
+class VIEW3D_MT_select_edit_mesh(Menu):
     bl_label = "Select"
 
     def draw(self, context):
@@ -544,7 +545,7 @@ class VIEW3D_MT_select_edit_mesh(bpy.types.Menu):
         layout.operator("mesh.region_to_loop")
 
 
-class VIEW3D_MT_select_edit_curve(bpy.types.Menu):
+class VIEW3D_MT_select_edit_curve(Menu):
     bl_label = "Select"
 
     def draw(self, context):
@@ -573,7 +574,7 @@ class VIEW3D_MT_select_edit_curve(bpy.types.Menu):
         layout.operator("curve.select_less")
 
 
-class VIEW3D_MT_select_edit_surface(bpy.types.Menu):
+class VIEW3D_MT_select_edit_surface(Menu):
     bl_label = "Select"
 
     def draw(self, context):
@@ -599,7 +600,7 @@ class VIEW3D_MT_select_edit_surface(bpy.types.Menu):
         layout.operator("curve.select_less")
 
 
-class VIEW3D_MT_select_edit_metaball(bpy.types.Menu):
+class VIEW3D_MT_select_edit_metaball(Menu):
     bl_label = "Select"
 
     def draw(self, context):
@@ -617,7 +618,7 @@ class VIEW3D_MT_select_edit_metaball(bpy.types.Menu):
         layout.operator("mball.select_random_metaelems")
 
 
-class VIEW3D_MT_select_edit_lattice(bpy.types.Menu):
+class VIEW3D_MT_select_edit_lattice(Menu):
     bl_label = "Select"
 
     def draw(self, context):
@@ -630,7 +631,7 @@ class VIEW3D_MT_select_edit_lattice(bpy.types.Menu):
         layout.operator("lattice.select_all", text="Select/Deselect All")
 
 
-class VIEW3D_MT_select_edit_armature(bpy.types.Menu):
+class VIEW3D_MT_select_edit_armature(Menu):
     bl_label = "Select"
 
     def draw(self, context):
@@ -661,7 +662,7 @@ class VIEW3D_MT_select_edit_armature(bpy.types.Menu):
         layout.operator("object.select_pattern", text="Select Pattern...")
 
 
-class VIEW3D_MT_select_face(bpy.types.Menu):  # XXX no matching enum
+class VIEW3D_MT_select_face(Menu):  # XXX no matching enum
     bl_label = "Select"
 
     def draw(self, context):
@@ -674,7 +675,7 @@ class VIEW3D_MT_select_face(bpy.types.Menu):  # XXX no matching enum
 # ********** Object menu **********
 
 
-class VIEW3D_MT_object(bpy.types.Menu):
+class VIEW3D_MT_object(Menu):
     bl_context = "objectmode"
     bl_label = "Object"
 
@@ -732,7 +733,7 @@ class VIEW3D_MT_object(bpy.types.Menu):
         layout.operator_menu_enum("object.convert", "target")
 
 
-class VIEW3D_MT_object_animation(bpy.types.Menu):
+class VIEW3D_MT_object_animation(Menu):
     bl_label = "Animation"
 
     def draw(self, context):
@@ -743,7 +744,7 @@ class VIEW3D_MT_object_animation(bpy.types.Menu):
         layout.operator("anim.keying_set_active_set", text="Change Keying Set...")
 
 
-class VIEW3D_MT_object_clear(bpy.types.Menu):
+class VIEW3D_MT_object_clear(Menu):
     bl_label = "Clear"
 
     def draw(self, context):
@@ -755,7 +756,7 @@ class VIEW3D_MT_object_clear(bpy.types.Menu):
         layout.operator("object.origin_clear", text="Origin")
 
 
-class VIEW3D_MT_object_specials(bpy.types.Menu):
+class VIEW3D_MT_object_specials(Menu):
     bl_label = "Specials"
 
     @classmethod
@@ -850,7 +851,7 @@ class VIEW3D_MT_object_specials(bpy.types.Menu):
         props = layout.operator("object.hide_render_clear_all")
 
 
-class VIEW3D_MT_object_apply(bpy.types.Menu):
+class VIEW3D_MT_object_apply(Menu):
     bl_label = "Apply"
 
     def draw(self, context):
@@ -869,7 +870,7 @@ class VIEW3D_MT_object_apply(bpy.types.Menu):
         layout.operator("object.duplicates_make_real")
 
 
-class VIEW3D_MT_object_parent(bpy.types.Menu):
+class VIEW3D_MT_object_parent(Menu):
     bl_label = "Parent"
 
     def draw(self, context):
@@ -879,7 +880,7 @@ class VIEW3D_MT_object_parent(bpy.types.Menu):
         layout.operator("object.parent_clear", text="Clear")
 
 
-class VIEW3D_MT_object_track(bpy.types.Menu):
+class VIEW3D_MT_object_track(Menu):
     bl_label = "Track"
 
     def draw(self, context):
@@ -889,7 +890,7 @@ class VIEW3D_MT_object_track(bpy.types.Menu):
         layout.operator("object.track_clear", text="Clear")
 
 
-class VIEW3D_MT_object_group(bpy.types.Menu):
+class VIEW3D_MT_object_group(Menu):
     bl_label = "Group"
 
     def draw(self, context):
@@ -904,7 +905,7 @@ class VIEW3D_MT_object_group(bpy.types.Menu):
         layout.operator("group.objects_remove_active")
 
 
-class VIEW3D_MT_object_constraints(bpy.types.Menu):
+class VIEW3D_MT_object_constraints(Menu):
     bl_label = "Constraints"
 
     def draw(self, context):
@@ -915,7 +916,7 @@ class VIEW3D_MT_object_constraints(bpy.types.Menu):
         layout.operator("object.constraints_clear")
 
 
-class VIEW3D_MT_object_showhide(bpy.types.Menu):
+class VIEW3D_MT_object_showhide(Menu):
     bl_label = "Show/Hide"
 
     def draw(self, context):
@@ -926,7 +927,7 @@ class VIEW3D_MT_object_showhide(bpy.types.Menu):
         layout.operator("object.hide_view_set", text="Hide Unselected").unselected = True
 
 
-class VIEW3D_MT_make_single_user(bpy.types.Menu):
+class VIEW3D_MT_make_single_user(Menu):
     bl_label = "Make Single User"
 
     def draw(self, context):
@@ -948,7 +949,7 @@ class VIEW3D_MT_make_single_user(bpy.types.Menu):
         props.animation = True
 
 
-class VIEW3D_MT_make_links(bpy.types.Menu):
+class VIEW3D_MT_make_links(Menu):
     bl_label = "Make Links"
 
     def draw(self, context):
@@ -965,7 +966,7 @@ class VIEW3D_MT_make_links(bpy.types.Menu):
         layout.operator_enum("object.make_links_data", "type")  # inline
 
 
-class VIEW3D_MT_object_game(bpy.types.Menu):
+class VIEW3D_MT_object_game(Menu):
     bl_label = "Game"
 
     def draw(self, context):
@@ -987,7 +988,7 @@ class VIEW3D_MT_object_game(bpy.types.Menu):
 # ********** Vertex paint menu **********
 
 
-class VIEW3D_MT_paint_vertex(bpy.types.Menu):
+class VIEW3D_MT_paint_vertex(Menu):
     bl_label = "Paint"
 
     def draw(self, context):
@@ -1002,7 +1003,7 @@ class VIEW3D_MT_paint_vertex(bpy.types.Menu):
         layout.operator("paint.vertex_color_dirt")
 
 
-class VIEW3D_MT_hook(bpy.types.Menu):
+class VIEW3D_MT_hook(Menu):
     bl_label = "Hooks"
 
     def draw(self, context):
@@ -1021,7 +1022,7 @@ class VIEW3D_MT_hook(bpy.types.Menu):
             layout.operator_menu_enum("object.hook_recenter", "modifier")
 
 
-class VIEW3D_MT_vertex_group(bpy.types.Menu):
+class VIEW3D_MT_vertex_group(Menu):
     bl_label = "Vertex Groups"
 
     def draw(self, context):
@@ -1046,7 +1047,7 @@ class VIEW3D_MT_vertex_group(bpy.types.Menu):
 # ********** Weight paint menu **********
 
 
-class VIEW3D_MT_paint_weight(bpy.types.Menu):
+class VIEW3D_MT_paint_weight(Menu):
     bl_label = "Weights"
 
     def draw(self, context):
@@ -1076,7 +1077,7 @@ class VIEW3D_MT_paint_weight(bpy.types.Menu):
 # ********** Sculpt menu **********
 
 
-class VIEW3D_MT_sculpt(bpy.types.Menu):
+class VIEW3D_MT_sculpt(Menu):
     bl_label = "Sculpt"
 
     def draw(self, context):
@@ -1126,7 +1127,7 @@ class VIEW3D_MT_sculpt(bpy.types.Menu):
 # ********** Particle menu **********
 
 
-class VIEW3D_MT_particle(bpy.types.Menu):
+class VIEW3D_MT_particle(Menu):
     bl_label = "Particle"
 
     def draw(self, context):
@@ -1158,7 +1159,7 @@ class VIEW3D_MT_particle(bpy.types.Menu):
         layout.menu("VIEW3D_MT_particle_showhide")
 
 
-class VIEW3D_MT_particle_specials(bpy.types.Menu):
+class VIEW3D_MT_particle_specials(Menu):
     bl_label = "Specials"
 
     def draw(self, context):
@@ -1176,13 +1177,13 @@ class VIEW3D_MT_particle_specials(bpy.types.Menu):
         layout.operator("particle.remove_doubles")
 
 
-class VIEW3D_MT_particle_showhide(ShowHideMenu, bpy.types.Menu):
+class VIEW3D_MT_particle_showhide(ShowHideMenu, Menu):
     _operator_name = "particle"
 
 # ********** Pose Menu **********
 
 
-class VIEW3D_MT_pose(bpy.types.Menu):
+class VIEW3D_MT_pose(Menu):
     bl_label = "Pose"
 
     def draw(self, context):
@@ -1251,7 +1252,7 @@ class VIEW3D_MT_pose(bpy.types.Menu):
         layout.menu("VIEW3D_MT_bone_options_toggle", text="Bone Settings")
 
 
-class VIEW3D_MT_pose_transform(bpy.types.Menu):
+class VIEW3D_MT_pose_transform(Menu):
     bl_label = "Clear Transform"
 
     def draw(self, context):
@@ -1266,7 +1267,7 @@ class VIEW3D_MT_pose_transform(bpy.types.Menu):
         layout.label(text="Origin")
 
 
-class VIEW3D_MT_pose_slide(bpy.types.Menu):
+class VIEW3D_MT_pose_slide(Menu):
     bl_label = "In-Betweens"
 
     def draw(self, context):
@@ -1277,7 +1278,7 @@ class VIEW3D_MT_pose_slide(bpy.types.Menu):
         layout.operator("pose.breakdown")
 
 
-class VIEW3D_MT_pose_propagate(bpy.types.Menu):
+class VIEW3D_MT_pose_propagate(Menu):
     bl_label = "Propagate"
 
     def draw(self, context):
@@ -1295,7 +1296,7 @@ class VIEW3D_MT_pose_propagate(bpy.types.Menu):
         layout.operator("pose.propagate", text="On Selected Markers").mode = 'SELECTED_MARKERS'
 
 
-class VIEW3D_MT_pose_library(bpy.types.Menu):
+class VIEW3D_MT_pose_library(Menu):
     bl_label = "Pose Library"
 
     def draw(self, context):
@@ -1310,7 +1311,7 @@ class VIEW3D_MT_pose_library(bpy.types.Menu):
         layout.operator("poselib.pose_remove", text="Remove Pose...")
 
 
-class VIEW3D_MT_pose_motion(bpy.types.Menu):
+class VIEW3D_MT_pose_motion(Menu):
     bl_label = "Motion Paths"
 
     def draw(self, context):
@@ -1320,7 +1321,7 @@ class VIEW3D_MT_pose_motion(bpy.types.Menu):
         layout.operator("pose.paths_clear", text="Clear")
 
 
-class VIEW3D_MT_pose_group(bpy.types.Menu):
+class VIEW3D_MT_pose_group(Menu):
     bl_label = "Bone Groups"
 
     def draw(self, context):
@@ -1334,7 +1335,7 @@ class VIEW3D_MT_pose_group(bpy.types.Menu):
         layout.operator("pose.group_unassign")
 
 
-class VIEW3D_MT_pose_ik(bpy.types.Menu):
+class VIEW3D_MT_pose_ik(Menu):
     bl_label = "Inverse Kinematics"
 
     def draw(self, context):
@@ -1344,7 +1345,7 @@ class VIEW3D_MT_pose_ik(bpy.types.Menu):
         layout.operator("pose.ik_clear")
 
 
-class VIEW3D_MT_pose_constraints(bpy.types.Menu):
+class VIEW3D_MT_pose_constraints(Menu):
     bl_label = "Constraints"
 
     def draw(self, context):
@@ -1355,11 +1356,11 @@ class VIEW3D_MT_pose_constraints(bpy.types.Menu):
         layout.operator("pose.constraints_clear")
 
 
-class VIEW3D_MT_pose_showhide(ShowHideMenu, bpy.types.Menu):
+class VIEW3D_MT_pose_showhide(ShowHideMenu, Menu):
     _operator_name = "pose"
 
 
-class VIEW3D_MT_pose_apply(bpy.types.Menu):
+class VIEW3D_MT_pose_apply(Menu):
     bl_label = "Apply"
 
     def draw(self, context):
@@ -1398,24 +1399,24 @@ class BoneOptions:
             props.type = self.type
 
 
-class VIEW3D_MT_bone_options_toggle(bpy.types.Menu, BoneOptions):
+class VIEW3D_MT_bone_options_toggle(Menu, BoneOptions):
     bl_label = "Toggle Bone Options"
     type = 'TOGGLE'
 
 
-class VIEW3D_MT_bone_options_enable(bpy.types.Menu, BoneOptions):
+class VIEW3D_MT_bone_options_enable(Menu, BoneOptions):
     bl_label = "Enable Bone Options"
     type = 'ENABLE'
 
 
-class VIEW3D_MT_bone_options_disable(bpy.types.Menu, BoneOptions):
+class VIEW3D_MT_bone_options_disable(Menu, BoneOptions):
     bl_label = "Disable Bone Options"
     type = 'DISABLE'
 
 # ********** Edit Menus, suffix from ob.type **********
 
 
-class VIEW3D_MT_edit_mesh(bpy.types.Menu):
+class VIEW3D_MT_edit_mesh(Menu):
     bl_label = "Mesh"
 
     def draw(self, context):
@@ -1462,7 +1463,7 @@ class VIEW3D_MT_edit_mesh(bpy.types.Menu):
         layout.menu("VIEW3D_MT_edit_mesh_showhide")
 
 
-class VIEW3D_MT_edit_mesh_specials(bpy.types.Menu):
+class VIEW3D_MT_edit_mesh_specials(Menu):
     bl_label = "Specials"
 
     def draw(self, context):
@@ -1487,7 +1488,7 @@ class VIEW3D_MT_edit_mesh_specials(bpy.types.Menu):
         layout.operator("mesh.select_vertex_path")
 
 
-class VIEW3D_MT_edit_mesh_select_mode(bpy.types.Menu):
+class VIEW3D_MT_edit_mesh_select_mode(Menu):
     bl_label = "Mesh Select Mode"
 
     def draw(self, context):
@@ -1508,7 +1509,7 @@ class VIEW3D_MT_edit_mesh_select_mode(bpy.types.Menu):
         prop.data_path = "tool_settings.mesh_select_mode"
 
 
-class VIEW3D_MT_edit_mesh_extrude(bpy.types.Menu):
+class VIEW3D_MT_edit_mesh_extrude(Menu):
     bl_label = "Extrude"
 
     _extrude_funcs = { \
@@ -1542,7 +1543,7 @@ class VIEW3D_MT_edit_mesh_extrude(bpy.types.Menu):
             self._extrude_funcs[menu_id](layout)
 
 
-class VIEW3D_OT_edit_mesh_extrude_individual_move(bpy.types.Operator):
+class VIEW3D_OT_edit_mesh_extrude_individual_move(Operator):
     "Extrude individual elements and move"
     bl_label = "Extrude Individual and Move"
     bl_idname = "view3d.edit_mesh_extrude_individual_move"
@@ -1571,7 +1572,7 @@ class VIEW3D_OT_edit_mesh_extrude_individual_move(bpy.types.Operator):
         return self.execute(context)
 
 
-class VIEW3D_OT_edit_mesh_extrude_move(bpy.types.Operator):
+class VIEW3D_OT_edit_mesh_extrude_move(Operator):
     "Extrude and move along normals"
     bl_label = "Extrude and Move on Normals"
     bl_idname = "view3d.edit_mesh_extrude_move_normal"
@@ -1597,7 +1598,7 @@ class VIEW3D_OT_edit_mesh_extrude_move(bpy.types.Operator):
         return self.execute(context)
 
 
-class VIEW3D_MT_edit_mesh_vertices(bpy.types.Menu):
+class VIEW3D_MT_edit_mesh_vertices(Menu):
     bl_label = "Vertices"
 
     def draw(self, context):
@@ -1629,7 +1630,7 @@ class VIEW3D_MT_edit_mesh_vertices(bpy.types.Menu):
         layout.menu("VIEW3D_MT_hook")
 
 
-class VIEW3D_MT_edit_mesh_edges(bpy.types.Menu):
+class VIEW3D_MT_edit_mesh_edges(Menu):
     bl_label = "Edges"
 
     def draw(self, context):
@@ -1669,7 +1670,7 @@ class VIEW3D_MT_edit_mesh_edges(bpy.types.Menu):
         layout.operator("mesh.region_to_loop")
 
 
-class VIEW3D_MT_edit_mesh_faces(bpy.types.Menu):
+class VIEW3D_MT_edit_mesh_faces(Menu):
     bl_label = "Faces"
     bl_idname = "VIEW3D_MT_edit_mesh_faces"
 
@@ -1717,7 +1718,7 @@ class VIEW3D_MT_edit_mesh_faces(bpy.types.Menu):
         layout.operator_menu_enum("mesh.colors_mirror", "axis")
 
 
-class VIEW3D_MT_edit_mesh_normals(bpy.types.Menu):
+class VIEW3D_MT_edit_mesh_normals(Menu):
     bl_label = "Normals"
 
     def draw(self, context):
@@ -1731,7 +1732,7 @@ class VIEW3D_MT_edit_mesh_normals(bpy.types.Menu):
         layout.operator("mesh.flip_normals")
 
 
-class VIEW3D_MT_edit_mesh_showhide(ShowHideMenu, bpy.types.Menu):
+class VIEW3D_MT_edit_mesh_showhide(ShowHideMenu, Menu):
     _operator_name = "mesh"
 
 # Edit Curve
@@ -1771,13 +1772,13 @@ def draw_curve(self, context):
     layout.menu("VIEW3D_MT_edit_curve_showhide")
 
 
-class VIEW3D_MT_edit_curve(bpy.types.Menu):
+class VIEW3D_MT_edit_curve(Menu):
     bl_label = "Curve"
 
     draw = draw_curve
 
 
-class VIEW3D_MT_edit_curve_ctrlpoints(bpy.types.Menu):
+class VIEW3D_MT_edit_curve_ctrlpoints(Menu):
     bl_label = "Control Points"
 
     def draw(self, context):
@@ -1799,7 +1800,7 @@ class VIEW3D_MT_edit_curve_ctrlpoints(bpy.types.Menu):
             layout.menu("VIEW3D_MT_hook")
 
 
-class VIEW3D_MT_edit_curve_segments(bpy.types.Menu):
+class VIEW3D_MT_edit_curve_segments(Menu):
     bl_label = "Segments"
 
     def draw(self, context):
@@ -1809,7 +1810,7 @@ class VIEW3D_MT_edit_curve_segments(bpy.types.Menu):
         layout.operator("curve.switch_direction")
 
 
-class VIEW3D_MT_edit_curve_specials(bpy.types.Menu):
+class VIEW3D_MT_edit_curve_specials(Menu):
     bl_label = "Specials"
 
     def draw(self, context):
@@ -1823,17 +1824,17 @@ class VIEW3D_MT_edit_curve_specials(bpy.types.Menu):
         layout.operator("curve.smooth_radius")
 
 
-class VIEW3D_MT_edit_curve_showhide(ShowHideMenu, bpy.types.Menu):
+class VIEW3D_MT_edit_curve_showhide(ShowHideMenu, Menu):
     _operator_name = "curve"
 
 
-class VIEW3D_MT_edit_surface(bpy.types.Menu):
+class VIEW3D_MT_edit_surface(Menu):
     bl_label = "Surface"
 
     draw = draw_curve
 
 
-class VIEW3D_MT_edit_font(bpy.types.Menu):
+class VIEW3D_MT_edit_font(Menu):
     bl_label = "Text"
 
     def draw(self, context):
@@ -1853,7 +1854,7 @@ class VIEW3D_MT_edit_font(bpy.types.Menu):
         layout.operator("font.style_toggle", text="Toggle Small Caps").style = 'SMALL_CAPS'
 
 
-class VIEW3D_MT_edit_text_chars(bpy.types.Menu):
+class VIEW3D_MT_edit_text_chars(Menu):
     bl_label = "Special Characters"
 
     def draw(self, context):
@@ -1887,7 +1888,7 @@ class VIEW3D_MT_edit_text_chars(bpy.types.Menu):
         layout.operator("font.text_insert", text="Spanish Exclamation Mark|Alt !").text = b'\xC2\xA1'.decode()
 
 
-class VIEW3D_MT_edit_meta(bpy.types.Menu):
+class VIEW3D_MT_edit_meta(Menu):
     bl_label = "Metaball"
 
     def draw(self, context):
@@ -1920,7 +1921,7 @@ class VIEW3D_MT_edit_meta(bpy.types.Menu):
         layout.menu("VIEW3D_MT_edit_meta_showhide")
 
 
-class VIEW3D_MT_edit_meta_showhide(bpy.types.Menu):
+class VIEW3D_MT_edit_meta_showhide(Menu):
     bl_label = "Show/Hide"
 
     def draw(self, context):
@@ -1931,7 +1932,7 @@ class VIEW3D_MT_edit_meta_showhide(bpy.types.Menu):
         layout.operator("mball.hide_metaelems", text="Hide Unselected").unselected = True
 
 
-class VIEW3D_MT_edit_lattice(bpy.types.Menu):
+class VIEW3D_MT_edit_lattice(Menu):
     bl_label = "Lattice"
 
     def draw(self, context):
@@ -1953,7 +1954,7 @@ class VIEW3D_MT_edit_lattice(bpy.types.Menu):
         layout.prop_menu_enum(settings, "proportional_edit_falloff")
 
 
-class VIEW3D_MT_edit_armature(bpy.types.Menu):
+class VIEW3D_MT_edit_armature(Menu):
     bl_label = "Armature"
 
     def draw(self, context):
@@ -2008,7 +2009,7 @@ class VIEW3D_MT_edit_armature(bpy.types.Menu):
         layout.menu("VIEW3D_MT_bone_options_toggle", text="Bone Settings")
 
 
-class VIEW3D_MT_armature_specials(bpy.types.Menu):
+class VIEW3D_MT_armature_specials(Menu):
     bl_label = "Specials"
 
     def draw(self, context):
@@ -2028,7 +2029,7 @@ class VIEW3D_MT_armature_specials(bpy.types.Menu):
         layout.operator("armature.flip_names", text="Flip Names")
 
 
-class VIEW3D_MT_edit_armature_parent(bpy.types.Menu):
+class VIEW3D_MT_edit_armature_parent(Menu):
     bl_label = "Parent"
 
     def draw(self, context):
@@ -2038,7 +2039,7 @@ class VIEW3D_MT_edit_armature_parent(bpy.types.Menu):
         layout.operator("armature.parent_clear", text="Clear")
 
 
-class VIEW3D_MT_edit_armature_roll(bpy.types.Menu):
+class VIEW3D_MT_edit_armature_roll(Menu):
     bl_label = "Bone Roll"
 
     def draw(self, context):
@@ -2053,7 +2054,7 @@ class VIEW3D_MT_edit_armature_roll(bpy.types.Menu):
 # ********** Panel **********
 
 
-class VIEW3D_PT_view3d_properties(bpy.types.Panel):
+class VIEW3D_PT_view3d_properties(Panel):
     bl_space_type = 'VIEW_3D'
     bl_region_type = 'UI'
     bl_label = "View"
@@ -2094,7 +2095,7 @@ class VIEW3D_PT_view3d_properties(bpy.types.Panel):
         layout.column().prop(view, "cursor_location")
 
 
-class VIEW3D_PT_view3d_name(bpy.types.Panel):
+class VIEW3D_PT_view3d_name(Panel):
     bl_space_type = 'VIEW_3D'
     bl_region_type = 'UI'
     bl_label = "Item"
@@ -2119,7 +2120,7 @@ class VIEW3D_PT_view3d_name(bpy.types.Panel):
                 row.prop(bone, "name", text="")
 
 
-class VIEW3D_PT_view3d_display(bpy.types.Panel):
+class VIEW3D_PT_view3d_display(Panel):
     bl_space_type = 'VIEW_3D'
     bl_region_type = 'UI'
     bl_label = "Display"
@@ -2190,7 +2191,7 @@ class VIEW3D_PT_view3d_display(bpy.types.Panel):
             row.prop(region, "use_box_clip")
 
 
-class VIEW3D_PT_view3d_meshdisplay(bpy.types.Panel):
+class VIEW3D_PT_view3d_meshdisplay(Panel):
     bl_space_type = 'VIEW_3D'
     bl_region_type = 'UI'
     bl_label = "Mesh Display"
@@ -2227,7 +2228,7 @@ class VIEW3D_PT_view3d_meshdisplay(bpy.types.Panel):
         col.prop(mesh, "show_extra_face_area")
 
 
-class VIEW3D_PT_view3d_curvedisplay(bpy.types.Panel):
+class VIEW3D_PT_view3d_curvedisplay(Panel):
     bl_space_type = 'VIEW_3D'
     bl_region_type = 'UI'
     bl_label = "Curve Display"
@@ -2249,7 +2250,7 @@ class VIEW3D_PT_view3d_curvedisplay(bpy.types.Panel):
         col.prop(context.scene.tool_settings, "normal_size", text="Normal Size")
 
 
-class VIEW3D_PT_background_image(bpy.types.Panel):
+class VIEW3D_PT_background_image(Panel):
     bl_space_type = 'VIEW_3D'
     bl_region_type = 'UI'
     bl_label = "Background Images"
@@ -2302,7 +2303,7 @@ class VIEW3D_PT_background_image(bpy.types.Panel):
                         row.prop(bg, "offset_y", text="Y")
 
 
-class VIEW3D_PT_transform_orientations(bpy.types.Panel):
+class VIEW3D_PT_transform_orientations(Panel):
     bl_space_type = 'VIEW_3D'
     bl_region_type = 'UI'
     bl_label = "Transform Orientations"
@@ -2330,7 +2331,7 @@ class VIEW3D_PT_transform_orientations(bpy.types.Panel):
             col.operator("transform.delete_orientation", text="Delete")
 
 
-class VIEW3D_PT_etch_a_ton(bpy.types.Panel):
+class VIEW3D_PT_etch_a_ton(Panel):
     bl_space_type = 'VIEW_3D'
     bl_region_type = 'UI'
     bl_label = "Skeleton Sketching"
@@ -2375,7 +2376,7 @@ class VIEW3D_PT_etch_a_ton(bpy.types.Panel):
         col.operator("sketch.convert", text="Convert")
 
 
-class VIEW3D_PT_context_properties(bpy.types.Panel):
+class VIEW3D_PT_context_properties(Panel):
     bl_space_type = 'VIEW_3D'
     bl_region_type = 'UI'
     bl_label = "Properties"
diff --git a/release/scripts/startup/bl_ui/space_view3d_toolbar.py b/release/scripts/startup/bl_ui/space_view3d_toolbar.py
index 85dd6f7da5e..864d59f0cdb 100644
--- a/release/scripts/startup/bl_ui/space_view3d_toolbar.py
+++ b/release/scripts/startup/bl_ui/space_view3d_toolbar.py
@@ -18,6 +18,7 @@
 
 # <pep8 compliant>
 import bpy
+from bpy.types import Menu, Panel
 
 
 class View3DPanel():
@@ -61,7 +62,7 @@ def draw_gpencil_tools(context, layout):
 
 # ********** default tools for objectmode ****************
 
-class VIEW3D_PT_tools_objectmode(View3DPanel, bpy.types.Panel):
+class VIEW3D_PT_tools_objectmode(View3DPanel, Panel):
     bl_context = "objectmode"
     bl_label = "Object Tools"
 
@@ -106,7 +107,7 @@ class VIEW3D_PT_tools_objectmode(View3DPanel, bpy.types.Panel):
 # ********** default tools for editmode_mesh ****************
 
 
-class VIEW3D_PT_tools_meshedit(View3DPanel, bpy.types.Panel):
+class VIEW3D_PT_tools_meshedit(View3DPanel, Panel):
     bl_context = "mesh_edit"
     bl_label = "Mesh Tools"
 
@@ -165,7 +166,7 @@ class VIEW3D_PT_tools_meshedit(View3DPanel, bpy.types.Panel):
         draw_gpencil_tools(context, layout)
 
 
-class VIEW3D_PT_tools_meshedit_options(View3DPanel, bpy.types.Panel):
+class VIEW3D_PT_tools_meshedit_options(View3DPanel, Panel):
     bl_context = "mesh_edit"
     bl_label = "Mesh Options"
 
@@ -191,7 +192,7 @@ class VIEW3D_PT_tools_meshedit_options(View3DPanel, bpy.types.Panel):
 # ********** default tools for editmode_curve ****************
 
 
-class VIEW3D_PT_tools_curveedit(View3DPanel, bpy.types.Panel):
+class VIEW3D_PT_tools_curveedit(View3DPanel, Panel):
     bl_context = "curve_edit"
     bl_label = "Curve Tools"
 
@@ -237,7 +238,7 @@ class VIEW3D_PT_tools_curveedit(View3DPanel, bpy.types.Panel):
 # ********** default tools for editmode_surface ****************
 
 
-class VIEW3D_PT_tools_surfaceedit(View3DPanel, bpy.types.Panel):
+class VIEW3D_PT_tools_surfaceedit(View3DPanel, Panel):
     bl_context = "surface_edit"
     bl_label = "Surface Tools"
 
@@ -269,7 +270,7 @@ class VIEW3D_PT_tools_surfaceedit(View3DPanel, bpy.types.Panel):
 # ********** default tools for editmode_text ****************
 
 
-class VIEW3D_PT_tools_textedit(View3DPanel, bpy.types.Panel):
+class VIEW3D_PT_tools_textedit(View3DPanel, Panel):
     bl_context = "text_edit"
     bl_label = "Text Tools"
 
@@ -299,7 +300,7 @@ class VIEW3D_PT_tools_textedit(View3DPanel, bpy.types.Panel):
 # ********** default tools for editmode_armature ****************
 
 
-class VIEW3D_PT_tools_armatureedit(View3DPanel, bpy.types.Panel):
+class VIEW3D_PT_tools_armatureedit(View3DPanel, Panel):
     bl_context = "armature_edit"
     bl_label = "Armature Tools"
 
@@ -328,7 +329,7 @@ class VIEW3D_PT_tools_armatureedit(View3DPanel, bpy.types.Panel):
         draw_gpencil_tools(context, layout)
 
 
-class VIEW3D_PT_tools_armatureedit_options(View3DPanel, bpy.types.Panel):
+class VIEW3D_PT_tools_armatureedit_options(View3DPanel, Panel):
     bl_context = "armature_edit"
     bl_label = "Armature Options"
 
@@ -340,7 +341,7 @@ class VIEW3D_PT_tools_armatureedit_options(View3DPanel, bpy.types.Panel):
 # ********** default tools for editmode_mball ****************
 
 
-class VIEW3D_PT_tools_mballedit(View3DPanel, bpy.types.Panel):
+class VIEW3D_PT_tools_mballedit(View3DPanel, Panel):
     bl_context = "mball_edit"
     bl_label = "Meta Tools"
 
@@ -360,7 +361,7 @@ class VIEW3D_PT_tools_mballedit(View3DPanel, bpy.types.Panel):
 # ********** default tools for editmode_lattice ****************
 
 
-class VIEW3D_PT_tools_latticeedit(View3DPanel, bpy.types.Panel):
+class VIEW3D_PT_tools_latticeedit(View3DPanel, Panel):
     bl_context = "lattice_edit"
     bl_label = "Lattice Tools"
 
@@ -384,7 +385,7 @@ class VIEW3D_PT_tools_latticeedit(View3DPanel, bpy.types.Panel):
 # ********** default tools for posemode ****************
 
 
-class VIEW3D_PT_tools_posemode(View3DPanel, bpy.types.Panel):
+class VIEW3D_PT_tools_posemode(View3DPanel, Panel):
     bl_context = "posemode"
     bl_label = "Pose Tools"
 
@@ -425,7 +426,7 @@ class VIEW3D_PT_tools_posemode(View3DPanel, bpy.types.Panel):
         draw_gpencil_tools(context, layout)
 
 
-class VIEW3D_PT_tools_posemode_options(View3DPanel, bpy.types.Panel):
+class VIEW3D_PT_tools_posemode_options(View3DPanel, Panel):
     bl_context = "posemode"
     bl_label = "Pose Options"
 
@@ -459,7 +460,7 @@ class PaintPanel():
         return None
 
 
-class VIEW3D_PT_tools_brush(PaintPanel, bpy.types.Panel):
+class VIEW3D_PT_tools_brush(PaintPanel, Panel):
     bl_label = "Brush"
 
     @classmethod
@@ -677,7 +678,7 @@ class VIEW3D_PT_tools_brush(PaintPanel, bpy.types.Panel):
             #row.prop(brush, "use_pressure_jitter", toggle=True, text="")
 
 
-class VIEW3D_PT_tools_brush_texture(PaintPanel, bpy.types.Panel):
+class VIEW3D_PT_tools_brush_texture(PaintPanel, Panel):
     bl_label = "Texture"
     bl_options = {'DEFAULT_CLOSED'}
 
@@ -775,7 +776,7 @@ class VIEW3D_PT_tools_brush_texture(PaintPanel, bpy.types.Panel):
             col.active = tex_slot.map_mode in {'FIXED', 'TILED'} and brush.use_texture_overlay
 
 
-class VIEW3D_PT_tools_brush_tool(PaintPanel, bpy.types.Panel):
+class VIEW3D_PT_tools_brush_tool(PaintPanel, Panel):
     bl_label = "Tool"
     bl_options = {'DEFAULT_CLOSED'}
 
@@ -809,7 +810,7 @@ class VIEW3D_PT_tools_brush_tool(PaintPanel, bpy.types.Panel):
         row.prop(brush, "use_paint_image", text="", icon='TPAINT_HLT')
 
 
-class VIEW3D_PT_tools_brush_stroke(PaintPanel, bpy.types.Panel):
+class VIEW3D_PT_tools_brush_stroke(PaintPanel, Panel):
     bl_label = "Stroke"
     bl_options = {'DEFAULT_CLOSED'}
 
@@ -907,7 +908,7 @@ class VIEW3D_PT_tools_brush_stroke(PaintPanel, bpy.types.Panel):
             #    row.prop(brush, "use_pressure_spacing", toggle=True, text="")
 
 
-class VIEW3D_PT_tools_brush_curve(PaintPanel, bpy.types.Panel):
+class VIEW3D_PT_tools_brush_curve(PaintPanel, Panel):
     bl_label = "Curve"
     bl_options = {'DEFAULT_CLOSED'}
 
@@ -934,7 +935,7 @@ class VIEW3D_PT_tools_brush_curve(PaintPanel, bpy.types.Panel):
         row.operator("brush.curve_preset", icon="NOCURVE", text="").shape = 'MAX'
 
 
-class VIEW3D_PT_sculpt_options(PaintPanel, bpy.types.Panel):
+class VIEW3D_PT_sculpt_options(PaintPanel, Panel):
     bl_label = "Options"
     bl_options = {'DEFAULT_CLOSED'}
 
@@ -964,7 +965,7 @@ class VIEW3D_PT_sculpt_options(PaintPanel, bpy.types.Panel):
         layout.prop(tool_settings, "sculpt_paint_use_unified_strength", text="Strength")
 
 
-class VIEW3D_PT_sculpt_symmetry(PaintPanel, bpy.types.Panel):
+class VIEW3D_PT_sculpt_symmetry(PaintPanel, Panel):
     bl_label = "Symmetry"
     bl_options = {'DEFAULT_CLOSED'}
 
@@ -992,7 +993,7 @@ class VIEW3D_PT_sculpt_symmetry(PaintPanel, bpy.types.Panel):
         layout.prop(sculpt, "use_symmetry_feather", text="Feather")
 
 
-class VIEW3D_PT_tools_brush_appearance(PaintPanel, bpy.types.Panel):
+class VIEW3D_PT_tools_brush_appearance(PaintPanel, Panel):
     bl_label = "Appearance"
     bl_options = {'DEFAULT_CLOSED'}
 
@@ -1038,7 +1039,7 @@ class VIEW3D_PT_tools_brush_appearance(PaintPanel, bpy.types.Panel):
 # ********** default tools for weightpaint ****************
 
 
-class VIEW3D_PT_tools_weightpaint(View3DPanel, bpy.types.Panel):
+class VIEW3D_PT_tools_weightpaint(View3DPanel, Panel):
     bl_context = "weightpaint"
     bl_label = "Weight Tools"
 
@@ -1056,7 +1057,7 @@ class VIEW3D_PT_tools_weightpaint(View3DPanel, bpy.types.Panel):
         col.operator("object.vertex_group_levels", text="Levels")
 
 
-class VIEW3D_PT_tools_weightpaint_options(View3DPanel, bpy.types.Panel):
+class VIEW3D_PT_tools_weightpaint_options(View3DPanel, Panel):
     bl_context = "weightpaint"
     bl_label = "Options"
 
@@ -1093,7 +1094,7 @@ class VIEW3D_PT_tools_weightpaint_options(View3DPanel, bpy.types.Panel):
 # ********** default tools for vertexpaint ****************
 
 
-class VIEW3D_PT_tools_vertexpaint(View3DPanel, bpy.types.Panel):
+class VIEW3D_PT_tools_vertexpaint(View3DPanel, Panel):
     bl_context = "vertexpaint"
     bl_label = "Options"
 
@@ -1122,7 +1123,7 @@ class VIEW3D_PT_tools_vertexpaint(View3DPanel, bpy.types.Panel):
 # ********** default tools for texturepaint ****************
 
 
-class VIEW3D_PT_tools_projectpaint(View3DPanel, bpy.types.Panel):
+class VIEW3D_PT_tools_projectpaint(View3DPanel, Panel):
     bl_context = "imagepaint"
     bl_label = "Project Paint"
 
@@ -1214,7 +1215,7 @@ class VIEW3D_PT_imagepaint_options(PaintPanel):
         col.prop(tool_settings, "sculpt_paint_use_unified_strength", text="Strength")
 
 
-class VIEW3D_MT_tools_projectpaint_clone(bpy.types.Menu):
+class VIEW3D_MT_tools_projectpaint_clone(Menu):
     bl_label = "Clone Layer"
 
     def draw(self, context):
@@ -1225,7 +1226,7 @@ class VIEW3D_MT_tools_projectpaint_clone(bpy.types.Menu):
             prop.value = i
 
 
-class VIEW3D_MT_tools_projectpaint_stencil(bpy.types.Menu):
+class VIEW3D_MT_tools_projectpaint_stencil(Menu):
     bl_label = "Mask Layer"
 
     def draw(self, context):
@@ -1236,7 +1237,7 @@ class VIEW3D_MT_tools_projectpaint_stencil(bpy.types.Menu):
             prop.value = i
 
 
-class VIEW3D_PT_tools_particlemode(View3DPanel, bpy.types.Panel):
+class VIEW3D_PT_tools_particlemode(View3DPanel, Panel):
     '''default tools for particle mode'''
     bl_context = "particlemode"
     bl_label = "Options"
diff --git a/release/scripts/templates/operator_modal.py b/release/scripts/templates/operator_modal.py
index 78dbd4c6b43..a428b097f82 100644
--- a/release/scripts/templates/operator_modal.py
+++ b/release/scripts/templates/operator_modal.py
@@ -18,7 +18,7 @@ class ModalOperator(bpy.types.Operator):
         elif event.type == 'LEFTMOUSE':
             return {'FINISHED'}
 
-        elif event.type in ('RIGHTMOUSE', 'ESC'):
+        elif event.type in {'RIGHTMOUSE', 'ESC'}:
             context.object.location.x = self.first_value
             return {'CANCELLED'}
 
@@ -47,4 +47,4 @@ if __name__ == "__main__":
     register()
 
     # test call
-    bpy.ops.object.modal_operator()
+    bpy.ops.object.modal_operator('INVOKE_DEFAULT')
diff --git a/release/scripts/templates/operator_modal_draw.py b/release/scripts/templates/operator_modal_draw.py
index e7a1f6e4ffe..b3d525a59bf 100644
--- a/release/scripts/templates/operator_modal_draw.py
+++ b/release/scripts/templates/operator_modal_draw.py
@@ -45,7 +45,7 @@ class ModalDrawOperator(bpy.types.Operator):
             context.region.callback_remove(self._handle)
             return {'FINISHED'}
 
-        elif event.type in ('RIGHTMOUSE', 'ESC'):
+        elif event.type in {'RIGHTMOUSE', 'ESC'}:
             context.region.callback_remove(self._handle)
             return {'CANCELLED'}
 
diff --git a/release/scripts/templates/operator_modal_timer.py b/release/scripts/templates/operator_modal_timer.py
index d2267191cf5..ec47390da81 100644
--- a/release/scripts/templates/operator_modal_timer.py
+++ b/release/scripts/templates/operator_modal_timer.py
@@ -10,7 +10,7 @@ class ModalTimerOperator(bpy.types.Operator):
 
     def modal(self, context, event):
         if event.type == 'ESC':
-            return self.cancel()
+            return self.cancel(context)
 
         if event.type == 'TIMER':
             # change theme color, silly!
diff --git a/release/scripts/templates/operator_modal_view3d.py b/release/scripts/templates/operator_modal_view3d.py
index c494f121017..925449835ca 100644
--- a/release/scripts/templates/operator_modal_view3d.py
+++ b/release/scripts/templates/operator_modal_view3d.py
@@ -29,7 +29,7 @@ class ViewOperator(bpy.types.Operator):
             context.area.header_text_set()
             return {'FINISHED'}
 
-        elif event.type in ('RIGHTMOUSE', 'ESC'):
+        elif event.type in {'RIGHTMOUSE', 'ESC'}:
             rv3d.view_location = self._initial_location
             context.area.header_text_set()
             return {'CANCELLED'}
diff --git a/release/text/readme.html b/release/text/readme.html
index 2b5a4071a7f..95094b9c0cb 100644
--- a/release/text/readme.html
+++ b/release/text/readme.html
@@ -12,22 +12,22 @@
   </style>
 </head>
 <body>
-<p class="title"><b>Blender 2.58</b></p>
+<p class="title"><b>Blender 2.59</b></p>
 <p><br></p>
 <p class="header"><b>About</b></p>
 <p class="body">Welcome to Blender, the free, open source 3D application for modeling, animation, rendering, compositing, video editing and game creation. Blender is available for Linux, Mac OS X, Windows, Solaris and FreeBSD and has a large world-wide community.</p>
 <p class="body">Blender can be used freely for any purpose, including commercial use and distribution. It's free and open-source software, released under the GNU GPL licence. The entire source code is available on our website.</p>
 <p class="body">For more information, visit <a href="http://www.blender.org">blender.org</a>.</p>
 <p><br></p>
-<p class="header"><b>2.58</b></p>
-<p class="body">The Blender Foundation and online developer community is proud to present Blender 2.58. This release is the second official stable release of the Blender 2.5 series, and represents the culmination of many years of redesign and development work. <a href="http://www.blender.org/development/release-logs/blender-258/">More information about this release</a>.</p>
+<p class="header"><b>2.59</b></p>
+<p class="body">The Blender Foundation and online developer community is proud to present Blender 2.59. This release is the third official stable release of the Blender 2.5 series, and represents the culmination of many years of redesign and development work. <a href="http://www.blender.org/development/release-logs/blender-259/">More information about this release</a>.</p>
 <p class="body">What to Expect:</p>
 <p class="body">	•	Big improvements - This is our most exciting version to date, already a significant improvement in many ways over 2.49</p>
 <p class="body">	•	Missing/Incomplete Features - Although most of it is there, not all functionality from pre-2.5 versions has been restored yet. Some functionality may be re-implemented a different way.</p>
 <p class="body">	•	Changes - If you're used to the old Blenders, Blender 2.5 may seem quite different at first, but it won't be long before it grows on you even more than before.</p>
 <p><br></p>
 <p class="header"><b>Bugs</b></p>
-<p class="body">Although Blender 2.58 is considered a stable release, you may encounter a bug. If you do, please help us by posting it in the bug tracker or using Help → Report a Bug from inside Blender 2.58. If it wasn’t reported yet, please log in (or register) and fill in detailed information about the error. Please post detailed instructions on how to reproduce it or post a .blend file showcasing the bug.</p>
+<p class="body">Although Blender 2.59 is considered a stable release, you may encounter a bug. If you do, please help us by posting it in the bug tracker or using Help → Report a Bug from inside Blender 2.59. If it wasn’t reported yet, please log in (or register) and fill in detailed information about the error. Please post detailed instructions on how to reproduce it or post a .blend file showcasing the bug.</p>
 <p><br></p>
 <p class="header"><b>Package Contents</b></p>
 <p class="body">The downloaded Blender package includes:</p>
@@ -51,11 +51,11 @@
 <p class="header"><b>Links</b></p>
 <p class="body">Users:</p>
 <p class="body">	General information		<a href="http://www.blender.org">www.blender.org</a> <br>
-	Full release log 			<a href="http://www.blender.org/development/release-logs/blender-258/">www.blender.org/development/release-logs/blender-258/</a><br>
+	Full release log 			<a href="http://www.blender.org/development/release-logs/blender-259/">www.blender.org/development/release-logs/blender-259/</a><br>
 	Tutorials 			<a href="http://www.blender.org/education-help/">www.blender.org/education-help/</a>	<br>
 	Manual 			<a href="http://wiki.blender.org/index.php/Doc:Manual">wiki.blender.org/index.php/Doc:Manual</a><br>
 	User Forum 			<a href="http://www.blenderartists.org">www.blenderartists.org</a><br>
-	IRC 				<a href="irc://irc.freenode.net/#blender">#blender on irc.freenode.net</a><br>
+	IRC 				<a href="irc://irc.freenode.net/#blenderchat">#blenderchat on irc.freenode.net</a><br>
 </p>
 <p class="body">Developers:</p>
 <p class="body">	Development				<a href="http://www.blender.org/development/">www.blender.org/development/</a><br>
diff --git a/source/blender/blenkernel/BKE_blender.h b/source/blender/blenkernel/BKE_blender.h
index 18f6ad21333..162b0de1d5a 100644
--- a/source/blender/blenkernel/BKE_blender.h
+++ b/source/blender/blenkernel/BKE_blender.h
@@ -43,17 +43,17 @@ extern "C" {
 /* these lines are grep'd, watch out for our not-so-awesome regex
  * and keep comment above the defines.
  * Use STRINGIFY() rather than defining with quotes */
-#define BLENDER_VERSION			258
-#define BLENDER_SUBVERSION		1
+#define BLENDER_VERSION			259
+#define BLENDER_SUBVERSION		0
 
 #define BLENDER_MINVERSION		250
 #define BLENDER_MINSUBVERSION	0
 
 /* used by packaging tools */
 		/* can be left blank, otherwise a,b,c... etc with no quotes */
-#define BLENDER_VERSION_CHAR	a
+#define BLENDER_VERSION_CHAR
 		/* alpha/beta/rc/release, docs use this */
-#define BLENDER_VERSION_CYCLE	beta
+#define BLENDER_VERSION_CYCLE	alpha
 
 struct ListBase;
 struct MemFile;
diff --git a/source/blender/blenkernel/intern/depsgraph.c b/source/blender/blenkernel/intern/depsgraph.c
index 13a84e0452f..97abc740c43 100644
--- a/source/blender/blenkernel/intern/depsgraph.c
+++ b/source/blender/blenkernel/intern/depsgraph.c
@@ -301,6 +301,7 @@ static void dag_add_driver_relation(AnimData *adt, DagForest *dag, DagNode *node
 	for (fcu= adt->drivers.first; fcu; fcu= fcu->next) {
 		ChannelDriver *driver= fcu->driver;
 		DriverVar *dvar;
+		int isdata_fcu = isdata || (fcu->rna_path && strstr(fcu->rna_path, "modifiers["));
 		
 		/* loop over variables to get the target relationships */
 		for (dvar= driver->variables.first; dvar; dvar= dvar->next) {
@@ -320,14 +321,14 @@ static void dag_add_driver_relation(AnimData *adt, DagForest *dag, DagNode *node
 							( ((dtar->rna_path) && strstr(dtar->rna_path, "pose.bones[")) || 
 							  ((dtar->flag & DTAR_FLAG_STRUCT_REF) && (dtar->pchan_name[0])) )) 
 						{
-							dag_add_relation(dag, node1, node, isdata?DAG_RL_DATA_DATA:DAG_RL_DATA_OB, "Driver");
+							dag_add_relation(dag, node1, node, isdata_fcu?DAG_RL_DATA_DATA:DAG_RL_DATA_OB, "Driver");
 						}
 						/* check if ob data */
 						else if (dtar->rna_path && strstr(dtar->rna_path, "data."))
-							dag_add_relation(dag, node1, node, isdata?DAG_RL_DATA_DATA:DAG_RL_DATA_OB, "Driver");
+							dag_add_relation(dag, node1, node, isdata_fcu?DAG_RL_DATA_DATA:DAG_RL_DATA_OB, "Driver");
 						/* normal */
 						else
-							dag_add_relation(dag, node1, node, isdata?DAG_RL_OB_DATA:DAG_RL_OB_OB, "Driver");
+							dag_add_relation(dag, node1, node, isdata_fcu?DAG_RL_OB_DATA:DAG_RL_OB_OB, "Driver");
 					}
 				}
 			}
diff --git a/source/blender/blenkernel/intern/displist.c b/source/blender/blenkernel/intern/displist.c
index 8f57490d057..c2ed6468643 100644
--- a/source/blender/blenkernel/intern/displist.c
+++ b/source/blender/blenkernel/intern/displist.c
@@ -1369,6 +1369,11 @@ void makeDispListCurveTypes(Scene *scene, Object *ob, int forOrco)
 	Curve *cu= ob->data;
 	ListBase *dispbase;
 
+	/* The same check for duplis as in do_makeDispListCurveTypes.
+	   Happens when curve used for constraint/bevel was converted to mesh.
+	   check there is still needed for render displist and orco displists. */
+	if(!ELEM3(ob->type, OB_SURF, OB_CURVE, OB_FONT)) return;
+
 	freedisplist(&(ob->disp));
 	dispbase= &(ob->disp);
 	freedisplist(dispbase);
diff --git a/source/blender/blenkernel/intern/fcurve.c b/source/blender/blenkernel/intern/fcurve.c
index d6a9d950015..13e13fbc3ff 100644
--- a/source/blender/blenkernel/intern/fcurve.c
+++ b/source/blender/blenkernel/intern/fcurve.c
@@ -1002,7 +1002,7 @@ static float dtar_get_prop_val (ChannelDriver *driver, DriverTarget *dtar)
 	
 	/* get property to read from, and get value as appropriate */
 	if (RNA_path_resolve_full(&id_ptr, dtar->rna_path, &ptr, &prop, &index)) {
-		if(RNA_property_array_check(&ptr, prop)) {
+		if(RNA_property_array_check(prop)) {
 			/* array */
 			if (index < RNA_property_array_length(&ptr, prop)) {	
 				switch (RNA_property_type(prop)) {
diff --git a/source/blender/blenkernel/intern/nla.c b/source/blender/blenkernel/intern/nla.c
index c02b5dda9ce..bd238e72d0c 100644
--- a/source/blender/blenkernel/intern/nla.c
+++ b/source/blender/blenkernel/intern/nla.c
@@ -1582,7 +1582,7 @@ void BKE_nla_tweakmode_exit (AnimData *adt)
 
 /* Baking Tools ------------------------------------------- */
 
-static void BKE_nla_bake (Scene *scene, ID *UNUSED(id), AnimData *adt, int UNUSED(flag))
+static void UNUSED_FUNCTION(BKE_nla_bake) (Scene *scene, ID *UNUSED(id), AnimData *adt, int UNUSED(flag))
 {
 
 	/* verify that data is valid 
diff --git a/source/blender/blenkernel/intern/node.c b/source/blender/blenkernel/intern/node.c
index f6b40527637..927d406eb61 100644
--- a/source/blender/blenkernel/intern/node.c
+++ b/source/blender/blenkernel/intern/node.c
@@ -3399,7 +3399,7 @@ static int node_animation_properties(bNodeTree *ntree, bNode *node)
 		int driven, len=1, index;
 		prop = (PropertyRNA *)link;
 		
-		if (RNA_property_array_check(&ptr, prop))
+		if (RNA_property_array_check(prop))
 			len = RNA_property_array_length(&ptr, prop);
 		
 		for (index=0; index<len; index++) {
@@ -3417,7 +3417,7 @@ static int node_animation_properties(bNodeTree *ntree, bNode *node)
 		RNA_pointer_create((ID *)ntree, &RNA_NodeSocket, sock, &ptr);
 		prop = RNA_struct_find_property(&ptr, "default_value");
 		
-		if (RNA_property_array_check(&ptr, prop))
+		if (RNA_property_array_check(prop))
 			len = RNA_property_array_length(&ptr, prop);
 		
 		for (index=0; index<len; index++) {
diff --git a/source/blender/blenkernel/intern/particle.c b/source/blender/blenkernel/intern/particle.c
index 5995b895061..9aa1c6e29eb 100644
--- a/source/blender/blenkernel/intern/particle.c
+++ b/source/blender/blenkernel/intern/particle.c
@@ -4389,6 +4389,7 @@ void psys_get_dupli_path_transform(ParticleSimulationData *sim, ParticleData *pa
 	copy_m3_m4(nmat, ob->imat);
 	transpose_m3(nmat);
 	mul_m3_v3(nmat, nor);
+	normalize_v3(nor);
 
 	/* make sure that we get a proper side vector */
 	if(fabs(dot_v3v3(nor,vec))>0.999999) {
diff --git a/source/blender/blenkernel/intern/sequencer.c b/source/blender/blenkernel/intern/sequencer.c
index d6a152a5280..3aebbea789f 100644
--- a/source/blender/blenkernel/intern/sequencer.c
+++ b/source/blender/blenkernel/intern/sequencer.c
@@ -699,6 +699,7 @@ void reload_sequence_new_file(Scene *scene, Sequence * seq, int lock_range)
 			seq->len = 0;
 		}
 		seq->strip->len = seq->len;
+		break;
 	case SEQ_SOUND:
 #ifdef WITH_AUDASPACE
 		if(!seq->sound)
diff --git a/source/blender/blenkernel/intern/texture.c b/source/blender/blenkernel/intern/texture.c
index 036ba34d0c8..493baebd197 100644
--- a/source/blender/blenkernel/intern/texture.c
+++ b/source/blender/blenkernel/intern/texture.c
@@ -1005,7 +1005,7 @@ void autotexname(Tex *tex)
 
 Tex *give_current_object_texture(Object *ob)
 {
-	Material *ma;
+	Material *ma, *node_ma;
 	Tex *tex= NULL;
 	
 	if(ob==NULL) return NULL;
@@ -1015,6 +1015,10 @@ Tex *give_current_object_texture(Object *ob)
 		tex= give_current_lamp_texture(ob->data);
 	} else {
 		ma= give_current_material(ob, ob->actcol);
+
+		if((node_ma=give_node_material(ma)))
+			ma= node_ma;
+
 		tex= give_current_material_texture(ma);
 	}
 	
@@ -1080,17 +1084,6 @@ Tex *give_current_material_texture(Material *ma)
 			tex= (Tex *)node->id;
 			ma= NULL;
 		}
-		else {
-			node= nodeGetActiveID(ma->nodetree, ID_MA);
-			if(node) {
-				ma= (Material*)node->id;
-				if(ma) {
-					mtex= ma->mtex[(int)(ma->texact)];
-					if(mtex) tex= mtex->tex;
-				}
-			}
-		}
-		return tex;
 	}
 
 	if(ma) {
@@ -1165,11 +1158,6 @@ void set_current_material_texture(Material *ma, Tex *newtex)
 			id_us_plus(&newtex->id);
 			ma= NULL;
 		}
-		else {
-			node= nodeGetActiveID(ma->nodetree, ID_MA);
-			if(node)
-				ma= (Material*)node->id;
-		}
 	}
 	if(ma) {
 		int act= (int)ma->texact;
@@ -1198,16 +1186,8 @@ int has_current_material_texture(Material *ma)
 	if(ma && ma->use_nodes && ma->nodetree) {
 		node= nodeGetActiveID(ma->nodetree, ID_TE);
 
-		if(node) {
+		if(node)
 			return 1;
-		}
-		else {
-			node= nodeGetActiveID(ma->nodetree, ID_MA);
-			if(node)
-				ma= (Material*)node->id;
-			else
-				ma= NULL;
-		}
 	}
 
 	return (ma != NULL);
diff --git a/source/blender/blenkernel/intern/unit.c b/source/blender/blenkernel/intern/unit.c
index b89e576a562..a9792bc44fa 100644
--- a/source/blender/blenkernel/intern/unit.c
+++ b/source/blender/blenkernel/intern/unit.c
@@ -136,7 +136,7 @@ static struct bUnitDef buImperialLenDef[] = {
 	{"yard", "yards",		"yd", NULL, "Yards",	UN_SC_YD, 0.0,	B_UNIT_DEF_NONE},
 	{"foot", "feet",		"'", "ft", "Feet",		UN_SC_FT, 0.0,	B_UNIT_DEF_NONE}, /* base unit */
 	{"inch", "inches",		"\"", "in", "Inches",	UN_SC_IN, 0.0,	B_UNIT_DEF_NONE},
-	{"thou", "thous",		"mil", NULL, "Thous",	UN_SC_MIL, 0.0,	B_UNIT_DEF_NONE},
+	{"thou", "thou",		"thou", "mil", "Thou",	UN_SC_MIL, 0.0,	B_UNIT_DEF_NONE}, /* plural for thou has no 's' */
 	{NULL, NULL, NULL, NULL, NULL, 0.0, 0.0}
 };
 static struct bUnitCollection buImperialLenCollecton = {buImperialLenDef, 4, 0, sizeof(buImperialLenDef)/sizeof(bUnitDef)};
diff --git a/source/blender/blenkernel/intern/writeffmpeg.c b/source/blender/blenkernel/intern/writeffmpeg.c
index 4db53999f10..fe7a7a18177 100644
--- a/source/blender/blenkernel/intern/writeffmpeg.c
+++ b/source/blender/blenkernel/intern/writeffmpeg.c
@@ -658,10 +658,12 @@ static int start_ffmpeg_impl(struct RenderData *rd, int rectx, int recty, Report
 	switch(ffmpeg_type) {
 	case FFMPEG_AVI:
 	case FFMPEG_MOV:
-	case FFMPEG_OGG:
 	case FFMPEG_MKV:
 		fmt->video_codec = ffmpeg_codec;
 		break;
+	case FFMPEG_OGG:
+		fmt->video_codec = CODEC_ID_THEORA;
+		break;
 	case FFMPEG_DV:
 		fmt->video_codec = CODEC_ID_DVVIDEO;
 		break;
@@ -1310,6 +1312,9 @@ void ffmpeg_verify_image_type(RenderData *rd)
 			/* Don't set preset, disturbs render resolution.
 			 * ffmpeg_set_preset(rd, FFMPEG_PRESET_DVD); */
 		}
+		if(rd->ffcodecdata.type == FFMPEG_OGG) {
+			rd->ffcodecdata.type = FFMPEG_MPEG2;
+		}
 
 		audio= 1;
 	}
diff --git a/source/blender/blenlib/BLI_ghash.h b/source/blender/blenlib/BLI_ghash.h
index dcc71fa1258..e4afc6ad79b 100644
--- a/source/blender/blenlib/BLI_ghash.h
+++ b/source/blender/blenlib/BLI_ghash.h
@@ -53,14 +53,14 @@ typedef void			(*GHashValFreeFP)	(void *val);
 
 typedef struct Entry {
 	struct Entry *next;
-	
+
 	void *key, *val;
 } Entry;
 
 typedef struct GHash {
 	GHashHashFP	hashfp;
 	GHashCmpFP	cmpfp;
-	
+
 	Entry **buckets;
 	struct BLI_mempool *entrypool;
 	int nbuckets, nentries, cursize;
@@ -72,15 +72,15 @@ typedef struct GHashIterator {
 	struct Entry *curEntry;
 } GHashIterator;
 
-GHash*	BLI_ghash_new		(GHashHashFP hashfp, GHashCmpFP cmpfp, const char *info);
-void	BLI_ghash_free		(GHash *gh, GHashKeyFreeFP keyfreefp, GHashValFreeFP valfreefp);
-
-//BM_INLINE void	BLI_ghash_insert	(GHash *gh, void *key, void *val);
-//BM_INLINE int		BLI_ghash_remove	(GHash *gh, void *key, GHashKeyFreeFP keyfreefp, GHashValFreeFP valfreefp);
-//BM_INLINE void*	BLI_ghash_lookup	(GHash *gh, void *key);
-//BM_INLINE int		BLI_ghash_haskey	(GHash *gh, void *key);
+/* *** */
 
-int		BLI_ghash_size		(GHash *gh);
+GHash* BLI_ghash_new   (GHashHashFP hashfp, GHashCmpFP cmpfp, const char *info);
+void   BLI_ghash_free  (GHash *gh, GHashKeyFreeFP keyfreefp, GHashValFreeFP valfreefp);
+void   BLI_ghash_insert(GHash *gh, void *key, void *val);
+void * BLI_ghash_lookup(GHash *gh, const void *key);
+int    BLI_ghash_remove(GHash *gh, void *key, GHashKeyFreeFP keyfreefp, GHashValFreeFP valfreefp);
+int    BLI_ghash_haskey(GHash *gh, void *key);
+int	   BLI_ghash_size  (GHash *gh);
 
 /* *** */
 
@@ -149,127 +149,10 @@ unsigned int	BLI_ghashutil_strhash	(const void *key);
 int				BLI_ghashutil_strcmp	(const void *a, const void *b);
 
 unsigned int	BLI_ghashutil_inthash	(const void *ptr);
-int				BLI_ghashutil_intcmp(const void *a, const void *b);
-
-/*begin of macro-inlined functions*/
-extern unsigned int hashsizes[];
-
-#if 0
-#define BLI_ghash_insert(gh, _k, _v){\
-	unsigned int _hash= (gh)->hashfp(_k)%gh->nbuckets;\
-	Entry *_e= BLI_mempool_alloc((gh)->entrypool);\
-	_e->key= _k;\
-	_e->val= _v;\
-	_e->next= (gh)->buckets[_hash];\
-	(gh)->buckets[_hash]= _e;\
-	if (++(gh)->nentries>(gh)->nbuckets*3) {\
-		Entry *_e, **_old= (gh)->buckets;\
-		int _i, _nold= (gh)->nbuckets;\
-		(gh)->nbuckets= hashsizes[++(gh)->cursize];\
-		(gh)->buckets= malloc((gh)->nbuckets*sizeof(*(gh)->buckets));\
-		memset((gh)->buckets, 0, (gh)->nbuckets*sizeof(*(gh)->buckets));\
-		for (_i=0; _i<_nold; _i++) {\
-			for (_e= _old[_i]; _e;) {\
-				Entry *_n= _e->next;\
-				_hash= (gh)->hashfp(_e->key)%(gh)->nbuckets;\
-				_e->next= (gh)->buckets[_hash];\
-				(gh)->buckets[_hash]= _e;\
-				_e= _n;\
-			}\
-		}\
-		free(_old); } }
-#endif
-
-/*---------inlined functions---------*/
-BM_INLINE void BLI_ghash_insert(GHash *gh, void *key, void *val) {
-	unsigned int hash= gh->hashfp(key)%gh->nbuckets;
-	Entry *e= (Entry*) BLI_mempool_alloc(gh->entrypool);
-
-	e->key= key;
-	e->val= val;
-	e->next= gh->buckets[hash];
-	gh->buckets[hash]= e;
-	
-	if (++gh->nentries>(float)gh->nbuckets/2) {
-		Entry **old= gh->buckets;
-		int i, nold= gh->nbuckets;
-		
-		gh->nbuckets= hashsizes[++gh->cursize];
-		gh->buckets= (Entry**)MEM_mallocN(gh->nbuckets*sizeof(*gh->buckets), "buckets");
-		memset(gh->buckets, 0, gh->nbuckets*sizeof(*gh->buckets));
-		
-		for (i=0; i<nold; i++) {
-			for (e= old[i]; e;) {
-				Entry *n= e->next;
-				
-				hash= gh->hashfp(e->key)%gh->nbuckets;
-				e->next= gh->buckets[hash];
-				gh->buckets[hash]= e;
-				
-				e= n;
-			}
-		}
-		
-		MEM_freeN(old);
-	}
-}
-
-BM_INLINE void* BLI_ghash_lookup(GHash *gh, const void *key) 
-{
-	if(gh) {
-		unsigned int hash= gh->hashfp(key)%gh->nbuckets;
-		Entry *e;
-		
-		for (e= gh->buckets[hash]; e; e= e->next)
-			if (gh->cmpfp(key, e->key)==0)
-				return e->val;
-	}	
-	return NULL;
-}
-
-BM_INLINE int BLI_ghash_remove (GHash *gh, void *key, GHashKeyFreeFP keyfreefp, GHashValFreeFP valfreefp)
-{
-	unsigned int hash= gh->hashfp(key)%gh->nbuckets;
-	Entry *e;
-	Entry *p = NULL;
-
-	for (e= gh->buckets[hash]; e; e= e->next) {
-		if (gh->cmpfp(key, e->key)==0) {
-			Entry *n= e->next;
-
-			if (keyfreefp) keyfreefp(e->key);
-			if (valfreefp) valfreefp(e->val);
-			BLI_mempool_free(gh->entrypool, e);
-
-
-			e= n;
-			if (p)
-				p->next = n;
-			else
-				gh->buckets[hash] = n;
-
-			--gh->nentries;
-			return 1;
-		}
-		p = e;
-	}
- 
-	return 0;
-}
-
-BM_INLINE int BLI_ghash_haskey(GHash *gh, void *key) {
-	unsigned int hash= gh->hashfp(key)%gh->nbuckets;
-	Entry *e;
-	
-	for (e= gh->buckets[hash]; e; e= e->next)
-		if (gh->cmpfp(key, e->key)==0)
-			return 1;
-	
-	return 0;
-}
+int				BLI_ghashutil_intcmp	(const void *a, const void *b);
 
 #ifdef __cplusplus
 }
 #endif
 
-#endif
+#endif /* BLI_GHASH_H */
diff --git a/source/blender/blenlib/BLI_utildefines.h b/source/blender/blenlib/BLI_utildefines.h
index 9af55601ff7..28ebb254f2a 100644
--- a/source/blender/blenlib/BLI_utildefines.h
+++ b/source/blender/blenlib/BLI_utildefines.h
@@ -183,6 +183,12 @@
 #  define UNUSED(x) UNUSED_ ## x
 #endif
 
+#ifdef __GNUC__
+#  define UNUSED_FUNCTION(x) __attribute__((__unused__)) UNUSED_ ## x
+#else
+#  define UNUSED_FUNCTION(x) UNUSED_ ## x
+#endif
+
 #ifdef __GNUC__
 #  define WARN_UNUSED  __attribute__((warn_unused_result))
 #else
diff --git a/source/blender/blenlib/intern/BLI_ghash.c b/source/blender/blenlib/intern/BLI_ghash.c
index ff08ef4dba9..bfee350037a 100644
--- a/source/blender/blenlib/intern/BLI_ghash.c
+++ b/source/blender/blenlib/intern/BLI_ghash.c
@@ -49,8 +49,6 @@ unsigned int hashsizes[]= {
 
 /***/
 
-/***/
-
 GHash *BLI_ghash_new(GHashHashFP hashfp, GHashCmpFP cmpfp, const char *info) {
 	GHash *gh= MEM_mallocN(sizeof(*gh), info);
 	gh->hashfp= hashfp;
@@ -67,14 +65,96 @@ GHash *BLI_ghash_new(GHashHashFP hashfp, GHashCmpFP cmpfp, const char *info) {
 	return gh;
 }
 
-#ifdef BLI_ghash_insert
-#undef BLI_ghash_insert
-#endif
-
 int BLI_ghash_size(GHash *gh) {
 	return gh->nentries;
 }
 
+void BLI_ghash_insert(GHash *gh, void *key, void *val) {
+	unsigned int hash= gh->hashfp(key)%gh->nbuckets;
+	Entry *e= (Entry*) BLI_mempool_alloc(gh->entrypool);
+
+	e->key= key;
+	e->val= val;
+	e->next= gh->buckets[hash];
+	gh->buckets[hash]= e;
+
+	if (++gh->nentries>(float)gh->nbuckets/2) {
+		Entry **old= gh->buckets;
+		int i, nold= gh->nbuckets;
+
+		gh->nbuckets= hashsizes[++gh->cursize];
+		gh->buckets= (Entry**)MEM_mallocN(gh->nbuckets*sizeof(*gh->buckets), "buckets");
+		memset(gh->buckets, 0, gh->nbuckets*sizeof(*gh->buckets));
+
+		for (i=0; i<nold; i++) {
+			for (e= old[i]; e;) {
+				Entry *n= e->next;
+
+				hash= gh->hashfp(e->key)%gh->nbuckets;
+				e->next= gh->buckets[hash];
+				gh->buckets[hash]= e;
+
+				e= n;
+			}
+		}
+
+		MEM_freeN(old);
+	}
+}
+
+void *BLI_ghash_lookup(GHash *gh, const void *key) {
+	if(gh) {
+		unsigned int hash= gh->hashfp(key)%gh->nbuckets;
+		Entry *e;
+
+		for (e= gh->buckets[hash]; e; e= e->next)
+			if (gh->cmpfp(key, e->key)==0)
+				return e->val;
+	}
+	return NULL;
+}
+
+int BLI_ghash_remove (GHash *gh, void *key, GHashKeyFreeFP keyfreefp, GHashValFreeFP valfreefp)
+{
+	unsigned int hash= gh->hashfp(key)%gh->nbuckets;
+	Entry *e;
+	Entry *p = NULL;
+
+	for (e= gh->buckets[hash]; e; e= e->next) {
+		if (gh->cmpfp(key, e->key)==0) {
+			Entry *n= e->next;
+
+			if (keyfreefp) keyfreefp(e->key);
+			if (valfreefp) valfreefp(e->val);
+			BLI_mempool_free(gh->entrypool, e);
+
+			/* correct but 'e' isnt used before return */
+			/* e= n; */ /*UNUSED*/
+			if (p)
+				p->next = n;
+			else
+				gh->buckets[hash] = n;
+
+			--gh->nentries;
+			return 1;
+		}
+		p = e;
+	}
+
+	return 0;
+}
+
+int BLI_ghash_haskey(GHash *gh, void *key) {
+	unsigned int hash= gh->hashfp(key)%gh->nbuckets;
+	Entry *e;
+
+	for (e= gh->buckets[hash]; e; e= e->next)
+		if (gh->cmpfp(key, e->key)==0)
+			return 1;
+
+	return 0;
+}
+
 void BLI_ghash_free(GHash *gh, GHashKeyFreeFP keyfreefp, GHashValFreeFP valfreefp) {
 	int i;
 	
diff --git a/source/blender/editors/armature/poseSlide.c b/source/blender/editors/armature/poseSlide.c
index 3d6888d87dc..69b7fff3607 100644
--- a/source/blender/editors/armature/poseSlide.c
+++ b/source/blender/editors/armature/poseSlide.c
@@ -1000,7 +1000,7 @@ static short pose_propagate_get_refVal (Object *ob, FCurve *fcu, float *value)
 	
 	/* resolve the property... */
 	if (RNA_path_resolve(&id_ptr, fcu->rna_path, &ptr, &prop)) {
-		if (RNA_property_array_check(&ptr, prop)) {
+		if (RNA_property_array_check(prop)) {
 			/* array */
 			if (fcu->array_index < RNA_property_array_length(&ptr, prop)) {
 				found= TRUE;
diff --git a/source/blender/editors/datafiles/splash.png.c b/source/blender/editors/datafiles/splash.png.c
index aa358275335..a3343496be7 100644
--- a/source/blender/editors/datafiles/splash.png.c
+++ b/source/blender/editors/datafiles/splash.png.c
@@ -1,6314 +1,6405 @@
 /* DataToC output of file <splash_png> */
 
-int datatoc_splash_png_size= 201866;
+int datatoc_splash_png_size= 204738;
 char datatoc_splash_png[]= {
-137, 80, 78, 71, 13, 10, 26, 10,  0,  0,
-  0, 13, 73, 72, 68, 82,  0,  0,  1,245,  0,  0,  1, 26,  8,  2,  0,  0,  0,135, 56, 89, 17,  0,  0, 10, 79,105, 67, 67, 80, 80,
-104,111,116,111,115,104,111,112, 32, 73, 67, 67, 32,112,114,111,102,105,108,101,  0,  0,120,218,157, 83,103, 84, 83,233, 22, 61,
-247,222,244, 66, 75,136,128,148, 75,111, 82, 21,  8, 32, 82, 66,139,128, 20,145, 38, 42, 33,  9, 16, 74,136, 33,161,217, 21, 81,
-193, 17, 69, 69,  4, 27,200,160,136,  3,142,142,128,140, 21, 81, 44, 12,138, 10,216,  7,228, 33,162,142,131,163,136,138,202,251,
-225,123,163,107,214,188,247,230,205,254,181,215, 62,231,172,243,157,179,207,  7,192,  8, 12,150, 72, 51, 81, 53,128, 12,169, 66,
- 30, 17,224,131,199,196,198,225,228, 46, 64,129, 10, 36,112,  0, 16,  8,179,100, 33,115,253, 35,  1,  0,248,126, 60, 60, 43, 34,
-192,  7,190,  0,  1,120,211, 11,  8,  0,192, 77,155,192, 48, 28,135,255, 15,234, 66,153, 92,  1,128,132,  1,192,116,145, 56, 75,
-  8,128, 20,  0, 64,122,142, 66,166,  0, 64, 70,  1,128,157,152, 38, 83,  0,160,  4,  0, 96,203, 99, 98,227,  0, 80, 45,  0, 96,
- 39,127,230,211,  0,128,157,248,153,123,  1,  0, 91,148, 33, 21,  1,160,145,  0, 32, 19,101,136, 68,  0,104, 59,  0,172,207, 86,
-138, 69,  0, 88, 48,  0, 20,102, 75,196, 57,  0,216, 45,  0, 48, 73, 87,102, 72,  0,176,183,  0,192,206, 16, 11,178,  0,  8, 12,
-  0, 48, 81,136,133, 41,  0,  4,123,  0, 96,200, 35, 35,120,  0,132,153,  0, 20, 70,242, 87, 60,241, 43,174, 16,231, 42,  0,  0,
-120,153,178, 60,185, 36, 57, 69,129, 91,  8, 45,113,  7, 87, 87, 46, 30, 40,206, 73, 23, 43, 20, 54, 97,  2, 97,154, 64, 46,194,
-121,153, 25, 50,129, 52, 15,224,243,204,  0,  0,160,145, 21, 17,224,131,243,253,120,206, 14,174,206,206, 54,142,182, 14, 95, 45,
-234,191,  6,255, 34, 98, 98,227,254,229,207,171,112, 64,  0,  0,225,116,126,209,254, 44, 47,179, 26,128, 59,  6,128,109,254,162,
- 37,238,  4,104, 94, 11,160,117,247,139,102,178, 15, 64,181,  0,160,233,218, 87,243,112,248,126, 60, 60, 69,161,144,185,217,217,
-229,228,228,216, 74,196, 66, 91, 97,202, 87,125,254,103,194, 95,192, 87,253,108,249,126, 60,252,247,245,224,190,226, 36,129, 50,
- 93,129, 71,  4,248,224,194,204,244, 76,165, 28,207,146,  9,132, 98,220,230,143, 71,252,183, 11,255,252, 29,211, 34,196, 73, 98,
-185, 88, 42, 20,227, 81, 18,113,142, 68,154,140,243, 50,165, 34,137, 66,146, 41,197, 37,210,255,100,226,223, 44,251,  3, 62,223,
- 53,  0,176,106, 62,  1,123,145, 45,168, 93, 99,  3,246, 75, 39, 16, 88,116,192,226,247,  0,  0,242,187,111,193,212, 40,  8,  3,
-128,104,131,225,207,119,255,239, 63,253, 71,160, 37,  0,128,102, 73,146,113,  0,  0, 94, 68, 36, 46, 84,202,179, 63,199,  8,  0,
-  0, 68,160,129, 42,176, 65, 27,244,193, 24, 44,192,  6, 28,193,  5,220,193, 11,252, 96, 54,132, 66, 36,196,194, 66, 16, 66, 10,
-100,128, 28,114, 96, 41,172,130, 66, 40,134,205,176, 29, 42, 96, 47,212, 64, 29, 52,192, 81,104,134,147,112, 14, 46,194, 85,184,
- 14, 61,112, 15,250, 97,  8,158,193, 40,188,129,  9,  4, 65,200,  8, 19, 97, 33,218,136,  1, 98,138, 88, 35,142,  8, 23,153,133,
-248, 33,193, 72,  4, 18,139, 36, 32,201,136, 20, 81, 34, 75,145, 53, 72, 49, 82,138, 84, 32, 85, 72, 29,242, 61,114,  2, 57,135,
- 92, 70,186,145, 59,200,  0, 50,130,252,134,188, 71, 49,148,129,178, 81, 61,212, 12,181, 67,185,168, 55, 26,132, 70,162, 11,208,
-100,116, 49,154,143, 22,160,155,208,114,180, 26, 61,140, 54,161,231,208,171,104, 15,218,143, 62, 67,199, 48,192,232, 24,  7, 51,
-196,108, 48, 46,198,195, 66,177, 56, 44,  9,147, 99,203,177, 34,172, 12,171,198, 26,176, 86,172,  3,187,137,245, 99,207,177,119,
-  4, 18,129, 69,192,  9, 54,  4,119, 66, 32, 97, 30, 65, 72, 88, 76, 88, 78,216, 72,168, 32, 28, 36, 52, 17,218,  9, 55,  9,  3,
-132, 81,194, 39, 34,147,168, 75,180, 38,186, 17,249,196, 24, 98, 50, 49,135, 88, 72, 44, 35,214, 18,143, 19, 47, 16,123,136, 67,
-196, 55, 36, 18,137, 67, 50, 39,185,144,  2, 73,177,164, 84,210, 18,210, 70,210,110, 82, 35,233, 44,169,155, 52, 72, 26, 35,147,
-201,218,100,107,178,  7, 57,148, 44, 32, 43,200,133,228,157,228,195,228, 51,228, 27,228, 33,242, 91, 10,157, 98, 64,113,164,248,
- 83,226, 40, 82,202,106, 74, 25,229, 16,229, 52,229,  6,101,152, 50, 65, 85,163,154, 82,221,168,161, 84, 17, 53,143, 90, 66,173,
-161,182, 82,175, 81,135,168, 19, 52,117,154, 57,205,131, 22, 73, 75,165,173,162,149,211, 26,104, 23,104,247,105,175,232,116,186,
- 17,221,149, 30, 78,151,208, 87,210,203,233, 71,232,151,232,  3,244,119, 12, 13,134, 21,131,199,136,103, 40, 25,155, 24,  7, 24,
-103, 25,119, 24,175,152, 76,166, 25,211,139, 25,199, 84, 48, 55, 49,235,152,231,153, 15,153,111, 85, 88, 42,182, 42,124, 21,145,
-202, 10,149, 74,149, 38,149, 27, 42, 47, 84,169,170,166,170,222,170, 11, 85,243, 85,203, 84,143,169, 94, 83,125,174, 70, 85, 51,
- 83,227,169,  9,212,150,171, 85,170,157, 80,235, 83, 27, 83,103,169, 59,168,135,170,103,168,111, 84, 63,164,126, 89,253,137,  6,
- 89,195, 76,195, 79, 67,164, 81,160,177, 95,227,188,198, 32, 11, 99, 25,179,120, 44, 33,107, 13,171,134,117,129, 53,196, 38,177,
-205,217,124,118, 42,187,152,253, 29,187,139, 61,170,169,161, 57, 67, 51, 74, 51, 87,179, 82,243,148,102, 63,  7,227,152,113,248,
-156,116, 78,  9,231, 40,167,151,243,126,138,222, 20,239, 41,226, 41, 27,166, 52, 76,185, 49,101, 92,107,170,150,151,150, 88,171,
- 72,171, 81,171, 71,235,189, 54,174,237,167,157,166,189, 69,187, 89,251,129, 14, 65,199, 74, 39, 92, 39, 71,103,143,206,  5,157,
-231, 83,217, 83,221,167, 10,167, 22, 77, 61, 58,245,174, 46,170,107,165, 27,161,187, 68,119,191,110,167,238,152,158,190, 94,128,
-158, 76,111,167,222,121,189,231,250, 28,125, 47,253, 84,253,109,250,167,245, 71, 12, 88,  6,179, 12, 36,  6,219, 12,206, 24, 60,
-197, 53,113,111, 60, 29, 47,199,219,241, 81, 67, 93,195, 64, 67,165, 97,149, 97,151,225,132,145,185,209, 60,163,213, 70,141, 70,
- 15,140,105,198, 92,227, 36,227,109,198,109,198,163, 38,  6, 38, 33, 38, 75, 77,234, 77,238,154, 82, 77,185,166, 41,166, 59, 76,
- 59, 76,199,205,204,205,162,205,214,153, 53,155, 61, 49,215, 50,231,155,231,155,215,155,223,183, 96, 90,120, 90, 44,182,168,182,
-184,101, 73,178,228, 90,166, 89,238,182,188,110,133, 90, 57, 89,165, 88, 85, 90, 93,179, 70,173,157,173, 37,214,187,173,187,167,
- 17,167,185, 78,147, 78,171,158,214,103,195,176,241,182,201,182,169,183, 25,176,229,216,  6,219,174,182,109,182,125, 97,103, 98,
- 23,103,183,197,174,195,238,147,189,147,125,186,125,141,253, 61,  7, 13,135,217, 14,171, 29, 90, 29,126,115,180,114, 20, 58, 86,
- 58,222,154,206,156,238, 63,125,197,244,150,233, 47,103, 88,207, 16,207,216, 51,227,182, 19,203, 41,196,105,157, 83,155,211, 71,
-103, 23,103,185,115,131,243,136,139,137, 75,130,203, 46,151, 62, 46,155, 27,198,221,200,189,228, 74,116,245,113, 93,225,122,210,
-245,157,155,179,155,194,237,168,219,175,238, 54,238,105,238,135,220,159,204, 52,159, 41,158, 89, 51,115,208,195,200, 67,224, 81,
-229,209, 63, 11,159,149, 48,107,223,172,126, 79, 67, 79,129,103,181,231, 35, 47, 99, 47,145, 87,173,215,176,183,165,119,170,247,
- 97,239, 23, 62,246, 62,114,159,227, 62,227, 60, 55,222, 50,222, 89, 95,204, 55,192,183,200,183,203, 79,195,111,158, 95,133,223,
- 67,127, 35,255,100,255,122,255,209,  0,167,128, 37,  1,103,  3,137,129, 65,129, 91,  2,251,248,122,124, 33,191,142, 63, 58,219,
-101,246,178,217,237, 65,140,160,185, 65, 21, 65,143,130,173,130,229,193,173, 33,104,200,236,144,173, 33,247,231,152,206,145,206,
-105, 14,133, 80,126,232,214,208,  7, 97,230, 97,139,195,126, 12, 39,133,135,133, 87,134, 63,142,112,136, 88, 26,209, 49,151, 53,
-119,209,220, 67,115,223, 68,250, 68,150, 68,222,155,103, 49, 79, 57,175, 45, 74, 53, 42, 62,170, 46,106, 60,218, 55,186, 52,186,
- 63,198, 46,102, 89,204,213, 88,157, 88, 73,108, 75, 28, 57, 46, 42,174, 54,110,108,190,223,252,237,243,135,226,157,226, 11,227,
-123, 23,152, 47,200, 93,112,121,161,206,194,244,133,167, 22,169, 46, 18, 44, 58,150, 64, 76,136, 78, 56,148,240, 65, 16, 42,168,
- 22,140, 37,242, 19,119, 37,142, 10,121,194, 29,194,103, 34, 47,209, 54,209,136,216, 67, 92, 42, 30, 78,242, 72, 42, 77,122,146,
-236,145,188, 53,121, 36,197, 51,165, 44,229,185,132, 39,169,144,188, 76, 13, 76,221,155, 58,158, 22,154,118, 32,109, 50, 61, 58,
-189, 49,131,146,145,144,113, 66,170, 33, 77,147,182,103,234,103,230,102,118,203,172,101,133,178,254,197,110,139,183, 47, 30,149,
-  7,201,107,179,144,172,  5, 89, 45, 10,182, 66,166,232, 84, 90, 40,215, 42,  7,178,103,101, 87,102,191,205,137,202, 57,150,171,
-158, 43,205,237,204,179,202,219,144, 55,156,239,159,255,237, 18,194, 18,225,146,182,165,134, 75, 87, 45, 29, 88,230,189,172,106,
- 57,178, 60,113,121,219, 10,227, 21,  5, 43,134, 86,  6,172, 60,184,138,182, 42,109,213, 79,171,237, 87,151,174,126,189, 38,122,
- 77,107,129, 94,193,202,130,193,181,  1,107,235, 11, 85, 10,229,133,125,235,220,215,237, 93, 79, 88, 47, 89,223,181, 97,250,134,
-157, 27, 62, 21,137,138,174, 20,219, 23,151, 21,127,216, 40,220,120,229, 27,135,111,202,191,153,220,148,180,169,171,196,185,100,
-207,102,210,102,233,230,222, 45,158, 91, 14,150,170,151,230,151, 14,110, 13,217,218,180, 13,223, 86,180,237,245,246, 69,219, 47,
-151,205, 40,219,187,131,182, 67,185,163,191, 60,184,188,101,167,201,206,205, 59, 63, 84,164, 84,244, 84,250, 84, 54,238,210,221,
-181, 97,215,248,110,209,238, 27,123,188,246, 52,236,213,219, 91,188,247,253, 62,201,190,219, 85,  1, 85, 77,213,102,213,101,251,
- 73,251,179,247, 63,174,137,170,233,248,150,251,109, 93,173, 78,109,113,237,199,  3,210,  3,253,  7, 35, 14,182,215,185,212,213,
- 29,210, 61, 84, 82,143,214, 43,235, 71, 14,199, 31,190,254,157,239,119, 45, 13, 54, 13, 85,141,156,198,226, 35,112, 68,121,228,
-233,247,  9,223,247, 30, 13, 58,218,118,140,123,172,225,  7,211, 31,118, 29,103, 29, 47,106, 66,154,242,154, 70,155, 83,154,251,
- 91, 98, 91,186, 79,204, 62,209,214,234,222,122,252, 71,219, 31, 15,156, 52, 60, 89,121, 74,243, 84,201,105,218,233,130,211,147,
-103,242,207,140,157,149,157,125,126, 46,249,220, 96,219,162,182,123,231, 99,206,223,106, 15,111,239,186, 16,116,225,210, 69,255,
-139,231, 59,188, 59,206, 92,242,184,116,242,178,219,229, 19, 87,184, 87,154,175, 58, 95,109,234,116,234, 60,254,147,211, 79,199,
-187,156,187,154,174,185, 92,107,185,238,122,189,181,123,102,247,233, 27,158, 55,206,221,244,189,121,241, 22,255,214,213,158, 57,
- 61,221,189,243,122,111,247,197,247,245,223, 22,221,126,114, 39,253,206,203,187,217,119, 39,238,173,188, 79,188, 95,244, 64,237,
- 65,217, 67,221,135,213, 63, 91,254,220,216,239,220,127,106,192,119,160,243,209,220, 71,247,  6,133,131,207,254,145,245,143, 15,
- 67,  5,143,153,143,203,134, 13,134,235,158, 56, 62, 57, 57,226, 63,114,253,233,252,167, 67,207,100,207, 38,158, 23,254,162,254,
-203,174, 23, 22, 47,126,248,213,235,215,206,209,152,209,161,151,242,151,147,191,109,124,165,253,234,192,235, 25,175,219,198,194,
-198, 30,190,201,120, 51, 49, 94,244, 86,251,237,193,119,220,119, 29,239,163,223, 15, 79,228,124, 32,127, 40,255,104,249,177,245,
- 83,208,167,251,147, 25,147,147,255,  4,  3,152,243,252, 99, 51, 45,219,  0,  0,  0,  6, 98, 75, 71, 68,  0,  0,  0,  0,  0,  0,
-249, 67,187,127,  0,  0,  0,  9,112, 72, 89,115,  0,  0, 11, 19,  0,  0, 11, 19,  1,  0,154,156, 24,  0,  0,  0,  7,116, 73, 77,
- 69,  7,219,  6, 21, 16, 50, 48,139, 37,211,236,  0,  0, 32,  0, 73, 68, 65, 84,120,218,236,189,105,148, 93,215,117, 30,184,135,
-115,135, 55,215,171,  1, 19,  1,  2, 40, 78, 18, 73,137,166, 65, 41, 22,101,205,160, 90, 67,162, 88,138,  1,183,149,216, 89,113,
- 98, 32,238,100,181,148,172,101,  3, 29,219,105,199, 75,178, 72,175,229, 33,113,187, 19,194, 67, 71,109, 39,110, 17,146, 45,219,
-138,221, 22,161,182, 45,107,176, 45, 66,150,100, 81,226,  0, 20, 49,213,128, 26,222,171, 55,223,225,156,189,251,199,121, 85,134,
-  1, 18,  4, 41,208, 36,237,251,253, 32, 11, 85,119, 56,247,220,123,191,253,157,111,239,123, 14, 64,129,  2,  5, 10, 20, 40, 80,
-160, 64,129,  2,  5, 10, 20, 40, 80,160, 64,129,  2,  5, 10, 20, 40, 80,160, 64,129,  2,  5, 10, 20, 40, 80,160, 64,129,  2,  5,
- 10, 20, 40, 80,160, 64,129,  2,  5, 10, 20, 40,240,210,  7,191, 64,199,125,239,119,236,254,207,255,226,222, 67,111,191, 45,119,
-242,151,103,219, 69, 71, 23, 40, 80,160,192,223,  6,126,127,203,171,182,253,222,191,249,142,221,152,237,154,170,191,239,190, 59,
-111,217, 86,253,244, 95, 92,200,172, 20,221, 93,160, 64,129,  2,127, 99,160, 23,226,160, 21,200, 96,241,204,104,241,252,240,212,
- 55,135, 79, 60,249,254, 55,220,250,181, 95, 56,112,235, 13,141,162,187, 11, 20, 40, 80,224,229,173,223,159, 92, 25, 37,  0,239,
-188,163,169, 86, 93,175,107,123,189,153,109, 91,255,213,119,221,253,232,185,181,111,158, 95, 47, 58,189, 64,129,  2,  5, 94,174,
-252, 14,  0,159,155,235,255,249,252,232,192,183, 79,197,108,242,209,200,173,183, 32, 42,127,239, 59,239,158, 40,243, 31,253,229,
-130, 19, 45,186,190, 64,129,  2,  5, 94, 80,224, 11,122,244,155,102,162,223,251, 23,183,221, 90, 11,134,195, 28,152,105,199,158,
-120,215,174,175,158, 94,250,174, 15,253,254,153,139,189, 23,247,202,247,237,219,215,108, 54,  1, 96,110,110,110,110,110,238,101,
-113,183, 94,142,109, 46, 80,160,192,223, 78,126,  7,128, 74, 72,191,254,125,123,223, 51,219, 72, 70, 14, 64,112,235,206,210,141,
-123, 51,149,191,255,147,159,122,248,203, 23,158,247, 97,103,103,103,103,103,103,175,178, 65,187,221, 62,121,242,228, 85, 54,120,
-248,225,135,247,239,223, 15,  0, 71,143, 30,125,224,129,  7, 94, 22,119,235,165,217,230,125,251,246,237,223,191,191,217,108,238,
-219,183,207,255,230,228,201,147,115,115,115,199,143, 31,111,183,159,115,233,212,165,199,185, 58,158,245, 22, 23, 40,240,119, 28,
-230, 57,239,192, 24, 25,186, 50, 74,168,255, 63,254, 85,196, 64, 68, 68,  0,192, 15,254,238, 82,116, 48,126,251,174,122,150, 43,
-180,215,146,114, 53,152,218,250,233, 15,189,247,223,255,250,159,126,228, 99,143, 88,247,124,188,154,  3,  7, 14,220,127,255,253,
-207,186,217,241,227,199, 79,156, 56,113,236,216,177,226, 78,191, 16,180,126,224,192,129,  3,  7, 14, 92, 25,104,125, 16,122,240,
-193,  7,143, 29, 59,118,244,232,209,231,196,242,251,246,237,123,248,225,135,175,101,203, 19, 39, 78,220,119,223,125,197,141, 40,
- 80,224, 58,240, 59, 33, 30,122,221,182, 31,125,235,141,211,213, 80,144,  0, 17,136,128,  8, 16,209,240,230,207, 64,132,204,227,
-159,145,128,200, 41,166,  2, 54, 12,104, 99, 47,235,114, 25,225, 79,126,255,235,223,118,247,174,  3, 31,254,253,149,245,209, 11,
-116,121,  7, 54,112,240,224,193,231,161, 37, 11, 92,  5,143, 60,242,200,179,110,115,232,208,161,253,251,247, 31, 60,120,176, 16,
-218,  5, 10,188,164,249,253,  3,111,218,241,179,239,185, 57, 27,138, 10, 50, 33,  0,129, 34, 40,  2, 16, 10,130,  2, 40,  0, 33,
-  8,128, 40, 48, 32, 34, 16,128,  2, 35,  6,140,170, 94,226,251, 45, 85, 16,211, 97,246,166, 59,118, 61,246, 75,223,119,223,191,
-251,173, 47, 63,185,242,188,175,225,196,137, 19, 87,254,210, 75,200,205,159, 31,126,248,225,251,238,187,175,160,248, 23,  2, 39,
- 79,158, 60,126,252,248,201,147, 39,253,141,104, 54,155,251,247,239,247,204, 14,  0,179,179,179, 15, 61,244,208, 61,247,220,243,
- 60, 58,255,216,177, 99, 87, 73, 51, 20,119,179, 64,129,235,195,239,132,240, 67,175,219,166,131, 60, 79, 82, 16, 65,244, 70, 12,
-  2,  2, 32,  0,226,216,164, 97,162,169, 45, 64,  8, 34, 72,  0, 66,  0,  2,  8,224,153,158,  4, 68,129,  8, 28,  0,  3, 32,100,
-105,222,140,162,147,191,240,143,127,232, 23, 63,243,224,167,190, 62,142,  1,207, 17,207, 52, 72,247, 30,142,119, 15,246,237,219,
-119,232,208,161,151,139,207,254,114,193,177, 99,199,142, 29, 59,118,153, 54,111,183,219,199,143, 31, 63,126,252,248,131, 15, 62,
-120,232,208, 33, 79,241,207,175,243,189,189, 86,244,115,129,  2,207, 15,215,250,125,147, 40,252,204,103,231,145,210, 74,232, 42,
- 37, 40,199, 90,142,181, 28,203,248,135, 72, 98,202,192,229, 24,149,  1, 17, 68, 64,228, 18,178,206, 64, 18,144, 17,104,  2,144,
-130, 36,160, 25,136,128,168,170,228, 78,108,234,254,243,  7,222,254,208,143,191,187, 28,  5,215,241,218,142, 31, 63,126,169,102,
- 63,112,224, 64,113,191,175, 35,238,187,239,190,195,135, 15, 95,197,120, 57,124,248,240,166,250, 62,114,228, 72,209, 99,  5, 10,
-188,116,253,153,  7, 63,191,244,153,199,219, 55,207, 68,  8, 40, 27,220,237, 11,217, 83, 43,175,187,169,113,228, 29,183,149,131,
-146,136,  0, 51, 32,128,136,102,125,100,164, 93,119,209,204,205, 88,223,134,113, 29,108, 42,131, 21,237, 45,202,202, 19, 96, 71,
-128, 37,  5,231, 20,164,159,125,247, 27, 94,177,119, 71,227, 77, 31,124,104,144,228,215,235,242,124, 21,135, 87,145,215, 88,149,
-113, 25, 46, 43, 11,121, 30,158,192,102,169,207,181, 23, 53, 62,143, 93,174, 99,155, 55,207,126,245,125,175, 69, 89, 31, 59,118,
-204,167,193,125,147, 10, 23,190, 64,129,151, 40,191,  3,192,169,213,244,212,106,122,229,239, 95,189,171,254, 79, 94, 55, 91,229,
-200,138,  2, 33, 36,137,166,  3,112,  3,190,245, 13,230,158,247,243,222,239,184,114,200,160,173, 51,246,244,103,220,217,207, 35,
-135,160,170,  8,217, 48,219,119,211,246,223,251,169,247,237,255,145,227,249,245,155,172,230,249,213,137, 55,155,205, 67,135, 14,
- 29, 56,112,224,178,168, 48, 55, 55,231, 77,137, 43,137,239,254,251,239,247, 27, 31, 63,126,252,216,177, 99,254,  8,135, 14, 29,
-186,180,188,100,110,110,238,129,  7, 30,184, 74, 61,207,161, 67,135,142, 28, 57,114,217, 46,207,116,198,111,177,205, 87, 54,248,
-200,145, 35,135, 14, 29,242, 37,246,112, 61, 10, 84, 46, 37,244,205,195, 22, 40, 80,224,101,131,195,111,222,169,191,248,118,251,
-115,111, 31,254,236,219,  7, 15,188,169,255, 31, 94,211,255,241, 87,247,255,195,171,242, 47,253,119,125, 54,216,115,127,158,124,
-226, 80,242,201,195,201, 39,255,117,250, 59,255,107,250,219, 31,208, 63, 60,242,161,127,118,239,179,158,244,200,145, 35,155,  7,
-185,250,150,247,223,127,191,223,172,213,106, 93,250,251,135, 31,126,216,255,254, 74,235, 96,255,254,253,173, 86,235, 42,205, 62,
-125,250,244,149,163,129, 75, 15,184,111,223,190, 71, 30,121,228,153,118,127,240,193,  7,159,150,157, 31,122,232,161,103,218,229,
-145, 71, 30,105, 54,155,215,183,205,151, 53,248,202,221,175,177, 78,241, 42,216,191,127,255,230,209, 46,205,120, 95,223, 93, 10,
- 20, 40,112, 29,244,251,101, 40,135,252, 11,223,115,235, 15,188,246,134,116, 36,206,229,144,142,192,230,128,138,  1, 68,239,253,
-  8,223,249,110,191, 89,119,148,254,193, 87,206,252,193, 87,207,180,250,163,128,241,149, 59, 38,223,115,207,205,223,126,211,118,
-  0,224, 93,175,193,176,150,127,238,103, 32, 52,  0, 10,132,182,159,254,232,251,239,253,175,159,254,198,169,249,235, 48, 83, 77,
-179,217,220,180,221,175, 49, 83,119,224,192,129,135, 30,122,232, 82,  5,122,226,196,  9,175,124, 55,165,241,236,236,172, 47,200,
-121, 90,195,193, 51,181,215,224,190,176,  4, 54,170,197, 55, 69,186, 23,242,151,197,161, 75, 51,  4,155, 59,250,147,238,219,183,
-239,210, 86, 93,223, 54,251,200,225,245,245,230, 71, 67, 87,255,124,236,218,249,253,105,181,252,223,164, 63, 86,160, 64,129,231,
-140, 91,182,148,158,252,241,191,167, 63,251,214,225,253,111, 25,124,248,222,193, 79,236, 27,252,196,190,193, 79,222, 51,248,247,
-175,204, 62,243, 51,155, 18,236,139, 79, 44,124,231,255,254,177, 29,255,234,151,103,255,237, 71,111,251,145, 95,123,229, 15,255,
-218,109,255,230, 87,239,248,192,177,163,191,246,153, 65,146,141, 85,252, 99,159, 78,126,227,123,211, 79,125, 48,253,212,  7,210,
- 79,125, 80, 63,253,195,255,227,195,239,251,214,245,251,101,138,248, 50, 49,248,180, 90,120,118,118,118, 83,198,158, 62,125,250,
- 74,253,120,169, 76,190,172,  0,124,243,128, 30, 15, 61,244,208,101,142,196,236,236,236,166,168,111,181, 90,151,254,245,208,161,
- 67,151, 74,245,203,184,245, 74,109,126, 93,218,124, 89,131, 79,159, 62,125, 89, 10,250, 91,119, 84, 78,159, 62,253,180,125,117,
-141,250,253,202, 33,197,233,211,167, 55,107,162, 10, 20, 40,240,130,232,247,119,220,222,252,228, 63,187,221,136, 25,166, 57,184,
- 12,156,  5, 66, 64,  0,117, 56,189,203,188,246,251,253,102, 79, 46,181,191,255, 23,255, 96,121,100,203,149, 82,206, 28,  4, 28,
- 50,178,134,232,236, 39,254,236, 20, 19,125,232,253,111,  6,  0,190,249, 45,238,241,255, 23, 92, 31, 76,  9, 16,108,150,239,191,
-251,198,237, 83,149,197,181,193,181, 52,230,105,107, 51,246,239,223,127, 41,211, 29, 62,124,248, 90,244,251,131, 15, 62,184, 41,
- 99,159,182,100,219, 91,210, 94,237,250,154,203,167, 53,211, 79,156, 56,113,240,224,193,203,126, 57, 55, 55,119,244,232, 81,111,
-122,248, 34,241,227,199,143, 95,118,  9,115,115,115, 87,214,233,251,147, 62, 19, 69, 94,151, 54,207,205,205, 93,185,239,183, 40,
-150, 47, 77, 36, 60,191, 79,136,175, 12, 48,179,179,179, 71,142, 28, 57,114,228,200,203,104, 86,137,  2,  5, 94, 54,252, 30, 48,
-126,232,221,187,127,228,205, 55,164,  9,164,152,131,228,128, 10,  1,  1,  0, 32,104,158,153, 91,223,136,213,105,191,241,209,255,
-246,249, 39, 47,116,160, 81,237,244, 45,160, 99,132, 50,227,116,197, 52, 75,166,209,168,126,242,207,159,124,243, 29,187,247,223,
-181, 23,216,240,236, 27,237, 87, 62,138, 51,123, 64, 69, 16,195, 82,248, 15,239,189,233,191,252,238,215,174,165, 73, 87,159,168,
-224,216,177, 99,215, 88, 70,237,231, 81, 25,183,252,153,191,170, 63,121,242,228,177, 99,199, 60, 35,239,223,191,255,105,153,235,
-240,225,195, 79,187,239,137, 19, 39, 78,158, 60,185,105,152,108,186, 43,155, 63, 63,240,192,  3, 79,123, 94,127, 82, 95,  8,244,
- 66,180,249,153,206,251,188,177,111,223,190,205,251,226,207,254, 92,143,224, 39,177,217,116,117, 54,103,185,217,188,233,179,179,
-179,207,212,207,  5, 10, 20,128,231,186,190,199,206,137,240,243,255,250,142, 31,121,253,246,225,208, 57,112, 32, 57, 16,  0, 35,
- 50,162, 65,100, 66,131,180,227, 78,191,241, 83, 23,215,127,255, 43,231,160, 92,  2, 63, 93,  1,179,  3,234,165,238,169,149,225,
-220,242, 48, 87, 20,230,207,252,229, 89,191, 49, 78,223,172,163, 46,128,  5,  4, 64,  5, 43,175,189,109,219,117,185, 66,111, 64,
- 95,139,213,176, 73,148,237,118,251,234,124,180, 25, 45,158,182,166,222, 19,211, 85,104,235,178,211, 93, 58,206,184,202,121, 55,
-197,254,117,111,179, 47,176,185,142, 79,149,247,250, 55, 27,246,156, 88,184,221,110, 31, 61,122,244,166,155,110,186,231,158,123,
- 14, 30, 60,248,192,  6, 14, 30, 60, 56, 57, 57,121,105, 12,243,197, 66,197, 59, 92,160,192,117,208,239,175,159,173,125,230,159,
-223, 22,  8, 15, 51,  1, 86, 80, 65,  5, 20, 84, 70, 32,  4, 68,  0, 69, 19, 82,243, 70,191,253,153,149,238,104,152, 67, 61,242,
- 95,184,250, 25,200,128,  8, 84,215,251,121,158,217,157, 13,211,219, 40,117,199,218, 86,  0,134,116,136,165,154,130,130,181,119,
-205, 78, 19,161, 92,195, 76,241, 71,143, 30,125, 90,138,217,191,127,255,236,236,108,179,217,244,169,203,103,157,159, 96,147, 43,
-159, 53, 19,120,233,104,224,202,178,238,171,143, 21,174,164,254, 77,241,126,245, 29,175, 62, 13,195,183,210,230,235, 91,150,238,
-211, 30,155,  1,245,232,209,163,207,233,248, 39, 79,158,188,202,246, 15, 60,240,192,137, 19, 39, 54,173,170,251,239,191,255,105,
-195, 94,129,  2,  5,174,149,223,153,240,223,190,113,235, 79,191,125,103,150, 65, 18,  8, 18,168, 83,204, 37, 12,169,109, 93,  5,
-  8, 12,251,149, 66, 16,  0,212,250,189,182, 52,202, 28,  6, 78,  0, 20, 65, 21, 20,  0, 20, 20, 64, 17,152,  6,195,252,108,146,
- 68,119,109, 52, 64, 29,104, 14, 54,  1,170,163,138,138,236,104,198,  1, 83, 42,238, 89,155,119, 21, 31,214,123,181,222,119,126,
-248,225,135,239,185,231,158,171, 91, 10, 87,202,207,107,161,179, 43, 21,232,115,186,  7,215,206,209,155,222,206,245,109,243,117,
-228,119, 95,138,179,217,170,195,135, 15, 95,247,201, 59, 79,158, 60,121,244,232, 81,111,254,204,206,206, 30, 56,112,160,160,248,
-  2,  5,158, 39,191, 55, 74,252,241,127, 50,187,127,119,125,148,  9, 68,  6,  9, 52, 23,147, 75, 88,226, 31,252,228,153,217,169,
-232,232, 27,182, 39, 10,232, 37,124,158,203,234, 41,218,245, 26,  0,120,229, 13, 83,127,239,150, 45, 95,248,230, 10, 24,  3,138,
- 64, 10, 10,224,191, 91, 18,  4,196,164, 53,184,101,219,152,104,180,187,  0,105, 87,211,137,141,233,199, 20, 20,240, 91,158,157,
-222, 83,191,231,130,171,164, 67, 47, 99,189,103,157, 92,254,  5,194,179,  6,134, 43, 55,120,209,219,124, 21,114, 63,122,244,232,
- 11, 52, 51,243,230,103,177,112,157,234, 56, 11, 20,248,187,200,239,119,237, 40,255,238,247,221,180,171, 18, 14,  5,177,204,  0,
-160,153,196,162, 73,  8,239,249,232, 19,127,240,205,206,135,222,121,  3,122, 34,102,  4,  4, 48,164, 23,191, 14, 99, 39,  6,127,
-236,189,247,188,235, 27,159,130, 36,135, 40,  4, 69,  0,  0,  1, 16,  0, 21,232, 15,239,190,253,134,239,123,211, 29,126, 99, 89,
-254,166,106,142, 46,  3, 16, 80, 37,212,197,214, 32,187, 30, 95,177, 62,240,192,  3,155, 92,112,224,192,129,107, 97,156,231, 52,
- 43,192, 75,164, 34,251,165,208,230, 75,201,253,216,177, 99, 47, 92,125,139, 47,210,247,231,218,191,127,127, 81, 72, 83,160,192,
-115,227,119,  4,248,129,215, 78,253,210,123,246, 88, 11, 67, 67, 24,145,138,234,200, 85, 12, 62, 62,200,255,193,175, 60,241,228,
-114,  2,  0,167, 86, 83, 64,213,177,126,  7,136,203,238,204,231, 76,251, 12, 54,247,  0,192, 59,239,222,115,236,135,222,242,193,
- 95,249,147,225,122, 10,113,  4, 76,160, 10, 89, 14,195,209,183,191, 98,235,199,127,248,221,149, 56,  0,  0,200, 71,238, 27,159,
-192, 48,  2,116,160,162,226,128,232, 47,158, 90,145,235,180, 76,235,137, 19, 39,188,  7,114,141,223, 67,190,160,220,244,  2,225,
- 69,111,243,131, 15, 62,120, 41,185,191,208,149, 45,197,135, 78,  5, 10, 60, 43,158,177,126,230,208,235,102,126,249,187,246, 36,
- 22,242,178,193, 18,171,  0, 12, 93, 37,230,223, 60,213,121,237,207, 63,234,201, 29,  0, 30, 93, 30,  1, 33,248, 53,152,152,192,
- 24,176,253,252,115, 63,183,121,156, 31,124,219, 29, 95,252,200,119,127,240,239,191,106,239,100, 20,107, 94, 37,119,239, 45,211,
-255,199,255,242,214,207,126,248,192,222,173, 13,191,141,253,210, 47,235,250, 25,  8, 34, 69,  4, 80,176, 14,  8, 79, 62,185,252,
- 55,220, 23, 87, 86,182,188,212,206,123,229,  6, 47, 86,155,175, 36,247,205,218,205,191,  1,114, 47, 80,160,192,243,215,239,229,
-144,126,234, 45,219,179, 68,160, 26, 96,136,154, 41, 39, 54,170,240, 79,127,118,233,199,254,199,249,252,146, 21,245, 30, 93, 28,
-157,239,100,219,170,161, 83, 29,207,  5, 95, 42,203,185,207,218,207,255,188,121,253,  7,253, 54,175,222, 61,253,115, 63,240,198,
-143,124,159, 93,106, 13,194,192,236,152,172, 92,122, 46,247,141,223,182, 95,251, 53,136,203,  0,128,196,234,  4,157,228, 73,250,
-169, 63, 61,115,189, 46,242, 26, 45,218, 75,135,252,205,102,243,111, 76, 33,206,205,205,249,243, 94,125,134,203,167,253,235,139,
-213,230, 23,157,220,175, 61, 41, 93,160, 64,161,223,255, 26,166, 43,166, 25,177, 21, 80,167, 58,116, 97,230, 48,194,131,191,113,
-234,200,239,156,203,255,250,114,169,195, 76,126,225, 79,151,  3,  3,154, 56,  0, 69,  2,100,194,114,205,125,237,255,206, 79,252,
-152, 14, 87, 55,183,140,  3,179,103,107,227,175,145,123, 62,114,127,246,127,218, 63,249, 48, 70, 33, 50, 35,  2,  4, 17,228, 54,
- 32,248,189, 71,206,156, 91,238, 95, 47,114,223,228,247,171,115,193,165, 21,132, 87,126, 73,244,194, 97,243,188,254,163,214,107,
- 23,239, 47, 98,155, 95, 92,114,191,244, 74,159,223,252,160,  5, 10,252,221,229,247,165, 94,126, 38,177,229, 50,151,115, 87,102,
-232,145,188,241,191, 60,118,252,100,235,105, 55,254,229, 47,174,116,114,103,114,  7,185,128, 95,147,143, 17, 42, 53, 57,253,251,
-217, 39,190,223, 61,250,  9,237,206, 95,182,139, 14, 86,228,244,137,236,183,126,192,254,197, 47, 65, 28,  3, 27, 64,  5, 68,164,
-  0,147, 28, 88,255,183,255,250,165,235,114,121,190, 22,123,243,159, 87, 47,164, 59,126,252,248,165,235, 81, 60,191,249,226,159,
-  7,142, 31, 63,190,169,187,159,105, 29, 12, 63,121,239, 75,167,205, 87,146,187, 47, 91,124, 78,113,247,200,  6, 54, 67,215,181,
-124,134,230, 63,104,240, 63,251,181,162,138,215,184, 64,129,231,192,239,153,213, 55, 63,248,196,127,124,100,229,227,115,221, 35,
- 39,230,111,251,200, 95,254,217, 83,207,168,166,219, 67,251,131, 31, 63, 27, 68,172,125,171,185,  0, 32, 32,  2, 34,148,235, 96,
- 59,249,231,126, 42,251,196,251,179,223, 57,108, 63,247,211,246, 79,255,147,253,194,207,100,191,247,129,236,227,223,155,159, 56,
-170,253, 51, 80,105,  0, 17,248, 58, 72, 33, 77, 49,136,233, 35, 15,253,197, 55,207,127,171,147, 71,250, 53,225, 30,121,228,145,
- 77,202,123,214, 47, 60,225,146,121,  5,124,169,223, 85,212,244, 38, 61,125,235,247,160,221,110,111,166, 70,247,239,223,127,229,
-236,193,151,206,239,248, 18,105,243,149,228,254, 92,151,183,157,157,157,189,127,  3,155,247,200,127,166,112,149,175, 82,253,  6,
-155, 93,113,221,167, 85, 40, 80,224,111, 19,158,177,126,230, 92, 43,253,224,111,158,189,198,163,124,252,203,107, 63,191,183,250,
-193, 55,108, 27,117, 51,172,135, 16, 17, 16,  2, 40,  4,  1,  6,  1,168,232,218, 87,237,242, 73,  0,  5,  0, 36,  3, 38,132, 74,
-245, 18, 61, 15,144, 57,149, 82, 28,133,127,248,181, 11, 63,241,223,191,242,156,174,225, 26, 87,109, 61,124,248,240,179,114,193,
-137, 19, 39, 14, 31, 62,236, 25,214,211,229,137, 19, 39,252,164, 49,151,186, 61,251,247,239,247,148,244,156, 20,235, 85,112,236,
-216,177,205,137,124,253,202,212,155,235,154,250,181,170,155,205,230,220,220, 92,187,221,190, 82,161,191, 40,109,246,173,186,244,
- 55, 87,153,190,120,115,168,113, 45,197,169,126, 98,184,185,185,185, 19, 39, 78, 92, 54,255,204,165,115, 44,251,160, 82, 84, 70,
- 22, 40,240,124,248,253,185, 49, 44,192,143,124,242,220,150,122,240,254,187,166,146, 78,  6,181,  0, 99, 30, 87,196,  3,  0, 18,
-132, 49, 62,211,158,162,144, 58,233,102,165,237, 91, 79,158, 89,121,223, 79,253, 81,118,253, 22,111,218, 36,130,171,175, 20,122,
- 25,213,  2,192,253,247,223,239, 69,226,101,243, 80,190, 64,104,183,219,  7, 15, 30,124,248,225,135,125,170,192,107,219, 43, 55,
-120,166,153,212, 94,148, 54, 95, 38,171,159,117,155,231,180, 82,182, 31,126, 93,253, 54, 93,175,224, 90,160,192,223, 45,127,230,
-121, 32,119,250, 79, 63,122,250,167,255,104, 49, 14, 41,232,230,210,201, 33, 17,176,  0, 10,  8,120, 57,  0, 17, 16, 28, 64, 38,
-218,181,216, 78, 75,205,137,223,252,218,202, 91,126,244,211,235,131,236,122, 53,233,196,137, 19,199,142, 29, 59,120,240,224, 61,
-247,220,243,156,170, 44,142, 29, 59,118,207, 61,247, 92,125, 73,188,227,199,143, 95,223,143,239,253, 12,189,207, 52,219,240,179,
- 94,194,139,210,230,235, 14,111,226, 95,253, 74,253,178,233,215, 50, 26, 43, 80,224,239, 56,240,186, 31,241,173,183, 53,126,245,
-253,123,119, 55, 35,155,170, 53,  8, 49,163, 33,240,115,144,109,248, 41,224, 64,173, 64,226, 56,151, 32,192,174,131,127,249, 91,
-243, 31,251,252,188,168,190,212, 58,104,211,214,216,100,225,118,187,253,156,164,232,115,133,247, 82, 54,167,116,247, 54,197, 75,
-188,205, 47, 80,207,251,233,225, 46,101,255, 98,  9,167,  2,  5, 94, 76,126,  7,128,122,204,223,243,154,169,127,247,214, 29,123,
- 38, 66, 80, 84, 85, 65,148,141, 83,145,  2,169, 34,  2, 32,172,140,220,207,127,118,233, 87,191,184,178,212,201,138,155, 81,160,
- 64,129,  2, 47,117,126,247,136,  2,186,117, 75,252,221,223, 54,249,250,217,218,246,106, 48, 17, 81,200,152, 59,232,228,238,226,
-192,126,229,252,224, 55,190,188,246,232,194,168,159,186,226, 54, 20, 40, 80,160,192,203,137,223, 47,133, 97, 52,132, 76, 32, 10,
-214,233,101, 31, 73, 21, 40, 80,160, 64,129,  2,  5, 10, 20, 40, 80,160, 64,129,  2,  5, 10, 20, 40, 80,160, 64,129,  2,  5, 10,
- 20, 40, 80,160, 64,129,  2,  5, 10, 20, 40, 80,160, 64,129,  2,  5, 10, 20, 40, 80,160, 64,129,  2,  5, 10, 20, 40, 80,160, 64,
-129,  2,  5, 10, 20, 40, 80,160, 64,129,  2,  5, 94,210,192, 95,251, 79, 63,139,136, 10, 10,  0,196, 12,  0, 42, 14,156, 34, 17,
- 18, 40, 16, 51, 33,249, 73,125,129,144, 56, 96, 85, 69, 96,  4, 61, 51,247,196,142,221,183,133, 70,156, 40, 17,  2,224,120,186,
-  3, 68, 36, 12, 16, 68, 65, 65,  1,  8,  9,213,137, 10, 16, 19, 33, 18, 83, 16,176,168,130,128, 56,  0, 68, 17,  5, 64, 80,161,
-144,  9,  8, 17,  1,128,  8,  0, 64, 65, 85,149,  0,137,200, 47,229, 65,196,164,  0,140,170,126,238, 50,  4,192, 63,254,227, 63,
- 68,228, 59,110,191,157,131, 32,207,242,213,165,149, 71, 30,253,250, 91,247,223,247,138,217,157,189,110,207,230, 73, 20,242,176,
-211, 10,234,211,146,182, 79,125,227,113, 83, 42,205, 76, 54, 75,149, 74, 20,213, 76, 16,  0,177,225,  0, 16, 17, 65, 69, 20, 80,
-213, 17, 32, 16, 17, 50, 17,249,150,136,106,200, 70, 17,  1,  9,145, 16,192, 57,135,  8,132,172,170,128, 10,138, 64,  8,170,227,
- 93,209,128,138,170, 32, 32, 16,  1,168, 10,154,128,  1, 65, 69,129, 16,  1,197, 58,100, 32,242,157, 47,227,213,175, 20,  1,148,
-153,  0, 64, 68,  1, 65, 68, 12, 27, 17,241, 55, 67, 68, 16, 20, 56, 64,  0, 16, 17, 16,102,  3,128, 72,136,196,190, 91, 69,133,
-201,119, 38,178,  9,178,100,216, 91, 62,195,  1,  2, 32, 34, 35,  2, 41,  8,  0,179, 65,  4, 68, 84,113, 20, 84,103,118,223,201,
-153, 77, 71,157,184, 84, 62,127,254,169,143,254,198,111,221,126,211, 45,255,232, 61,111,183, 20,  0,200,185, 39, 30,255,210, 87,
-190, 30, 69, 49, 51,155,176, 92,153,217,158,165, 25, 56,235, 40, 88, 56,253,167,147,245,106,127, 48, 58,249,245,111,158, 91, 90,
- 94, 94,105,125,231,189,111,189,113,215,246, 44,  3,201, 71,128, 65,181,222,116,105, 47, 27, 14, 70,253,118, 62,232, 13,250, 93,
- 50,  1, 33,213,227,176, 62, 57, 83,106,110,205,179, 97,169, 62,185,117,231,238,184, 62,211,235,246,178,164,189,248,248, 35,147,
- 55,220, 82,111,110,201,211, 81,142,  1, 42,113, 96,108, 50,  4,  2,198, 64,156,123,234,236, 19, 54,205,235, 19,205, 60,233,238,
-188,249,149,103, 31,253,115,142,167,  9,176,212,104,100,163, 78, 92,155, 82,  7,105,178, 94,170, 76,219, 60, 27, 13, 86, 84, 41,
-207,242, 56, 10, 43,213,134, 42, 36,233,168,191,190, 58,189,101,199,212,150, 27, 91,139, 79,214,167,182,128, 41,247, 59,237, 97,
-119, 49,  8,171, 38,174, 72,214,103,138, 52, 44, 25,162,128,176, 92,171,138, 98, 80, 42,167,105,154,245,123,105,127,173, 62,181,
- 83,144,122,107, 23, 37, 89,189,241,206,123,151,151,230,215,151, 23,226,250, 36, 37,235,253,238,122, 20,150,219, 43,103, 51,  8,
- 92,150,199,  1, 89,103, 47,182,214, 74, 97, 92, 42, 87, 75,113, 84, 42, 87, 37, 29,118,251,157,229,213,229, 90,125,154, 77, 88,
-171, 55, 75, 81,  9,  8, 91,171, 23, 70,195, 81,169, 82, 37, 10,211, 81,223, 58,155,166,105,173, 20,246,  7, 73,154,167,132, 80,
-137,203,173, 78,123,190,213,189,101,231, 13,185,211, 48, 14, 80,236,160,183, 94,105,108,137,163,184, 18,  5, 97, 64,231, 46,156,
-153,158,217,179,103,239,206,187,239,186,145, 56, 84,231,128,  0, 65, 85, 68,129, 17, 25, 85,129, 72, 84, 81,  1,  8, 21, 16,  0,
-196,  9,160,127,213, 16, 20, 84,133,152, 68,198,239, 34, 48,177, 56,107,237,210,202, 74,183, 55,152,221,189,171, 86,141, 71,105,
-134,200, 34,  0,168,254,229, 21, 43,  0, 66,102, 99,133,  9, 79, 49,  8,168, 42,128, 42,142,  0, 20,157,  8,182, 59,163, 97,202,
-149,198, 68,100,176,219, 94, 95, 90, 90, 88, 88, 90, 88,106,181, 91,157,206,210,234, 90,175, 63,108, 54,106,111,187,119,223, 91,
- 95,115, 39,  3, 38, 22, 98, 34,206,243,245,229,149,211,243, 11, 75,235,189, 97,150, 85,226,232,214, 87,220,186,180,116, 49,  8,
- 77,125, 98,226,179,127,246,149,225,250,122, 16,176,128,160,106, 41, 42, 49, 83, 64,236,223, 14, 98, 66,164,241,178, 64,136,153,
-205, 73, 33, 10, 66,244,196,194,100,136, 50, 85, 98, 69,  7,169,181,224, 68, 17, 17,193,138,250, 21,138,156,170,  1,  0, 32,  1,
-  5, 39,192,  8,170,  0, 72,136, 78,197, 40, 90,223,153, 42,130,224, 15, 11, 10,162,162,138,136,170, 10,170,160, 42,160,106, 85,
-213,119,183, 40, 17,170,170, 83,145, 60, 87, 28,243, 36, 17, 89, 85, 84, 84,155,131,225,128, 13, 33,137,191, 87, 10,162,  0,  0,
-170,234, 84, 13, 32, 16, 32,  5,170,150,144, 80, 53,181,150,223,247,206,251,  0,  0,136,136,  8,128, 84,101,124, 39,252,196,237,
-128, 72,196,200, 68, 68,136,136, 36,162,136,  4, 32, 65, 20,187, 44, 31,229,174, 18,135,136,  8,160, 72,228,159,  8, 66,  4,103,
-253,109,222,156,241, 23, 61,243,248, 69, 86,  9,124,204, 80,  5, 80,117,170,132, 12,160,  0,168, 34,200,138,254, 81,  0, 20, 21,
-  2, 64,  0,  1, 85, 81, 64, 36,100, 98, 32, 30, 31, 93, 65, 84,149,144,171,149,232,137, 39, 79, 69, 81, 28, 71,113,169, 92, 99,
- 86,205,221, 99, 79,204,221, 52,123, 83, 41, 10,179, 44, 87,117,198,  4,189,246,218,214,157,123,187,157,214, 43, 95,253,218,116,
-212,182, 86,226,184,132, 48,110, 63, 19,161,162,162,  2, 34,  1,  9, 40, 51, 35,145,168, 16,177,170,  0,168,147, 28,  0, 16, 61,
-227,  3,109,206,105,239,251, 12, 55, 46,118,131, 88,193,  7, 13, 66, 85,  5, 68, 31, 47,  1, 17,145, 64, 55, 58,200, 47,133, 66,
-128, 68, 32,160,128,160, 74,100, 68, 28,136,  2,145, 63,220,198, 74, 85,168, 10,  2, 72, 68,104,124, 44, 65, 68, 26,119, 25, 34,
-168,128,  2, 33,108, 68, 68,255,156, 64, 50, 26,217,108,157,145, 13,177, 95, 97, 11,  8,  8,  9,137,  1, 84, 85, 65,121,122,247,
-157, 81, 24, 38,221,245, 40, 10,207,156, 57,245,235, 31,251,237, 93, 91,183,191,247, 31,190, 27,152, 84,164,181,188,252,231,143,
- 60, 66, 28, 16,170,137,171,113,117,194,162, 81,155, 16,  7,253, 94,203, 37,173, 90,173,210,234,116,206,206, 47,173,247,  6, 86,
-244,238, 87,221, 19,154,192, 57,196,160,100,216,128,138, 36,253,124,212,149,100, 96,243, 52,205, 70,164, 84,138,194,184, 84,226,
- 40,140,202, 77, 19, 87,131,184,188,101,251, 30,  1,114,249,  8,197,153,210, 68,154, 75,169, 54, 81,153,152,177,121, 38,  2,214,
- 14, 93, 58,234,247,122, 28,132,163,193, 96,148,164, 54,235,149,171,141, 81,123, 65, 52, 76, 83,225, 48, 76,211,174,179,185, 29,
-117,131,168,130, 38, 72,134,189,106,185, 62,234,175, 85, 39,111,  8,131,168,209,168,247,147, 97, 58,236,130,104,169, 20,113, 80,
- 17,117,149,106,189,213, 90,234,182,214, 56,136, 20,205,168,187,170,192,  2,129, 77,147,184, 62,157, 14, 90,206, 57,201, 19, 73,
-  7, 65, 92,149, 60,  5,103,173,205, 41, 44,  5, 97, 20,150, 75,  0,184,182, 54, 63, 49,181, 51, 46, 87,134,189,181, 82,101,130,
-216,164,131,158,  2,169, 16, 51,165, 89,110, 76, 16,132, 37,  1,100, 14, 74,149,186, 81, 71, 28,168,138, 49, 81, 80,106, 32,134,
-  6,181,223,111, 35,234,176,191,110,130,160, 55, 24, 84,170, 13,155,166,195, 97, 15,213, 41,106,218,107,213,170, 85,231, 92, 57,
-142, 50,  7, 97, 16,154,192,156,185,120,177, 81, 46,151,194,176, 63, 24,176,  9, 41,  8,243, 44, 47,151, 74,185,179,204,145,178,
-185,184,220, 22,167,211,205, 32, 42,197,226, 28,  0,224,198, 19, 53,214, 25,254,209, 85, 20,  0,  5, 69, 66,245,143, 19, 17,160,
-248,  7,218,115, 99, 16, 24,201,178,133,149,181,165,149,149,114,165,182,103,215,142, 48, 52,137,181,168,136,104,112, 44, 19, 16,
-  0,148,188,222, 67,242,175,  4, 33,232,248, 13, 65, 85, 54,104,157,116,250, 89,187,151,115,216,152,156,108,228, 73,178,180, 56,
-127,230,236,217,243, 11,243,243, 43,203, 11,171,171, 23, 22,151,197,201,235,191,253, 85,239,127,231,155, 94,115,199, 77,121,238,
- 64, 48, 86, 29,173,183,230,230,206, 62,121, 97,241, 66,187,147,165,233, 77,123,118,236,220,179,253,212,249,165,246,218,170,137,
-227, 47,127,237, 27,118, 56,156,168,149,  9,137, 80, 17, 41, 10,130,128, 13, 51,177, 33, 38, 50, 72, 10,162, 10, 68,  8,  8,108,
-152,144,152,199,175,108, 16,  4,128, 10,170,206, 58, 81,101, 64, 68,100, 36, 11,234,223,108, 43, 46,100,  6,  5, 64, 34, 34, 32,
- 96, 68,  5,  4, 66, 66, 84, 65,167,162,158,  8,136, 16, 81,  0, 16, 20, 17,212, 33, 49, 58,209,192,235, 60, 31, 44,  1,157,138,
-136,128,122,137, 12, 10,170,136, 42, 96,216, 43, 72, 97, 50, 72,  8, 28, 48, 97,192,  6,137,  8, 16,145,156,232, 38,185,123, 70,
- 17,  4, 20,  5,  0, 70,200, 69,197, 57,126,223,187,254, 39,212,113,200,  5, 80, 68, 64,175, 64, 17,152,145,136,144,144,153, 24,
-128,189,192, 84,117, 42,128,164,162,113, 20,174,175,175, 55,106, 53,245,234, 85, 21, 68,  0,199,203,240,161,103,116,  4, 68,127,
- 91,217,207,102, 70, 64,204,  4,136,160,160,128,170,128, 62,100,160,162,  1, 66, 98, 34,  5, 29,255,217,247, 15,  2, 35,161,215,
-209,232,167, 23, 70, 85,113,155, 15,140, 72,173,222, 28, 14,215,207,158,159,159,153,158, 12,194, 40, 12,227,128,105,121,117,105,
-165,221,190,101,118,150, 77,152,102,137, 97, 21,235,150, 47,206,183,214, 86,227, 82,165, 86,175,181,150,150,194, 40, 10,163, 24,
- 20,208,160,205,114, 32, 70, 68, 80, 96, 66, 36, 82, 21, 81, 69,  0,242,193, 14, 17,  0, 85,213, 57, 71, 72,134,140,234, 95, 91,
-193,196,175, 92,130,138,  0, 56, 30,189,160,128,167, 99, 54, 60,238, 17, 66,  0, 98,  3,226, 16,  4,  1, 16,198,225,205,223,  5,
-242,157, 35, 78,156, 83, 66,102,  6,244,239, 36,136,117,234, 28,248, 67, 40,128,128, 63,170,170,250, 72,  2,170,136, 24,  4,129,
-138, 40,  0, 17, 34,168,130, 34, 81, 50,236, 99, 62, 98,230,113,115,137, 16,  9,136,252, 46,106,221,150,155,239,174, 77,111, 77,
-187,157,184, 84,106, 47, 47,252,234,127,251,127,166, 39,183,124,255, 63,254,158,168, 90,177,105,154,141,250, 95,251,234, 87,251,
- 35, 65, 73,140,137,195,198, 54,113, 78,236,208,  4, 33, 71,141,108,212, 69, 55, 48, 97,184,178,210, 89,110,181, 58,189,  1, 51,
-237,221,121,  3, 33,170, 83,151,245, 13, 89,100,182,195,110, 54,234, 57,235, 68,  1,208, 88,200,  9,164, 82,169, 84, 38,102, 40,
-142, 37, 79,103,118,236,169,212, 39, 70,163, 65,150, 12,109,110, 43,149, 74,158,229, 46,205,179, 65, 91,213,165,105, 58, 28, 12,
-109,150,138,112,181,214, 92, 95, 95, 25,101,121, 41, 10, 89, 53,174,214, 21,201, 58,167,249, 96,106,235,174,184,212, 40,215,182,
- 84, 27,117,176,214,  2, 77, 52,106,224,146,110,167, 29,134, 37,151,117,178, 36,113,162,245,230, 13,154,117,234,141,153,250,228,
-214,114,101,178,215,237,244, 58,173, 82,181,234,210, 30,135, 37,230, 48, 46,149, 64, 44,184,212, 10,113, 16, 77,109,221,102,109,
-194, 38,  6,213,220,102,121, 50,140,203,141,124,212,203,179,145,130, 10, 26,114, 25,169,205, 83, 91,111, 78,170,115,134, 96,216,
-239, 68,113,196,128, 10,129,  2,132,  6,195, 48,136,162, 50, 32,244, 59,171, 89, 50, 98,142,242,108,148,140,146, 36, 79, 66, 38,
- 80, 65, 19,137,203, 42,213,102,183,211, 14,131,208,230,163,208, 68,195,225, 42, 19, 87,234, 91,157, 56,  0,104, 78,204, 12, 58,
-171,195, 36,153,158,168, 59,224,167,150,230, 43, 97, 80,138, 75, 66,134,208,168,230, 44,163,114, 84,142, 75, 85,112,110,152,246,
-215, 91,221,126, 47,159,222, 58, 83, 45, 71,206,137, 87,216,160,168, 99,110, 34,  0,135,196,176,241,246,146, 87, 88,170,170,138,
-  4, 32, 66,204,113, 20,175,119,218,143,157,122,178, 92,174,222,120,195,182,122,173,230,156, 19, 81, 38,220,144, 32, 94, 23,145,
- 31,176,250, 87,193,203, 23, 79, 29,  8,192,170,204,212, 29,142,150, 91, 35, 52,213,102,115, 75, 28,  6,107,203, 75,231,206, 62,
-117,238,194,133,249,149,165,133,149,181,243, 23,151, 47,182,218,187,183,111,255,193,  3,239,124,243,190, 87,150, 74,129,115, 88,
-162,208,246,251,231,207,158, 63,125,126,241,252,234,234,210,122,103,215, 84,179,210,168,174,180,187,103,231, 23, 83,  7, 23,230,
- 23, 58,173,142,  1,136,195,208,  4, 33, 32,196, 65, 96, 56,100, 38, 66, 12, 67, 19, 48, 41,128, 19, 21, 81, 66, 54, 68,162,202,
- 64,228, 25, 80, 20,145, 25, 48,119, 78, 65, 81,  1,  9, 68, 84, 65, 17,209,137, 42, 40, 35,  6, 76,138, 72,136, 28, 50, 18,140,
-  5, 58,128,  1,204,124,199,142,165, 60, 24, 67,168, 32, 72,128,104, 16, 77,200,170,200, 32,  2,154,139,  3, 81,  1,112, 42, 34,
-206, 83,171, 31,241, 19, 49, 17, 25, 98, 50, 20,112, 96, 69,141, 97, 67,100,152, 13,179, 42, 16, 42, 18,139,  8,129,  0, 49, 18,
- 18,146, 10,228,206, 50,141,  3,182,170, 24, 54,204,204,239,123,199,219, 97, 60, 18,131,177,226,  6, 37, 19,  4,198,248,136,198,
-134,193,  9,120, 37, 10,  4,  4,226,172,181, 14, 85,136,185,223,235,155,184,204,  8,  0,130,224,159, 27, 68,246,244,  1,140, 36,
-170,  0,200,228,131,186, 23,178,140,  4, 27, 93,131, 72, 34,  0, 42, 74, 62, 96, 17, 16, 26, 68,149,141,  1,161, 23, 15,  0,180,
- 33,  7, 20, 17,101, 99,180,227,  7,  1, 68,192,200, 91,183,109,123,242,137,199,243,204,150, 75,113, 92, 46,  9, 96,100,130, 71,
- 31,123, 98,203,246,173, 19,213,146,181,226,108, 90, 42,149, 69,225,214, 59,247, 45,159, 63, 85,159,190, 65, 37,  3, 64, 14,  2,
- 31,184,136,141,120, 59,  9, 17, 80, 65,188, 26,182, 72,  6, 25,199, 44,140, 74, 68, 76, 44, 27, 61,182,209,111,227, 39,218,143,
-154,254,234, 15,  0, 72,196, 76,168, 64,204,108, 80,196,249,105,241,253,184,  4,199, 99, 69,221, 60,154,202,120, 81, 89,102, 67,
-190,211, 12, 35,  0, 56,177,214,137,115, 27,177,  6,137,201, 71, 56,220,240,143,144,136,  0,114,103,137,152,  3,163, 10,158,208,
-137, 77,210,235,160,228,136,  6,213,  1, 18,140,  3,230,248,133,172,205,236,153,190, 97,214,165, 35, 86, 73,250,173,143,254, 95,
-191,210, 25,  6,141, 90,101,239,238, 27,  3, 68,100, 60,117,250,236,252,194, 60,177, 33,142,130,202,132, 41, 85, 76, 84, 42,215,
- 38,156,160,230,233,104,208, 10, 88, 16, 97,109,173,213,234,244, 46,174,181,234,181,230,237,183,239, 19,117, 78, 53, 42,149, 53,
- 25,216,100,228,172,213, 52,205,179, 20,  0,  6,163, 62,169, 76,214,155, 81, 41, 14,227, 42, 25, 14, 74,181,169,237,187,243,100,
-221, 41,  6, 97, 20, 70, 85,116,169, 40,167,121, 46, 46, 43,149,106,113,173, 97,147,172,183,190,140,  0,234,178,213,165,179, 38,
- 44, 87,234,211, 78, 68, 57,204,211,132, 77, 24,215,167,243, 65, 59,205,210, 81, 58, 92, 57,243,141,245,181,243,113, 84,179, 18,
-228, 14,  1,145,195, 88, 53, 74,  6, 23,227,114,173, 54, 57,213,235,180,173,115,181,137,105,219, 91,238,244, 90, 86,141,164,131,
-204,230,165, 90, 51, 25,116,203,113,212,152,220, 34,206,230,142,103,182,110,109,135,221,156,195,  0,  0, 32,  0, 73, 68, 65, 84,
- 76, 52,146, 68,114,155, 57,155,102,105,194, 65, 69, 80,  7,221, 69,226,216, 57, 27, 85, 38,243,100,148, 14,215, 43,181,201, 60,
-207, 59,171, 23,114,135, 96, 71,  1, 75,107,109,  9,213,142,146,129,136, 84,106,205,100,208,  3,149, 70,163,153, 99, 48, 28,116,
- 13,155, 52, 29,245,250, 45, 22,113,105,127,199,182, 93,136,148,228,163, 60,207, 51,155, 84,171,205,193,104,128, 92, 98, 14, 76,
- 16, 34, 82,146,101,129,230,235,157,149, 52,179, 97,104, 34, 70,235,116,173,215,223,218,108, 24,102,  0,137,226, 74,110,109,154,
- 14,146,204, 13, 71,125, 43, 46,205,157,117, 48, 24,216,230,100, 57, 14,  3,231, 28,130,215, 25,  8,  2, 72,128,202, 48,142,248,
-168,254,213, 27, 51, 52, 42, 40, 41,128,218, 51,103, 46,156,191,184,242,138, 91,111,218, 50, 53,229, 60,245,143,227,129, 31,  2,
-226, 37,250,157,  0,189,139, 73,  0,160,214,191,170, 64,164, 78,117,173, 51,234, 12, 97,106,122, 71,173, 90, 73,211,222,133,243,
-103,231,230, 78,157, 89, 88, 88,105,183, 47, 44, 46,207,175,172,146,194,254,239,216,247,207,191,235,109,219,166,235,163,204,  6,
- 28,  5, 78,151, 23,206, 61,113,234,236,133,139, 43, 43,189,126,104,176, 92,105,128,100,213,137,122,185, 57,245,232,163, 79, 12,
- 59,221,106, 96,162, 32, 48, 76,204,108,115,  9,  2,102,102, 68, 98,102, 34,227, 45, 40,113, 42,224,226,208, 56, 21, 43, 98,152,
- 17,192, 57, 29,123, 54,  0, 86,196,233,248,229,205,157, 24, 68, 67,228, 64, 12,177, 97, 34,196, 52,119,158,169, 68,196, 58, 33,
- 68,  4,117,170, 78, 53, 52,108, 69, 64, 33, 12,195, 49,161, 50, 25,  0, 81,151, 89, 69, 68, 66,112,  0, 78, 21, 68,157,130,147,
- 92,192, 33,176, 85, 33,  0,246,236,  8, 24, 48,  5, 97, 96,136,  1,212, 95,144,215,216, 12,168, 48,214,142, 62,112, 50, 27,111,
- 18,  8, 64, 96,140,122,233, 41, 26,135,134,131,192,  9,240,123,223,113,223,216, 92, 22, 65,130,141,155,164,134, 25,112, 44, 94,
-  9,128,252,240, 74, 21,  8, 65,145,  9,189,178, 71, 80,107, 53,142,  3, 80,245,227, 33, 64,224,192,120,  5,138,222, 46, 71,218,
- 20,244,222,121,242, 79, 18, 40, 48, 50,160, 23,181, 72,136,228,159, 54,111, 22,168,122, 67,130,152, 65,197,135,181, 13, 79, 70,
-253, 14,222,230, 70,  5, 64,116,206,197,229,122,189, 94,254,198, 55,191, 81, 10,130,114,165, 86,169, 85,153,120,212,239, 45,174,
-180,111,153,221,131, 72, 54,203,131, 48,136,194,112,216,105, 47, 46,204, 39,163, 81,158, 39,  8, 96,  8,152, 13,155,144, 77, 64,
-128, 68,232, 31,111,221,112,150,  0,209,199, 48,167, 22,145, 84, 81, 68, 54, 28,152,191,162,112,220, 92,236, 27, 55,199,165,127,
-165,169,  9, 73, 65, 92, 46,168,136,164, 10, 34, 86,253,181,251,211,121, 59, 30, 54,188, 79,239,174, 40, 32, 19,  3,  8, 56, 21,
-  1,113, 34, 54, 23,113,196,134,216,248,213,176,136, 88, 21, 20,156,151,235,158,184,253,176,102,220, 70,  1, 21,151, 12,123,  6,
-199,207, 49, 18, 27, 10, 17,141, 42,168,216,184, 62,179,253, 21,119,129,  2,137, 14,150,231, 63,246,177,227,167, 23,123,181, 74,
-240,198,183,190,109,235,238,189,221, 78,239,236,169,199,158, 58,115,142, 20, 24,208,148,106, 65, 24,  7, 81, 37, 46,199, 42,249,
-176,125,209,196,213, 78,235, 66,185, 18,165,163,100,105,101,109, 97,117,173,211,237,238,216,190,103,251,182,157,233,160, 31,134,
-229, 16,193, 89,135,234,210, 65, 43, 75,211,209,176,215, 77,134, 12, 84, 45,149,227, 74,149, 76,152, 91, 75,200,113,185, 86,169,
-213,243,204,137,179, 42,214,138,154, 32, 30,246,186,136, 80,105,212,  7, 73, 26,129, 29,117, 86,170,245, 45,128, 98, 51,187,184,
-116, 33,233,174,148,171,117,  0, 81, 69, 33,204,135,189,168, 58,193, 65, 28,  6,209,176,215,141,234, 83,229,198,142,116,216,234,
-183, 46, 84,106,147,229, 40,242,189,137,170,245,230,118,231, 50, 52,113,169,210,212,100, 61,201,109, 46,106, 45, 12,134,157, 45,
-219,111,118,105,191,187,190,108, 93,206,224, 64,105,148,102, 81,104,106,245, 90,150,231,221,245,238,250,197,179,206, 41, 71, 97,
- 88,170,  5, 38, 18, 65, 64,206,135, 93, 50,  6, 36, 67,132,184, 54,137, 20,172,175,183,152,184, 20,135,195, 52, 31,244, 59, 78,
-185, 90,107,168,104,167,223, 67,100, 54, 36, 54,  3, 98,102, 42,197,241, 96,208,171, 53,102,144,204,182,173,219, 20, 33, 79,179,
-204,201,112, 56, 66,144, 70,189, 97, 76, 56, 74,  6, 32, 46,  8,130,254,112, 96, 76, 96,202,141, 82,185, 26,134, 49,161, 76, 78,
- 52,  3,198, 51, 75, 75,219, 38,167, 26,149,154,147, 60,179,208,172, 79,148,194,184,189,222,177,249,  8, 68, 85,165,215,237,166,
-  9, 77,111,105,  6,129, 81,245, 47, 28,123,181,228,173, 61,245,146, 30,  1,145, 84, 69, 69, 67,195,  8,186,214, 90, 95, 88, 92,
-142, 74,165,219,110,190, 41,142,163, 36, 77,199, 82,125, 60,220,100, 29, 15, 92,121, 28, 22, 54,172, 73,239, 37,  2, 41, 19,170,
-213,222, 48, 91,235,102, 24, 84,167,183,108, 53, 42, 75,243,103,159,124,226,241,185,179,103,207, 95, 92,153,191,184,124,225,226,
-106,111, 56,250,182, 59,110,249,167,255,224, 45,111,125,205,237,136,144, 91,140, 49,200, 58,235,231,159, 58,123,234,220,252, 66,
-187, 51,204,242,157, 91, 38,103,103,247, 92, 28, 12,203,  1,141, 20, 31,127,236,113,116,110,178, 86, 54,204, 94,246, 24,166, 48,
- 32,102, 70,111, 60, 51,251, 87,204,191, 28,132, 36,130, 68, 68,  8,  4,128,136,134,  9, 16,157, 83,  1, 53,204, 68, 64, 48, 30,
- 80, 59,167,214,251,242,  4,162,154,229, 22, 17, 66, 99,156,138,127, 87,189,233,234, 37,178,248, 33, 56, 98,238,156, 33, 34, 38,
-231,156,  3,  5,192,192, 24, 39, 98,197,121, 18,244,  1,144,201,243, 40,  8,248,180, 29,  1,104,192, 28,  4,  6, 20, 55, 50,149,
- 28,  4, 20, 50, 17,170, 19,  0, 16,  5,197, 77,165,143,232,  0,  8,125, 56,  5,167,160,162,129, 33, 85, 33,  5, 36,230,127,244,
-174,119,168,247,103,136,200,  4,155, 41,149,141,241, 62,123, 99,192,223, 46,  5,240,222,207,  6,173, 49,  7,220,239,173, 87,170,
- 13, 80,245,140, 14, 10, 99,226,247,214, 47,249, 61, 85,252,144,109, 60,244,  3, 21,128,177,  5, 70,136,  4, 42,136, 27, 25, 24,
- 68,244, 97, 47, 87,111, 85,123,189, 12, 62, 59,233,221, 28, 81, 64,244,118,183,110, 12,  3,157,181,147,147,211,237,214,234,242,
-234, 90,173, 82, 46, 87,170,204, 20, 24,243,216,227,143, 85, 27,147, 55,238,216,154, 57,  7,  2, 81, 92,177, 89, 62,179,107, 54,
-224, 44,119,102,106,122, 50,207,109, 16,132,132, 62, 70, 10,241,216,178, 66,  4, 34, 70,246,193, 10, 64,201, 41, 24, 68, 25,143,
-120,132, 48, 32, 98, 80,241,254,137,239, 52,192,205,120,201, 62,206,249,102,142,169,159,128,188, 85,165, 58,142, 89, 10,200,132,
-  0,226, 28,168,  2,  1,121,107,104,156, 45, 69,  0, 32, 38,102, 68,  0, 17,113,226,136, 24, 84,153, 13, 25,218, 48,  6,145,144,
-125,148,245,105, 15, 68, 32, 68,239,243, 33, 34, 18,247,219,171,225,198,168,140, 40, 64, 38,  4,117,154,113, 84,219,118,203,171,
-131, 48,178,105,230,214,150, 63,241,241,143,159, 94,234,139,164,111,126,227, 27, 95,255,166, 55,148,235,213,198,244,214,139, 75,
-173,115,231,207, 90,129,106,115,154,163, 82, 84,169, 85,170,117,  4,155,142, 44,133,161,181,210,107,159,175,196,241,112,152, 44,
-174,172, 46,174,182, 70,163,116,215,142, 27, 38,235, 21, 70, 52,140,234,114,176, 35,181, 46, 29, 14, 20,100,100,109, 16,196, 17,
-101,108, 98, 54, 97, 20,132,104,  2, 11,184,235,230, 59, 65,243,206,234, 98, 80,174, 26,194,225,160, 99,  5,109, 54, 90, 91,248,
-134, 40, 75,150,166,195, 97,111,125,129, 76, 56, 88,111,165,121, 54, 74,134, 72,152, 13,215,171, 91,118,187, 44, 69, 17, 99,  2,
-210, 44,239, 47,133, 81,153,  3,195,204,  0, 24, 87,234, 89,210, 35, 50,189,238, 50, 82,  4,  8,121,210, 17, 53,  4, 82, 41,149,
-243,108,148, 12,211, 44,207, 93, 62, 10,163,210,196,196,180,  9,226,209,168,175, 88, 14,194,106, 50,236,165,217, 40,138, 99,230,
-192,144,102,253,245, 81,103, 69, 57,230, 48,172, 53,102, 80,173,203, 50, 69,142, 74,213,128,169, 90,155,112,214,149, 43,205,133,
-167,254, 98,148, 90,235,136, 56,  8, 48, 15,163,138,136, 41,197,209, 68,173, 82, 41,151,147, 65,183, 62, 49, 57, 92, 95, 67, 98,
- 39,106,179, 52,183,153,  9,202,229, 82, 57,177,121, 72, 48, 53, 61,221,106,173, 24,142, 65, 93,146,165, 54,203, 84,115, 68, 10,
-194, 88, 92, 30,  6, 65,150,165,113, 24,  6,198, 48,106, 24,132, 83,141,250,182,169,201,213,110,114,126,249,226,100,204, 32,106,
- 85,135,131, 30,100,189,173, 83,211,232,243,120, 28,177,  9, 49,136,114, 87,174, 86, 98, 99,198,111,178,110, 26, 40,227,247,147,
-198, 73, 40,226, 40, 14,  7,253,193,169,185,115, 74,188,107,215,141,147,205,  9, 17,235,114,  7,160, 27,254,224,216,132,245, 98,
- 98,156,101, 28,219,194,226, 77, 25,131, 38,  8, 76,146,229, 23,219,195, 84,131,122,115,178, 26,151,  6,157,181,167,158, 58,245,
-196,169,185,133,165,139,139,173,181,133,229,181,139,107,237,102,163,254, 63,191,243,245,239,121,203,190, 70,181,146, 58, 12, 32,
-160,204, 46,205, 95, 56,117,230,236,185,229,181,214,160, 95,171, 84, 69, 92,185, 86, 90,233,245,207, 47,172,174, 44,175,182, 86,
-214,  2,128, 74, 28, 25, 34, 64, 96, 98,226,141, 60, 31, 18, 19,179, 23,107,234,243,  3, 62,235,228, 95,152,141,215,  6,  1,  0,
-172,170, 55,153,144,  8,144, 17,  8, 64,145, 24, 81,153,144,137,  5,  4, 20,162, 40,  0,192, 92, 28, 51, 33,146,119,108,  4,192,
-187,231,138,184,145, 35,220, 40,  6,217,176, 41,116, 60,224,166,141, 88,224,101,234, 56,123,103,144,198,255, 37,242, 14,  7,143,
-115,116,158, 31, 52,117,146,139, 50,161, 32, 26, 66,227,229, 49, 34,  0,133, 99,234,  0, 98, 10,  9,137,216,137,  6, 65,200,196,
-162,150,223,251,142,183,143,125, 50,  4,220, 48,206, 65,198,170,148, 55, 92,229,177, 57,226, 51,162,155,166,  4, 42, 34, 15,  7,
- 61, 54,113,104,  0,  1, 68, 20, 69,124,171,  5,  4, 54, 92, 94,208, 49, 83,163,  2, 33, 91,117,228, 19,249,164,170,  2,  4, 98,
-197, 87,134, 16, 17,141,203, 80, 16, 60,243,171,194,152, 98, 69,193,249,203, 86,  4,  2, 26, 27,220,227,102,131, 19, 33,196,137,
-137,198, 19,167, 79,161, 72,169, 82, 46,151,171, 76,152, 13, 71, 95,125,236,177, 87,222,118,107, 28, 71,105, 50, 10,194, 32, 10,
-  3,103,211,106,163,  1,214,166,201,160,223, 27,148, 75, 21,175, 54,140, 49,162,  0,170, 76,140, 72,161,  9, 68,156, 56,241, 73,
- 41, 20, 21, 34,  0,144,113, 66, 66,  1,193,223, 16,177, 66, 76,190,215, 21,198,105, 21, 34,162,192,120,175,105, 51,245,170,  0,
-136,204, 76, 50, 30,201, 16,128,138,138,175,101,241,105, 47,241, 67, 92, 39, 62,241,139,  8,227, 82, 33, 34, 95,238, 98,130,192,
-191, 98,226,159, 34, 34,255,110,138,147,205, 78,247,133, 73, 68,172,  0, 78, 32, 31,245,194,136,  1,124,130,  6,144,200,103,211,
-182,222,116,119,185, 57,  9, 78,121,208, 61,241,251,191,249,165,111,158, 31,141,122,187,183,207,188,251, 29,239, 82, 21,113,182,
-189,178,182,190,222,109,181, 90,253,  4, 71,195, 94,169, 82,155,152,154, 98,195,171,243,231,195, 74, 13,208,228,217, 48, 29,172,
-150,163,184,221,107, 47,175,182,151,219,107,105, 46,175,188,245,206,201,122, 29,216, 16,128, 56,103,140,201,134, 61, 39,214, 58,
- 59, 24,142,226, 32, 36, 67,128, 32, 78,234, 19,147,200, 84,159,218,182,231,182,187, 71,217, 72,213,152, 40, 90,159, 63,213,239,
-172,148,203, 19,  6, 50, 75,241,212,204,158,193,250,121,144, 60,119,138, 20, 50,201, 83, 79, 61, 90, 46, 55, 57,136, 59,107,139,
-245,122,  3,145,109,154, 40,134, 89,158,244, 86,207, 83,121, 26,212,181, 46,206,169,106, 24,149,227,250, 84,185, 82,203, 83,171,
-224, 68,209, 57, 33,198, 52, 25,170, 27,218,204, 82, 80,234,117, 91,204,198, 89, 48, 65, 60,236, 46, 83, 80,206, 70,189,238,250,
- 50, 32,131,  9,202,229,114, 58,236,215, 38,166,152,163, 81,210, 47,215,183,132, 97, 57, 10, 40, 27,118, 22,231,159,234,247, 59,
-131,126,127,189,211,238, 15,186,173,245,214, 90,123,117,109,117,117,117,125,173,223,107,239,217,123, 83,167,219, 94,239,180, 29,
- 25,118,233,206, 93, 55,132, 38, 72,178, 52, 10, 34,  5,169,213,103,234,181,106,183, 61,223,104,238,184,253,214, 91,115,197, 86,
-167, 19,134,229,192, 48,146,233,172,175,245,187,107,166,220,  8, 56, 32,208,220, 89, 85,137,152, 12,  7,131,126,143, 66,  3,128,
- 73,150,161,205,183, 76, 78,139,234, 68,173,218,234, 14, 46,172,172,  6,154, 76,212, 27,  1,135,163,209, 48,142, 99, 67, 88,174,
-212,146,209, 16,  9, 37, 79,147,100,100,169, 50, 81, 11, 66, 67, 99,  5,129,227, 97,191, 31,119,170,  2,  6,204, 68, 43,203, 11,
-115,103, 23,118,239,218,185,109,219, 12, 33,230,121,166,168,227,119,115,108, 70, 42,160, 79,164,162, 42,160, 23, 12, 62,121,230,
-147,109,  4,136,176,188,218, 89,237,228,229,218,228, 68,125, 66,108,186,178,120,225,201,211,115,167,206,156, 91, 88, 89,185,184,
-214, 90, 92, 94, 27, 37,217,189,223,126,199,191,252,158,119,220,186,119,123,150, 41, 83, 92,162, 96,125,249,226,169, 83,167,207,
-158, 95, 90,234,116,  6, 73, 26, 71,225,174, 29, 51, 22, 41, 85, 60,245,212, 57,155,164, 33, 97, 41, 52,177,  9,140, 33,255,170,
-177, 33, 34,244,165,  7, 94,149,203,248,165,241, 47, 29, 25,  4,241, 41, 99, 21, 99,140,170, 58,245,217, 44, 36, 34,235,116, 60,
-  8,119, 34, 78, 75, 33,123, 27,202,140,223, 92, 35, 78,  0, 32, 10, 67,  4, 82, 85, 98,  6, 29,235, 95,148,241,171,109,136, 16,
- 73, 85,125, 73,132,117,170,162,232, 85, 34,128,241,246,213,216,216,240,132,143,155, 25,111, 20, 12,140,241,233, 73,102, 12,  3,
-178,  0, 78,148, 17,152, 88,  1,152,137, 17, 51, 25,215,196, 24,194, 92, 84,  0,141, 79, 16,  3, 34, 97, 41,142, 17,129, 24,  1,
-217, 40,168, 90, 65, 70,100,159, 35,  5,175,139, 65, 21,  5,212, 39,161, 85, 84, 20,152,156,117,160, 10,134,137,216, 87, 58, 25,
- 67,149, 74,185,213,238,236,216, 58,  1,226, 72, 17, 13,171,168, 83, 65,102,242,162, 21,137,152,196, 87, 23,  2,138, 82, 96,200,
-115, 50,  1,138,168, 56, 81,  7,160,  0, 10,194, 10,228,189, 17, 31,  3, 29,160,  2, 56,  7,136,226,252,120,  5,212, 87,149,120,
-123,126, 99,104,137,128, 42,185,205, 39,167,102,110,222,125,227, 19,167,206,148, 75,149,114,181, 82,170,148,119,239,218,181,176,
-188,252,135, 95,248,226,187,246,191,137, 48, 76,147, 52,142,204,160,215,229,104,155,106, 54,191,212,218,115,227,206, 81,191,109,
-194, 40,144, 88,  5, 56, 96, 36, 70, 36, 14,  2,155, 39,128,100,140,209, 13,179,  8, 73, 85, 24, 64,  0,192,  1, 24,  0,  4,114,
- 86, 16,209, 90,139,160,136,198, 71, 47, 64, 16,177,224, 54, 66,248, 88,233,176,170,  3,117,146, 43, 50,  1,128,162,218,220, 49,
-161, 50, 18,144,138, 32, 19,121, 89,197,168,170,  2,162,130,204,134,124,218, 85, 33, 12, 98,  0,116,206, 34,192,120,144,135, 64,
-108, 84,156, 47,114, 21,245,202,138,140, 33,167,121,104,226, 36, 77,136,116,156, 47,242,226, 69, 85, 68,166,246,190,170, 54,179,
-197, 37, 35,  6,250,147, 79,127,242, 51, 95,252, 26,154, 74, 37,192,119,191,237,109, 28, 16,  0,164,131, 65,123,113,105,121,117,
-213, 58,105, 78,212,  3, 99,250,195, 76,151,151,227, 40, 10,194,208,165, 67, 21,151, 36, 35, 67,104, 85,134,195, 52, 77, 50,151,
- 75, 64, 92,173,213,115, 52, 97, 64, 46,233,170,205,114, 17, 16,117, 89,218,233,172,229, 22, 13, 97,150, 43, 19,213, 27,229, 82,
- 24,244,115,152,222,177, 55,203, 70,171, 75, 75,185,181, 21,  1, 46,213,  3, 80,102,189,112,230,137,176,188,181,179,122, 65, 52,
- 80, 37, 16, 84,107,101,212,179, 78,195, 40, 38,130, 61,179,175, 76,134, 29, 53, 53,177, 57, 42,144,  9,202,205, 61,131,238, 26,
-136,204,220,112,123,150, 14,196,229,  4,194, 81, 20, 85,202,104, 56, 79,179,176, 84, 14,163,210,112,216, 83, 83, 53,145,233,183,
-151,  4,177, 55, 26,245,123,109, 92, 15,109,238,166, 38, 93,171,189,212, 25, 12,169,221,142,162,120,117,101, 41,119, 58,119,254,
- 76, 24, 86,172,205,134,201,233, 44, 29,  5, 65, 96, 51, 43,146,198, 97,200, 36,104,130,233, 45,183,246, 86, 23,195,218, 84,185,
-190,173, 74,162,136,203,107,173,133,165,101, 80,176,110, 56,236,181,206,174,174,130, 64, 16,151,179,108, 85,108, 70,176,140, 76,
- 40,216, 91,190, 56,191,188,216,235,247, 20, 49, 73,211, 71, 31,255,203,137,137,  9,103, 53,168, 52,  7,131, 65, 38,169,  2, 88,
-235,130, 32,156,156,106, 90,151,  3,104,128, 68, 76,150,141, 97, 28, 14,219,130,193,104, 56,184,107,239,141, 23,218,221,133,149,
-139,184,178, 72,166,220,172, 87, 76, 96,122,105,146,103,  3, 38, 96,151,151,226, 70,158,167,195, 65,114,118, 65,103,119,196,165,
- 82,121, 60, 50, 29,103,112,144,216,136,184,181,213,214,218, 90,171, 86,107,220,253,234, 59,136, 48,205,173,231,160,113,225,  7,
-  5,170, 14,145,  4,156, 47,207,213, 13, 91, 81, 21,144, 20, 84,189, 27,217, 31,166,107,157, 52,140,107,211,219, 26,140,174,211,
- 90, 58,191,112,225,220,133,133,229,181, 86,171,219, 93,110,119,  6,195,100,231,214,233,247,237,191,247,238,219,103,115,177,195,
-158,148,130, 56,237,245,158, 90,152, 63,179,112,113,173, 59,112,226,166,167, 26, 55,223,188,247,244,217, 69, 96, 46, 85,226,211,
-103,230,201, 74,189, 20,129,  8, 18, 41,162, 83,165,241, 40,130,137,192,  0, 16,162,211,113, 70,148,137,157,  8, 33,168, 74,174,
-132,160,140,232,124, 25, 40,184,136,140, 29,151,178, 64,192,228,172, 16,162, 34, 24,  3, 35,107,197, 10, 51, 91, 39,234,237, 29,
- 38, 43, 98,173,245,217, 50, 85, 37, 99,172,179,222,107,  6, 85,102, 82, 69,102, 20,241,166,133, 26,166,220,186, 60,115,202,192,
-100,236,184,220,  5,153,145, 17, 28,128, 56, 69, 37, 81,107, 76,  8, 52,166, 50, 38, 64,194,212, 42,168, 16,129,183, 13, 12,162,
- 83,205, 84,  2,230,205, 50, 14, 67,132,128, 42,154,137, 26, 34,  2, 80,113,140, 68,134, 93,154, 27, 80, 80, 18,  4, 22,103,125,
- 38,194, 41,160,103, 88, 68,167,130,130,196,140, 76,190, 12,214, 23,184,122,141,141, 68, 34, 80,171, 77, 92, 92, 62,157,231,181,
-144, 80,212,169,207, 28, 26, 38,149,113,  9, 18,  2,146, 33,103, 61,209,  9,100,224,216, 32, 43,146, 56, 21,231, 64,209,123,  8,
-138, 10, 34,162,190,114,156,198,174,  3,130,170,146,250, 33,  4,137,115, 62,230,249, 66,130,113,194, 90, 69, 21, 56, 96, 64, 99,
-157,222,249,234,187,207, 95,152, 95, 88, 89,154,218,178,101,122,102,102,106,203,204,205,187,119, 63,246,212,153,179,231,110,221,
-185,101,107,127,212, 67,212,122,109, 98,208,105, 35, 81,181, 90,217,186,107,247, 83, 95,127, 36,207,147,220,166,213, 90, 96,130,
-128,137,  1,213, 89, 11,104, 16, 65,197,137,  8, 33,138,  2, 43, 35,130,241,163, 51, 34,240, 67, 50, 28,103,160,  9,141, 31, 39,
- 58, 95, 45,235, 61, 19,239, 75, 33,170,170,130, 69, 16, 64,163,164,126,112,162,226,179, 29, 64,232, 75, 89,216,103, 61,152, 65,
-156,243,  9,115, 28,199, 74, 69,255,  9,130,136,130, 18,147, 79, 18,248,196,  4,  0,176, 65,151,171, 83,161,113, 32,  1,171, 57,
-  3, 33,163,117, 74, 27,114, 65, 21,145,212,229,131,233,217,123,106, 51, 59, 92,158,178, 49,127,246,  7,191,253,187,127,242,117,
- 19, 79, 72,214,125,239,187,222,177,109,231,174, 52,207,  2,209,214,202,202,252,217, 83, 43,171, 45,224, 82,109,106,  6,178,129,
-129, 32, 29, 37,221,245,174,184, 60, 46,213,154,211, 77,237,182, 74,113,100,109, 38,206,101, 54, 77, 93, 94, 42, 85,235,229, 10,
- 75, 82,170,110,145,128, 51,238,117, 58, 29, 10,227,220,229, 10,204,  1, 13,147,196,170,196,198, 89,173, 15, 70,  3,199,229, 82,
-109, 34,203,134,224, 18, 84, 84,117,206, 57, 19,212,231, 47,156,201,168, 49, 53,177,  5, 70,171,106,  2, 43, 32,106, 21,113,126,
-121,129, 77,108,109,154,231, 41, 84,234,195, 84, 34, 22,151,103,131,225,186,100,105,192,108, 69, 68,212,103,115,122,157, 86,226,
-242,198,196,204,104, 48,232,118, 86, 21, 89,  1,196, 90,  1, 80,133,100,212, 37, 48,213,198,132,203,179, 94,175, 23,133,129,137,
- 42, 75, 11,103,178,209,122,115,219, 45,229,200,220,176,125,103, 54,234,153,184,220, 27, 38,245,106, 61, 10,203,189,206, 90, 92,
-170,142,186,139,149,153,189,165,128, 85, 52, 52,148,231,125, 50,113,  9,183,212,154, 91,201,132, 65, 16, 24, 54,233, 96,117,219,
-204,119,116, 86, 22,  6,131,182, 76, 54,195, 82,221, 74, 14, 46, 79,135, 61, 32, 50, 65,144,167, 46, 87, 23, 33,143,178,180, 82,
-174, 37,233, 96,219,150, 27, 90,181, 70,150,165, 26,106, 24, 69,  1,241, 32, 97, 67,148,185, 94,187,219, 73, 50,231,242,132,162,
-184,187,218, 66, 65,231, 50, 50,193,133, 85, 37,164, 44, 79,213, 89, 19,198,140,124,186, 53,216, 53,201,  2, 21,177,105, 92, 42,
- 37,253,110, 35,174,138, 75, 71,157,213,230,142,221,195, 81,175,213, 94, 67,217,246,138,155, 74,140,234,198,190, 49, 50,113,127,
-208,153, 59,191, 88, 46,197, 55,207,238, 49, 97,148,187,204,229,138, 14,253,248,123,236,212,131,140,125,  6,241, 58, 75,198, 57,
- 54,167,222, 67, 36, 34,107,243,139,173, 65, 38,220,152,218, 22, 71, 81,210, 95, 95, 92, 94,124,234,204,217,179, 11,139,237, 94,
-175,213,233,118,122,189, 82, 92,126,231, 27, 94,251,206, 55,237,171,150,195, 81,226,  2, 53,145, 38,171,243,231,207,157, 91, 92,
- 90,239, 14, 70,137, 32,108,105, 84,102, 95,121,235,133,197,229,199,207, 94, 40,  7,184,182,222,139,201, 84, 75, 33, 42,134, 65,
-224,198,222,  0, 16,142,  5, 59, 40, 56,149,141,178, 58,  5,  6, 95,255, 38, 10,226, 36, 12,200, 41,138,117, 34, 68,164, 72,156,
-139,168, 42, 51,123,211,213, 48, 17,177,117,121,234,124,165, 10,102,214,  5, 76,  1,147, 83, 80, 85, 38, 22,117, 42,192, 72, 10,
- 10, 32,226, 52, 52,236, 68,112,108, 61,131,127,246,136,208,  1,128,  8, 51, 25,  0, 98, 84,  1,  2, 96, 36, 32, 20,159,158,246,
- 66,158,129, 48, 96,  4, 69,100, 66,  1, 85, 37,113, 62, 31, 71,138,224, 69,165, 56, 65,194, 72, 89,124,157,147,  2, 51, 90, 39,
-  2, 42,  0,145, 65,  5, 18, 21, 98, 54, 68,128,148,169,122, 39,  7, 80, 65,156,  2,169, 19,  1,  4, 52,140, 66,214, 90, 66,212,
-208,215, 74, 17, 19,138,  8,140, 77,  9, 95,252,135,170,121, 16,150, 38, 43,165,245,110,111, 75,179,225,131,156, 34,130,128, 16,
-160,108,184, 21, 46, 87, 81, 68, 84, 64, 81, 85,181, 10, 64,164, 99,205,192,  8,  2,170,138,130, 52,254,244, 64,  1,  4,137, 65,
- 81,172, 35, 38,246,151, 74,164, 54, 21, 37,  7,186, 81,227,130,160,110,236,114, 32, 19,170,179,121,169, 90,187,235,219,238,250,
-227, 63,249,194,242,210, 98,181, 86, 15,162,248,134,237, 59, 86, 90,107, 95,254,234,215,182,239,127, 75, 28,151,179,124, 24,215,
-106,177,228, 23, 47, 14, 67, 99,150, 22, 22, 43, 19, 19,235,173,118, 24,123, 19,204,224,216,222, 64,207,192,170, 42,121, 38,200,
-204, 70,196, 17, 49, 81,232, 63, 43,218,240,179, 16,  0, 12, 27,111, 21,233,216, 95,115,234, 11,131,  2,190, 36,105,140,  8,140,
-  8, 34,234,247, 38,102, 36,244, 55, 15, 68,199,229,236,168, 32, 32,190,150,212,215,216,128,142, 75,109, 68,113, 92,180, 48,182,
- 63, 85, 85, 69,137,213,151, 69, 48,  7,164, 98,157, 35, 38, 14, 24,133, 16, 89, 37, 71, 96, 36, 22,201,136, 66, 21, 23,213,118,
-212,182,236, 68,  4,230,224,212,151,190,240, 59,159,250,255,106,181,173,157,214,185,183,190,238,222, 91,111,125, 69,150,165, 28,
-  5,157,149,133,238,106,123,121,117,197, 90,104, 76,149,226,184,100,  9,195,176,108,162,164,  1,178,222,110,159, 63, 63,119,113,
- 37,170, 82,178,109,186, 62, 72,135, 73,154, 39,105,110, 51, 91,159, 40,199,  1,  4,165,173,170,132,146, 35, 50,228,105,150,118,
- 45,  4,169,115,226, 50, 75, 84,173,148,137, 57,181,118,152,185,153,157, 59, 42,149,242, 96,208, 67, 66, 21,181,121, 42, 38,130,
- 60,  3,200,107,245,109,105,154, 14,214, 22,201,148,157, 64,192,156, 13,215, 19,  9, 87, 90, 75,235,221,238, 40,203, 51,155,169,
-205, 40, 44, 27, 19,174,183, 22,163,184,142,  6,140,137,145, 41, 57,115,222,  4, 17,163, 68,198,116,187, 29,181, 26,134, 81,185,
- 82,115,226,162,106,  9,200, 25, 14, 20,110,112,214,109,223,182,221,102,195, 76, 48, 27,246, 65, 29,153, 64,192, 86,170,211,131,
-238,106, 92,138,182,110,217,181,182,114,126,170,222, 84, 67,206, 13,107, 19, 19,  1,  2, 75, 53,144, 60, 25, 14,162,114,205, 84,
-170, 49,213, 37,235,  7, 51,187,  7,253, 85,102,142,202,187, 64, 29,112, 41,203,134, 81,173,225, 72, 13,  7, 73,175,213,168, 79,
-165,214,154, 32,170, 54,102,192, 37, 75,231, 30,157,154,222,147, 59, 11,163, 65, 20,149,203,  1,198,129,169,150, 75,221,254, 80,
- 65, 93,218,199,184, 81,203,157, 77,250, 65,174,219,118,108, 71, 19,217, 44, 85,113, 64, 84, 41,213,109,158, 17,  3,128,201,211,
-190,179, 57,  6,165,222, 96, 80, 14,227, 85,130,149, 94,210,152,112,208, 31,  0, 64,158,230, 61, 24, 13,147,164,222,152,110,175,
-181,106,147,145,203,  7,167,207,205, 15,134,201,171,110,105,198,149, 10, 10,137,216,179,243, 23,218,189,225,238, 27,119, 77, 55,
- 39,178, 44,115, 89,134,136,138,168, 62, 25,132,254,193,219,168,114,240, 41,214,113,246, 94, 64, 21, 81,128, 80,156,180,186,195,
-206,208,197,229,137,153, 90,197,142, 70, 75,231,206,205, 47,204,159,159,191,184,212,106,181,187,221, 86,175,151,165,246,206,155,
-103,223,251,142,239,188,249,198,109,163,204,166, 73, 94, 22, 28,244, 86,207,159, 95, 56,187,176,214, 29,140,172,186,173, 83,141,
-198,150,173, 23,206,158,251,236, 23, 78,150,131, 32,207,178, 52,135,233,114, 89, 84, 16,  9,  9,212,123,153, 34, 56,118, 55,208,
-169, 58,231,216,144,115, 18, 18,163, 33,171,194, 42,128, 24, 18,229,  0,110, 92,157,  1,129, 33,231, 68,172, 53,134,189, 74, 52,
- 72,128,224, 92,158,185,156, 96, 35, 87,139, 24,109,102,138,201,128, 42,128, 18,250, 79, 48,189, 55,  5,113, 76, 10, 34,153, 50,
-128, 34,230, 78,152,  8, 72,179, 60, 67, 50,198,127, 59,164,222,178, 85,  1, 82,151, 19, 27,  5, 13,144, 19,231,194,200,168, 83,
-245,197, 60,136,  2, 40,226, 24,124,217,166, 26, 36, 50,152, 89,117, 78,195,144, 69,209, 58,103,173, 35,  0, 38, 18,135,  0, 24,
- 24,114, 78,243,220,  5,  1, 48,155,192,248, 50, 80,112, 98,141,138, 67, 36, 81, 71,134, 68,  4,145, 16, 72,172, 48,131, 49, 36,
- 42,  2, 32,160,164,226, 54,138, 66,112,252, 25,212, 56,155,154,229, 73,109,114,106,101,101,109, 28,207,189,208,222,240,154, 17,
- 81,  9,212,249, 76,186,108,116, 21,170, 47,209,  3,207, 77,130, 48,246, 42,128, 54, 62,246, 25, 39, 97,217,187,211,214,  9,179,
- 81,151, 19,178, 83, 63,142,193, 49,217, 33,248, 17,205, 56,  5, 12,154, 12, 71,123,102,111, 57,125,250,244,133,197,165, 70,163,
-185,101,199,142,234, 68,109,239,141,187,190,252,245,199,159, 58,191,244,138, 91,246,228,121,146,140,134,113,185,182, 99, 87, 20,
- 24, 57,245,248,233, 93,123,247,152, 32, 41, 85,234, 68,  1,128, 32, 69,224,220,248, 35, 47, 68, 38, 35,148, 89,107,137, 25, 20,
- 69, 69, 92,230, 83, 57,170,162,190, 40, 17,141,194, 56,167, 36,170, 68,232,172,168,  2, 35,128, 19, 96,  2, 85,223,131, 72,236,
-172, 85, 81, 52,  6,  8, 21, 68,133,137, 89, 20, 20,128,  9, 85, 85,  4,  8,193, 16,142,211, 84, 32,224,227,  8,121,151, 19, 67,
- 34,231,  3,207,255, 79,213,155,253, 74,214,165,103, 94,239,176,214,218, 83,236,136, 56,113,134,204, 60,249,205, 67,125,245, 85,
-149,171,108,183,171, 61,202,237,169,236,114,149,237,178,171, 12,182,154, 73,160,166,251,134,255,  4, 80,171,155, 65, 72,  8,  9,
-209,146,133, 68, 35,220, 72, 92,210, 32,104, 48, 32, 89,242, 88,245, 77, 57,103,158, 49, 78,204,177,199,181,222,151,139,181, 35,
- 11, 50,165, 84, 94,100, 70,158, 19,185, 99, 13,207,251, 60,191,  7,148,137, 21, 85, 69,137,152, 73,189,  6, 47,113,233,  7, 20,
- 84, 85,239,125,232, 58,107, 48,222,231, 84,213, 36,217,233,187, 95, 37,  4, 74,204,139, 79,255,230,159,253, 55,127,162,110,180,
-188,123,241,213,143,222,255,185,159,255,217, 46,120, 96,244, 93,104,218,254,102,177,171,193, 38,  9,151,179,135, 64,224,210, 98,
-183, 94, 24,195,100, 56, 79,243, 15,190,244,177,181,233,242,213, 95,  3,105,219,132,237,182,170,186, 62,248,112,118,118,127, 58,
- 59,111,154,125,  0,169,235,202, 11,144,113,237,186,107,219, 29, 25,139,100,186,206,247, 94, 70, 46,181,  0,187,166,121,119,114,
-  4,168,155,249, 85,223,122, 87, 76,172,115,208, 87,189, 49, 73, 90, 74,168,193,140,178,241,189,213,221,173, 73,210, 34, 47,119,
- 55, 23,139,229,221,174,237,117, 95,251,118,211,  7, 63, 61,126,216,245,126, 52,153, 30,  1, 88,  3, 89, 62, 65,114,128,222,158,
-165,121,146,167,105,102,152, 84,186,229,106,147, 39,  6, 80,136,178,209,228,220, 88, 84,223, 72,144,106, 95,161,111,179,188,196,
-182, 41,102, 39,  8,208,213,123,147, 30, 17, 33,205,206,170,218,135,230, 57,187,  4,129,250,174, 77,138, 50,207,143,154,102, 75,
- 46, 51, 46, 81, 47, 73, 90,132,182, 49,142, 66,223, 58,151,245,198, 73,232, 52,116,171,187,235, 98,122,146, 22, 71,190,107, 12,
- 83, 93,175,211,209, 24, 73,178,209, 36, 47,198, 62,  8,132,108,118,254,177, 53,148,  1,251,242,120,185,184, 42,138,113, 39,125,
- 49, 30,239,154, 94,136,243,108,212, 84, 43,144, 22, 56, 17,224, 81, 98,171,190, 13,125,207,214, 54, 77,  5, 96, 64,252,126,183,
-152, 28,157,250,224, 67,  8,142,123,223,238,217,218,137,213,206,211, 23, 47, 94,125,244,240, 62, 42, 74, 16, 84,153,142, 71,105,
- 49, 42, 39, 51,101,102, 55,  6,128,203,249, 46,207,138,119, 30,146,248,230,114,190, 24,149,147,175,125,249, 13, 67,212,212, 13,
-128,196,241,215, 96,116, 68,  5,140,118,222,131, 27, 66,  5, 84, 80, 15,167, 25, 16, 36,106,218,126,185,235,132,178,211,211, 41,
-128,236,215,183, 23, 47, 47,158,189,120,113,113, 59, 95,172,215,183,203,245,102, 87,189,255,198,249,183,255,222, 55,127,234,227,
-119, 44,187,253,182,117, 72, 88,181, 47,175,174, 94, 93,221,222, 44,183,117,215,191,243,214,131,147,251, 39, 79,158,190, 68,210,
-227,123, 39,207,254,246,209, 46,108,167,206,154,193,225, 67,162,241,164, 27, 53,211,232,234,132, 32,130,128,214,112, 28,  4,196,
-207,138,  1,138,150,142,160, 26,143, 80, 68,136,214,136, 23,195, 24,212,196, 89, 89, 28, 10,247, 65, 25,137,  1,172,165,198,  7,
- 11,106,136,131,  6, 80, 12, 74,128,195, 13, 56, 26,251, 68,212, 32,244,209, 75, 42,154, 25, 91,249,158, 20, 28,155, 56, 85, 82,
- 50,136,104,163,193,148,200,135, 48, 88, 10,137,226,118, 34, 42, 28, 71,109,136,206, 26, 81,144,  0,200,234,144,227,103,158,152,
- 64,201,  7, 69,  0,107, 89, 68, 69,  4,227,228, 79, 69, 80,153,136,129, 36, 32,168, 26,199, 10, 72,160, 34, 24, 68,218,174,117,
-136,252,251,191,245,173, 97,220,  6,168,162, 72,175, 61, 27,136,  8, 76,  3, 57,128,227, 59,166,175,135,126,  8, 58,172,215,204,
-128,236,154,253,154, 92,150, 36, 12,196,241, 37, 98, 70, 32,122, 57, 68,  5, 84,  3,196,212, 67,156, 66,176, 68,186,128, 34,129,
- 34, 34, 25, 98, 99, 16,135,191, 70, 67,186,211, 67, 52,150, 96,180,114,197,131,132,210,143, 29,245, 49, 43,134,132,164, 97,200,
-143, 74, 16,  4, 62,154,142,127,248,233, 39, 68, 48, 30,141,147, 52,203,146,108,191, 93,126,246,248,233,199, 31,127,148, 37,182,
-174,107, 66, 80,239,159, 63,125,218,116, 97,113,123,169, 64,121, 90,152, 52,161, 97,240,136, 32, 74,209,199,  2,138,136,108, 76,
-100, 57,224,193, 26,140,  0,  8,  6, 34,126,  0,130, 72,  0,160, 56,250,136,130, 13, 27, 27,141,  4, 68, 76,108,162,163, 37, 72,
-128,104, 93, 31, 50, 92,131,135, 61,142, 92,  6,187,165,101,130,215,184,135,104,  0,245, 56,196, 78,134,205, 16, 16, 85,149,  7,
-159,232, 48,174,  8,162, 28,125, 59,131,171, 85,  1,145,172,173,246,107, 75,136,132,140, 24,188,156,189,251, 19,105, 81,114,238,
- 86, 47,159,253,103,255,225,127,212,248,164,217,109, 30,220, 59,254,227, 63,254, 55,157,195,222,  7, 98,187,190,189,221,238,171,
-171,235,155,166,247,227,201,145,177,174, 93,223, 74,223,  5,213, 52,207,122, 31,218,221, 38,203, 83,223,110,250,250, 46,205,210,
-229,114,253,242,250,122,185, 93,239,247,245,116,148, 55, 77, 91,215, 45,170,162,239, 12, 66, 85,109,171,118, 95,183,149,146,171,
-118,123,237,155,162, 40, 70,197, 24, 92,126,122,255,173,119, 62,248, 56,136,174, 23, 55, 38, 25,245, 77,131, 32,171,155,167,  2,
-100, 56,247,221, 62,207, 50,241,109,211,  6, 54,110,179,184,122,249,252,211, 94,112, 50, 59, 43, 82,158, 76,142,206, 78,207,207,
-238,189,153,229,101, 98,168,200,115,107,243,196,210,241,100, 58, 59, 58, 97,195,134, 57, 75,115, 38,  5,  5, 52, 73, 90, 28, 21,
-163,177,229,132,136, 67,183,214,160, 93,187, 67,192,166,173,119,251,182,109, 27,235,220,110,241,188,105,118,163,233, 73,223,110,
- 85,130, 37, 90, 46,174,187,118,239,210,162,241, 61,179,171,183,139, 98,116,156,164,101,215, 86,171,155,207, 93, 90,102,121,222,
-238, 22,251,205,210, 38, 69,239, 59, 91, 76,  8,185,173, 87,190,175, 37,244,162,228,146,196,166, 37, 32,238, 23,215,192,201,120,
-114, 66,100,155,106,125,118,254, 78, 91,175,125,187, 33,162,182,105,125,  8,156, 29,133,190, 78,211,  4,137,179, 98, 90,239,215,
- 65, 84,196,231,121,177, 93,223,181, 29,  0, 83, 85, 87,139,229, 93, 80,204, 51,151, 37,174,235, 91,107, 18, 96, 72, 93, 74, 54,
-201,211,204,184, 36, 39,220,182,225,106,185, 58, 41, 83, 32, 83,213, 85,219,181,204, 46,201,198, 46, 73,179, 52,223,239,119,251,
-237,186,174,214, 47, 47, 46, 81,251,143, 62,124,127, 58, 30,139,130,136, 68,119,111, 20, 15,134, 88,182,198,103,137,200, 25,141,
-122,251,  0, 21, 65, 85,181,132,190, 15, 55,155,106,223, 80, 54, 62, 46,139, 81,232,171,235,139, 23,143, 31, 63,254,225, 23,143,
-159, 94, 94,221, 44,150, 23,183, 43, 66,252,222,175,255,194,191,245,189, 95,127,251,205, 51,239,  9,123,178, 33,108, 22,183,143,
- 31, 61,123,118,113,119,117,183,244,193,255,157,159,254,170, 41,211,207,158,188,184,185, 93,172,119,213,103,143,158,165,168,211,
- 44,183,  4, 97,136,104,  3, 68,119, 39,161,115, 22,  0, 33,102,172,226, 16, 14,193, 48,201,193, 21,148, 16, 67,212,226, 85,226,
-194, 22, 36,136,130, 49, 20,130, 26, 66, 66, 66,132, 32,234, 37,240, 65,232,140, 30, 17, 66,236, 85, 12, 57,195,212, 41,164,142,
-145,204,193, 16,135,200,208,118,194, 68,214,196, 40,169, 18, 34,177,  5, 84, 64,116, 76,113,177, 69, 21, 98,210,129,109, 64,113,
- 24, 29, 21, 33, 98,  2,  0,102,102, 84, 32, 66, 38,199,  4,204, 17, 82,130,241,232,168, 64,  8, 76, 16, 84,131,168,  2, 48, 98,
- 84,102, 40,154,115,112,216,179, 16,145, 77,100,143, 80,221,  7,  8,125,145, 39,252,  7,223,254, 13, 61,184,119, 32,190, 63, 81,
- 33,145,225,128, 44, 65,137,249,240, 82,  8,113,113, 81, 80, 13,  0,  0,  2,  2,  2,170,224,101,189,171, 71,101,  1, 26, 87,174,
-168, 91,  8, 18,137,246, 64, 20, 55,177,248,178,  3,133, 33, 42,243, 68, 81,134,102,107,  6, 97, 66,226,219,165,160, 10,  1,128,
-  7,235, 33,  8,224,107, 67, 97,156, 88,170, 32, 17,113,188, 24, 69,145, 90, 68, 85, 33,248,208, 79, 38,211,122,183,190,184,188,
-201,210,236,248,228,216, 57, 75,170,183,183, 55,155,170,249,240,189,119,189, 15, 93, 87,165, 89, 49,158, 30,127,249, 43, 95,109,
-251,246,195, 47,127,109,183,153, 27, 78,226,117,239, 96, 56, 12, 68, 28, 69, 12,137,175,141,135,159, 49, 30,  2,114,112,197, 12,
- 70,196, 67,134,  0,152,  8, 48, 62, 88, 68,196,100, 24,  1, 37, 40, 17, 25, 34,  5, 85, 15,198,152, 56,241,  4, 68, 20,137,238,
-182,190, 29,161,  0,  0, 32,  0, 73, 68, 65, 84,210,184, 43,134,136,154,137,142,174,225, 55, 48,108, 11,162,196,104,  0,227,163,
-131, 68, 76,  8, 64, 94, 36, 98,  9,226, 89, 67, 68,  0,133,200, 16,185,122, 55, 79,153,  0, 21,130, 47,207,222, 62,122,235,125,
- 16,237,170,221,127,245, 79,254,233,213,170, 75, 51,155, 37,246,223,249,247,254,225,241,236,168,218,239,200,119,187,229, 98, 87,
-215, 47, 94,188,218,108,150, 73, 49,153,156,156,249,190,101,231,128, 93,  8,146, 48, 43, 48, 24, 50,201,168,222,220,181,213, 93,
- 98,146,229,102,253,234,250,102,189,217,  6,193,223,248,213,223,235,219,118, 49,191,186,186,122,186,175,118,183,183,175,124, 16,
-199,198,247, 34,202,125,187,207,210,180, 44, 10,195,228,202,163, 55,223,253,210,244,236, 65, 83,239,250,182,118,233, 40, 27,143,
- 17,144, 92,105, 93,230,251, 30, 84,250,174,221,205, 95,112,146, 45, 87,243,128,238,250,246,210,165,227,212,130, 74,200,243,137,
- 49,166,111,183, 94,  2,187,172,223, 92,229, 89,234, 18,227,146,188,235,118,109,189, 27, 77, 79, 65,186,229,226, 82,218,122, 58,
- 59,  7,109, 49, 52, 77,179,113,105, 81,237, 54,189,  8,114, 90,213, 53,160, 33,194, 32, 82,237, 86,161,111,102,247,223, 47, 70,
-211,253,110,213,215,173,115,217,236,244,205,147,179,243, 94,250,224,  1,217,161, 77,172,181,210, 44, 85,125, 54,154, 37,197, 81,
- 91,237,140, 27,155, 52, 77,242,145,203, 70,214,230,117,187, 35,147,155, 36,103, 67, 46, 29, 85,235,185, 37, 76,210, 44, 59, 58,
- 31,141,143,251,118,139,108,136,141,223,207,145,204,232,248,156, 93,201,214,248,110, 75, 73, 62, 61,122,144, 36,142,141, 73,178,
-204, 37,169, 73,138, 36, 47,154,102,183, 93, 47, 44, 81,154,101,132, 66, 54, 57,157, 30,237,234,250,238,246,154,141,173,234,170,
-107,235,206,123, 38,211,183,219,213,122,233, 69, 63,120,227,222,182,237,151,155, 13,133,198, 37,229, 40, 27,185,180, 92,239,107,
- 34,241,245, 22,  3, 84,237,254,114,126, 53, 57,122, 99, 84,158, 78, 39,169, 97, 82, 17,124,125, 46, 64,  2, 80,160,168, 18,131,
-  4, 69, 38,  9, 18,215, 82,149,128,  0,  0,194,140,219,166,191,217,244,  1,220,209,244,152, 49,236, 86,243,103,207, 31,127,242,
-249,163, 31,126,254,248,226,250,230,118,185,220, 87,205,199, 31,188,253,143,254,248, 59,191,252,115,223,240, 34,190,131,  4,201,
-239, 54, 47,159, 63,253,228,139,231,215,203,205,106,183,127,120, 58, 61,185,119,246,249,203, 23,159,124,250,248,141,251,103,159,
- 62,126,213, 85,213, 89,153, 23,169, 83,208, 32, 26, 68, 85,  5,163,237,131, 32,  6,119,172, 97,112,164, 33, 14,117,129,136,122,
- 47, 42, 18,207,209, 65,197, 43,112,244, 46,  0,244,126,208,117,  5,  1, 68,153, 49,250, 62, 16, 49, 49,  6,  9,131, 42, 15,139,
- 48,  8,  2, 19, 89,195, 30, 48,179, 22,  5,188,134,120,  8, 19,  0,  5,112,214, 32, 66,  8, 66,128, 48, 28,133, 21,  8,  0, 48,
- 72, 24,178, 94,138,204, 28, 79, 89, 17, 84, 67,108,144,  8, 85, 84,145,  9,117, 96,216,160, 42,  9,136,202, 96,196, 16, 37,  4,
- 77,172, 17, 80, 17,140,192, 32,  2, 13,170, 28,121, 35,  0,  4,100, 12,139,130,136, 26,195,168, 74,134, 59,213,166,105, 82,103,
-153,137,191,255,157,223,164,193,  3, 27,255, 43,113, 56, 82, 14,110, 62, 53,150,162,219, 58, 26,209,117, 72,240, 12, 22, 60,208,
-120,188, 14,198,218,219,249,109, 94,148,206,177,198, 23, 84,193,131,129,230,199,145,  7,130,225,172, 13,128, 24,167, 13,  8, 68,
-108, 57, 90,252, 76,132,176,196,113, 13,197,220,231,193,131, 79, 28, 65,104,195,227,  6, 26,185,  5,164,140,160,196,150,145, 67,
- 52,226, 40,196, 51,242,249,189,251,207,158, 63,109,219,182,200,179,241,120,102,140,181,172,127,253,195, 79, 79,206, 78,238,157,
- 28,119,189, 39, 32,  8,253,118,183, 33,  8,183,151,175, 86,203, 85,154,100,196,198, 88, 23, 79,  3,175,173,193,130,  2, 66,113,
-226, 11, 32,136,134, 40,186,144, 56, 98, 12,134,141,148,  7,136,  2,188,118, 35, 29, 28,184, 18,130, 30,192,  2,226,163,134,136,
-135,189,250,199,139,120,124,239, 48,230,  9, 68, 95,179,110,226,  9, 29, 21, 52, 62, 23,128,192,164, 50,120,187,162,186,207,131,
-243, 17,135,108, 25,  2, 51,147,117, 65,197,239,214,206, 26, 13,158,147,226,244,163,159,100,102,145,246, 79,255,228, 79,126,244,
-249,243,196, 25, 75,240,123,223,253,238,151,190,244,222,118,117,135,100,219,186,106,  3, 94,221,204, 23,203, 85, 47, 48, 57,154,
-161, 73,250,182,202, 38, 39,125,211, 36,  9, 33,185,116, 84, 52,187,109,183, 91,246,161, 69, 95,177,179, 55,139,213,197,245,237,
-114,179, 45,199,227,159,253,198,207,  1, 64, 78,112, 60,202, 13,202,114,219,174,246,213,118,191,107,218, 94,180,103,194, 34, 47,
- 38,229,212,230,229,244,228,236,225, 59, 31,  5,213,186,218,239,151,175,  4,  8,149,148, 64,130,239,219,150,216,182,213, 70,196,
-231,229,177, 74,111,109, 10, 34,183, 55,151,121,158,213,155, 59,103,147,114, 60,201,199,167,117,179, 67,118,121, 81,250, 32,214,
-165,163, 98,214,117,149,177, 57, 24,183,189,254, 36, 27, 29,179, 49,134, 19,147,100,108, 24, 52, 32,217,188, 60, 82, 96, 64,118,
-206, 25,118, 73,154,163,116,105, 49, 33, 99,219,174,149,126,135,208, 50,115,146,151, 77, 93,245,221,158,216, 58,227,210, 52,147,
-208, 97,240,162,128,224,243,242,184, 24, 77,156,113,189,111,108, 58, 98, 55, 66,245, 74,228,235, 93,223,109,242,242,132, 20,122,
-241,134, 25,173, 51,198,238,182, 43,182,142,140, 97, 99, 99,186,210, 24,199,217, 68, 85, 33, 52,117,189,201, 70, 39,163,209,152,
- 13, 89,151,  4,223,245,189, 10,  0,160,233,155, 42,244, 45,113, 66,198,132,208, 55,117,195,132, 41, 67,211, 54,147,241, 52,201,
-179,201,248,168, 24, 77, 20,176,109, 27,239, 67, 89,142,203, 34, 67,208,220,152, 77, 47,109,144,113,158,  1, 99, 85,173,242, 44,
- 29, 21,121,211,237,151,187,181, 97,120,112,255,173,179,147,147,106,187, 94, 44,119,229, 40,201, 83,171,138, 42, 66, 48, 92,209,
-135, 73,219,  0,152, 82, 38, 36, 80, 20,136,200,150,222,251,249,166,219,214, 56, 25,207,202, 34,107,170,213,197,243,103,159,126,
-241,197, 39, 95, 60,125,252,226,226,213,205,124,179,175,207,207, 78,191,247,107,191,248, 71,223,253,123,199,179,241,110,215, 27,
- 49, 86,252,245,171, 23, 95, 60,121,252,236,114,190,221, 55,247,206, 78,198,179,169, 97,117,229, 72, 20, 94, 93,222,173, 23,171,
-113, 98,167,101,106,145, 68, 85, 20, 66, 76,209,255,255,115,127,113,  2, 23,231,169,140,112,192,155, 69,176, 10,  4,141,209, 36,
- 36, 32, 25, 78,147, 24,189,136,  3,171, 64, 69, 69, 13,198, 56,186, 26, 68,136,142, 65, 80, 69,160, 40,204, 14,218,189, 40,  0,
-227,193,251, 73,200,136,170,106,136, 37,202, 53,  3,175,140,130,132, 32, 18,  1, 39,160,135,241, 24,  0, 30, 66,142,175,131, 53,
-206,146,  2, 17, 64, 12,161, 19,  2, 35, 25,102, 66, 18, 47, 49,168, 31, 68, 52, 40,198,239, 14, 81,  7,  7, 53,  5, 80,199,230,
- 64,157,194,214,183,187,106, 11,234,157,117,251,170,119,  4,121,150,  2, 16,255,193,183,191,133,128, 32,175, 23,225,248,134, 28,
-244, 25, 27, 67, 68,131,183,250,240,103,226,152, 69, 20, 15, 75, 60, 34,147, 37,241,141, 15,121,158, 31,210,249, 26,205,253,209,
-208,205, 68,134, 34, 25, 17,226,238, 19, 95, 41,134,155,226,228, 48, 90,194,225,  0,210,138, 99,113, 24,214,188, 65,111,127,109,
- 24, 29, 88, 25, 24, 81, 92, 49,195, 48,172,161, 17,209,  3, 10,105, 86,140,203,209,211,103,207,153,185, 44,203,108, 52, 10, 93,
-232,251,238,217,197,213, 87,190,252,  1,  2,181, 77,197,132,109,211,148,211,217,252,246,250,205,247,190, 74,208,249,222,179, 51,
-113,202, 26,255,209, 32, 66, 58,124, 85, 10,192,104, 40, 14, 22,226, 20, 34,154, 96, 20,137,137,162, 85, 95, 33, 14, 21,136,137,
-140,  9,189, 87, 64, 98,139,168, 34,253,  0,212, 68,208, 32, 68,  6, 35, 82,143,136,137,226,162,124,152,208,202,  1, 25, 54,248,
-236,163,111, 21, 16, 72, 68, 34,129,136, 40, 18, 14, 16,128,137,192, 48,200,240, 22, 34,162, 49,  6, 17, 25,185,105, 26,232,247,
-  8,  2,156,223,251,248,103,146, 36,  1,134,127,241, 39,255,237,255,243,127,253, 37,160, 26,196,239,254,238,239,127,253,103,126,
-170,243, 33,180,173,  2,118,166, 32,103, 30,127,254,105, 35,198,229,163, 52, 43,200,164,140,218, 53, 85, 62,158, 16,160,203,242,
-221,106,153,100, 37,166, 73,187,124, 73,136,226,195,139,171,155,235,249,124,187,223,190,255,206,151, 63,120,231, 75,221,126,169,
-205, 70,212,247,109,171,234, 45,163,134, 80,181,181, 97,195,200,153, 99,227,242,201,233, 27,179,211,183,239,189,249, 86,219,214,
-187,253,222,216,210,185,164,171,215,100,178,174,173,251, 94,234,253,109,223,183,157,247, 73,146, 74,223,230,121,190, 92,221,117,
- 34,227,241, 44,203,138,114, 60,214,208,231,229,209,110,179, 40,203, 19, 98,139,136, 10,237,102,187, 12,192,142,  2, 38, 83, 82,
-200,203, 99,237,122,180, 22, 65,251,102,143, 12,105, 49,147,222, 19,120, 36, 98,230,182,221,131,244,251,245,157,181,217,126,121,
-  1,192,105, 62,203,199,227,166,217, 27, 87,244,138,189,247,132,241, 14,174,198,166,117,215,248,110,107,216, 41,168, 75,138,196,
-242,250,238,185,117,  5, 51,245,253,174,111,186,180, 24,141,167,103,204,184,185,123,101, 76, 10,218, 26, 67,136,144,184, 12,145,
-130,111, 69,149,217, 26, 75, 26,194,110,241, 60, 75, 70,197,120,150,101, 83,147,142, 66,215,181,251,185,168,189,187,248,209,228,
-248,173,122,123, 19,131,135,210, 86,206,114,219,238, 67,232,179,172,172,186, 32,  2,137, 69, 38, 98, 54,137, 97,245,189, 72, 79,
-168,198, 24, 36,174,118, 27, 31, 72,197, 79,138,114,177,217, 85,125,119, 54, 61, 74,139,210, 80, 39, 18,182,141, 47, 71,179,113,
-145, 10, 36,  1, 85,250, 74,208,237,250, 60, 75, 37,205, 48,242, 81,226,113, 74, 67,148, 21, 40,114,105, 14, 92, 41, 21,213,249,
-182,190,221,116, 46, 25,151,227, 50,116,245,245,197,139,199,143,158,124,246,248,201,167, 79,158,190,186,157, 95,223, 45,147, 36,
-253,189, 95,249,217, 63,250,206, 47,127,249,131,183,  3,128,118,152, 42,237,239,110,159, 60,122,252,248,229,213,197,221,218,251,
-254,239,254,244,215,147,163,209,143, 30, 63, 73, 45, 93,174, 55, 79,159,190,204, 13,165,150, 51,103, 53,  0, 49,  4,145, 32,209,
- 51, 29, 93,208, 50,160, 90,108,212,  3, 34,247,102, 56, 74, 17,146, 33,138,160, 52, 38,142,176, 64, 96,136,218,240,144, 39, 50,
-228, 67, 32,226, 65,156,  9,  0, 40,150, 56,232,160,144, 14,  4, 42,102, 38,244, 58,172,231,132, 36,160,175, 19,234,168, 58, 88,
- 51, 15, 25, 49,141,169, 46,132, 32, 64, 17, 53, 16,165, 87,133,131,122, 67,135, 83, 32,121, 81,  4, 32,  5,136, 91, 11, 35, 51,
- 43, 64, 47,194, 68, 74, 36,226, 69, 21,  1,141, 97, 47, 42,  0,134,144,153,124,  0,131,104,216, 40,170,146,  1,208, 32,186,218,
-239,171,170,114,198,214, 94,  0,100,154, 23,200, 54,168,231, 31,252,206,119, 15, 78,202,248, 83, 65, 35, 98, 43, 26, 66, 44,136,
-210, 16, 53,178,120,176,112,128, 68,115,203,192,251,164,  0,136,100, 19,190,157,207,103,179, 99, 38, 84,145, 24,137,141,163,246,
-136,110,128, 65,136,143, 17,241,  3,150, 40,206,110, 68,145,  8, 16, 53,196, 69, 76, 98,250,102,  8,215, 15, 70, 73,  6, 21, 84,
-133, 40, 97,199, 61, 15,  9,  9,136, 56,  2,213, 16,144, 15,129, 13, 36, 20,239,167,211,201,124,126,189, 90,109, 18,151, 76,143,
-142, 29, 19, 72,255,228,217,211,172, 40,223, 58,191,215,180,173, 34, 56,166,187,249,197,213,197,229,104, 84,186,196, 86,251,189,
-115,  9, 17,147,177, 33,  4, 68, 34,130,200, 81, 34,138, 90, 25,129, 12,236,203,104,101,137,215, 87, 36, 67,196,145,191, 51, 60,
-  3,162, 16, 20, 13, 33,160,104, 79, 20,103, 32,131,254,101,173,141,102,128,232, 55,141,204,  3, 56, 32, 68, 99,154, 44,166,121,
-227,115, 19,159,187,110,191, 92, 47,110, 34, 16, 15,  0,120,  8, 72, 33, 24, 82, 81,239, 37,158,238,153, 34, 21, 68,144,184,107,
- 27, 13,173,113,233,233,251, 63, 81, 76, 38, 64,244, 47,255,135,127,254,191,252,203,127, 69, 76, 10,221,111,255,246,239,254,210,
-183,126, 45,180,141,175,107, 52,166,222, 85,197,241,241,103,159, 60,218,119, 98,179, 12,186,189, 77, 70, 54, 45,162, 11,117, 92,
- 78,186,182,219,109,230, 68,214,247,221,118, 91,181,219, 87,214, 38, 77,239, 95, 92, 93, 94,223,173,171,166,254,230, 79,255,226,
-249,241,113,189, 93, 62,124,112,186, 95,173,246,251,253,110,191,238,154,174,239,187,  8, 38, 78, 24,242, 98, 60,154,220, 59,190,
-255,230,201,131, 55,210, 34, 91, 92,189,234,234,141,248, 94,124, 67, 54,221,205,159,145, 43,144,220,120, 58, 29,143, 38, 93,215,
- 49,104, 93, 45,154,166, 93, 46, 87, 89, 94, 74,  8,155,213, 69,146,142, 58,133,237,190,113,217,116, 84,100,193,119,196,166, 28,
- 31,133,  0, 65, 67,232, 27, 32,155,142, 38,228, 43,128,192,198,121,239, 67,223, 10,  0,153,188,110,246,192, 68, 40,136,214, 37,
- 37, 17, 37,249,136,172,117, 46,  1,232, 93,146,102,121,193, 38,173,215, 87, 26,124, 50,154,248,221,  2,141,101,240,187,197, 75,
- 55,154, 58, 91,116,237,190, 24, 31, 39, 89,225,125,107, 92,162, 32,245,102, 97,216, 58,155,113,146, 75,  8, 22,177,174,118, 77,
-181,156,158,188,195, 72,249,228, 56,116,141, 34, 22,121,177, 91, 93,138,242,126, 53,223,111,230,247,222,250, 74,231,219,197,205,
-197,252,197, 95,228,227,211, 16,250,190,222,165,197, 88,209,222, 92,127,114,114,255, 67, 68,234,251,122, 52, 62,107,218,189,244,
-125,154, 79, 73, 68, 67, 39, 26,156,203,178,172,140, 10, 95,221,119,219,170,202, 18,  7, 10, 46, 41, 70,197,184,110,170, 52, 45,
-124,232, 30,156, 28,239, 91,185, 92,220,158,159, 76,170, 30, 92,126,154,165,206, 38, 25, 91, 62, 59,190,223,117,226,123, 13,190,
-201, 39, 71,187,154, 74,199,169,141,247, 74, 19,153,131,  0, 98,144, 84,226, 32, 74, 25,177,106,187,139,219,170,237,205,209,236,
- 56, 53,124,119,243,242,201,163,207,159,189,184,248,236,233,179, 39, 23,151, 55,155,205,174,106,191,254,225,187,255,193,223,255,
-157,111,254,228,135, 10,228,189, 22, 38,211,186,122,241,236,241,231, 79,158,191,156, 47,230,203,205,135,111,158,177,113, 47,239,
-110, 47,111,110,137,146, 31,126,250,197,126, 83, 21, 76,121,154,193, 64,116,210, 32, 34,162,193, 43,209,224,  3, 70, 34,235, 44,
- 34,106,136,108, 69, 80,164,160,154,185,132,128, 68,189,138, 98, 60,161,171,180, 18,226, 41,151,  6,  9, 85,136,168, 11,  2,  8,
-164,168,  8,170,106, 12,145, 65,223,171, 18, 48, 34, 19, 42,104,194, 36,136, 10,104,  8, 45,178,  0, 70,238,107, 98,141,  4,101,
-166,  3,181, 81, 13, 50, 96,164,249,129,168, 32,128, 37,246,170,  6,217, 89, 51,200,179, 76,206,217,200,207,138, 94,113,162,152,
-121, 66,  5,177,204,170, 16, 68, 84, 53,179,  6, 17,124,219,123, 65,203, 72, 68, 94, 52, 97, 78, 12,  5, 69, 85, 49, 20,229,254,
- 96, 92, 70,113, 14,  2,202,100,  0,217,171,  4,145,105, 81, 32, 83,145,184, 46, 40,127,255,219,223,  2, 16,197,  8,122,199,193,
-251,  4,136,136,162,138,209,195, 30,191,142,152,114, 18, 21,  8,135, 64, 64, 92,117, 89, 73, 21,149, 66,255,127,255,217,191,210,
-236,244,236,120,172,226, 97, 24, 49,  2, 29, 96,185,170,162, 63,102, 10, 40,234,  0,208, 28, 36,102, 34,140,145,212,193,127,165,
-196,230,  0,207, 26,134,190, 58,140,128, 33, 78,161,163, 63, 48, 30,134,145,145,137,145,136,140, 33,100, 34, 70,212, 56,236, 46,
-139,209,231,143, 30, 25,166, 81,158,143,198, 19,239,189,248,240,215, 63,250,236,157,119,222, 30,229, 89,211,212,214, 36, 26,232,
-225,187, 95, 10,237, 54, 27, 31,213,251, 45,147, 77,146, 20, 32, 96,252, 95, 83, 69, 36,100, 30,238, 13,164, 26,167, 14, 56, 92,
-185,  8,144,140, 17,245, 32, 26, 83,  2, 49,195,230, 67,143, 76,  8, 52,208,208,  8,136, 40, 70,222,  0, 73,195,240,216, 12,186,
- 83, 60,129, 48, 73, 84, 54, 95,199,219,134,116, 49, 33, 99,232,186,235,139,199,119,151,207,218,174, 73,178,210,217, 12, 48, 50,
-146,101,200,210, 14, 55, 82,142,251,  1, 16, 51,219,182,218,106,183,155,220,123,111,122,255, 33, 90,254,171, 63,251, 63,254,244,
-159,255,143,104,156, 37,252,123,191,250,155,191,252,203,191,208, 54,117, 64, 98,195,190,247,110, 50, 93,220, 92, 61,254,226,133,
-162,128,120,165,148, 93,102,108, 26,124,157,184, 84,  7,127,177,201,138,241,171,151,207,155,221, 58, 49,181, 33,179,219, 87,183,
-183,243,155,213, 74, 21,126,233,103,126,201, 50,174, 22,183,161,175,111,110, 94,117,222,175,119,123, 37, 82,164, 36,113, 36,162,
- 40, 73,154,159,158,206, 78,239,157,151,147, 89,189,185,186,187,124,145,143,143,  9, 67, 80,107,140,237,218,106,191,153, 27, 66,
-106,238,234,170,  1,223,178,181,162,184,222,238,150,171,121, 60,130, 77, 78, 31, 88, 87, 36,217, 20,218,221,116, 54, 75,210,124,
-179,184, 14,210,231,134,234,122, 11,118, 52,202,199,137, 81,  4,232,218, 22,109, 90, 56,204,202, 51,235,210, 36, 31,129,  6,231,
- 82,210,160, 18,218,237,210, 55,171,190,217, 33, 59, 31,124,240, 93,232,154,128,148,230,165, 74,168, 58, 15, 72,210,247, 93, 87,
-247,117,165,100, 67,  0,223, 54,125,183,113, 46,  1,116,222, 55,125, 83,155, 36, 73,178, 82, 68,124,191, 71, 99,188,239, 21,201,
-119, 77,146, 20,219,187,151,174,152,244,205,190,237,122,178,169,130,238,215,243,188, 60, 38,195,162,234,242,178,175, 22, 93,189,
- 77, 82,215,117,158, 81, 76, 94,246, 94,  3, 64,240,237,116,246,214,104, 52, 37,130,208,251,182,217, 49,161,181,121,150, 37,  0,
- 97,223,182,214, 88,231,210,206,247,134,140, 87, 76,216,100,105, 54, 29,141,108, 94,250,182,182,  6, 68,217, 75, 96,  4,  6, 45,
-114,215,  4,189, 92, 46,207,202,163,114, 92, 38, 89,233,251,106, 52,154, 57, 11,155,245, 60,205,179,125,221, 22,121,129,200,158,
-166,134,170,204, 97, 16,193,  3,150, 52, 68, 19,  1,131, 87,189, 93,215,139,141,207,138,241,120, 60,234,234,253,229,171,103,159,
-126,246,232,243, 23, 47, 31, 61,127,241,242,102,190,222, 85, 39,211,241,247,127,227, 23,255,254,239,253, 74, 57, 46,171,218, 39,
-156, 38,192,235,219,171, 39,143,158, 60,121,113,189,216,237,142,198, 99, 98,154, 29, 79,196,114,211,135, 39, 79, 94,236, 55,155,
-105,158,167,214,198,188, 61, 13, 55,216,136,191,  2,195,209,197,141,132,131, 64, 97,136,141,179,209, 79,193, 68,140,209, 92, 16,
-124,136,248,191, 56, 83, 29, 92,240,136,236,172, 33, 38,  9,162, 10,214, 80,180,158, 51, 15,248, 17, 31, 20, 16,157,177,209, 57,
-111,141,233,130,196, 79, 83,132,138, 48,161,179, 86, 68,130, 68, 52,202, 32,211,139, 66,136, 71,119,198,131,209, 77,  5,213, 34,
- 89,230, 16,137, 13, 76,168, 49,191,138,162,160,170, 38, 34,127, 99, 15,  3, 89, 47, 18,211,191,  8, 24,194,128,119, 75,172,  1,
- 34,141, 58, 15, 82,208, 65, 93, 17,  0, 64, 81, 69, 67,204,236, 16,213, 26, 99,  8,216, 90,239,253,200,185, 60, 31, 33,114, 36,
-203,155, 56,212, 37,141,220,200,  1, 84, 31,227, 67,195,247, 54,224, 98, 52,138,188, 62,202,113,170, 72,106, 34,233, 24,226,174,
- 68,174, 28,143,202,201,213,237,252,227,247,206,  4,137, 15, 76, 11,208, 88, 91, 65, 10,160, 65,129,244,128,211,101,160,104,190,
-212,129, 69,192,128, 33, 82, 16,144,137, 14,238,157,168,212, 83,196,225, 34,235, 16,231,  5,136,170, 25, 32,106,  0,208,225, 12,
- 28,157,152, 72,175,209,243,225,222,253,  7, 31,190,255,246, 15, 63,121, 52, 41,167,121, 49,154,157,156,213, 77,117,117,125,243,
- 63,255,239,255,231,191,246, 59,223, 73, 18,223,117, 85, 81,102,  8,254,250,250, 98,223,246, 18, 90, 21, 77, 51, 71,100,144,152,
-112,184,157, 14,216, 47,142, 79, 12,197,171, 76,148,236,148, 34,  9,152,128, 32,174,206,145,212, 73,132, 26, 58,101, 23,155, 58,
-212, 43,218,104,245,241,104,  1, 35, 23,116,128,110,147,138,168,  0,169, 12,114, 84,212,134, 20,227, 96,121,176, 10,177,177,214,
-246,189,160, 66,208, 16, 72, 73,163,230,245,227, 20,246, 96, 90,250,177,142,133,190,173, 70,147,123,179, 55,222, 65,199, 55,207,
-159,253,119,127,242,223,247, 74, 70,228,239,124,243,231,126,253,183,127,115,254,226, 89, 23,120,118, 58, 21,223, 52,117,227,146,
-236,233, 23, 79, 39,167,247,183,171, 57, 72,112,197,200,144,138,  8, 41,249,174,113,197, 72,118, 59, 99,211,229,252,122,187, 94,
- 59,234,236,200,137, 98,213,182,157,104,  8, 82, 20,249,228,232, 72, 67,127,124,116,180, 89,205, 83,155,  8, 42,208, 90, 67,112,
-206,160, 74, 64,180, 54, 77, 92, 58,158,156,144,115,206,186,205,162,222, 55,251, 41,179,154,146, 52, 52, 85,157,143, 79, 77,154,
- 73,211, 85,141, 40,245, 76,210,236,215, 72,188,218,172,124,  8, 46,201, 20,109,211,244,161, 89,142,143,239,113,234,178, 98, 44,
- 34,217,228, 44,207, 70, 93,189,238,218,182, 40, 78,179, 44, 89, 45,175,210, 36,243, 34,  8,102,181,190, 73,133, 52,120, 31,188,
-117,133,104,221, 54, 59, 85, 32,209,170,174, 93,146, 65,144,205,102,165,193, 55,251, 59,182,187, 34, 73,198, 39,247, 76,211,106,
-128,106,115,105,109, 78,105, 46,156,143, 70,211,186,218,104,232, 65,125,179,191,147,222, 54,219,165,205, 70,163,163,  7,125,  8,
-193,107,183, 89,150, 39,231, 77, 93,139,111,202,241,232,244,225,251,202,134,196, 88,114,203,171, 23,137,203,146,209, 88,250,  6,
-216,200,238,198,141,239, 87,117, 55, 61, 62, 13, 94,136,231,171,197,117, 46, 38, 47,198,193,183,187,221, 93,215,213,170,161,111,
- 43,151,150,251,106,215,122,233, 85,141, 23, 81, 56, 62, 61,175,118,235,106,183,180,118,180,235,118,149,135,220,154,119,222,124,
- 75,250,166,107, 60,178, 17, 48, 29,180,121, 94,  0,232,221,122,137,160,231,211,241,178,110, 95,222,220, 36, 73, 98, 10,217, 85,
-123, 64, 99,221, 73, 50,154,230,249,168,170,119,155,249, 21,104, 47,221,186,222,151,239,156,167,133, 13,225, 80,235, 97, 25,251,
- 32,235, 77,183,237,193,114, 50,153, 58,223,181,215, 47, 47, 47,174,175, 94,190,188,124,113,115, 59, 95, 46, 23,155, 93,150, 38,
-191,245,139, 63,253,171, 63,251,141,243,251,199,117,235,195,190,181, 26,154,106, 63,159,223, 92, 93,221,188,186, 91, 90, 50, 95,
-251,202,251, 29,234,229,223, 46,  2,210,124,189,189,185,188,201,216,230,137, 99,134,224, 21,144,130,  4, 65, 81,  1, 68, 96,141,
- 46,205,184, 20,146,170, 38,198, 70, 90,183, 32, 68,220, 44,  1,134, 88, 38, 36,146, 24,246, 18,207,162,242,122,109,  2,208,166,
-239, 13, 98,226,172, 15,161, 11,194,135,161, 21, 33,106,100, 50,136, 34,136, 35, 20,133,206,247,113,190, 39,170, 28,  5,107, 36,
-141,211, 83, 36, 64, 69,  5, 70, 10, 64,132,161, 11, 62,214, 44, 68,209,128, 15, 78,136,232,189, 51, 54,138, 69, 66, 49, 53,138,
- 42,130,138,226,200,122,  9,162,234,125,207, 76, 68,232,189,136,138, 65,131,136,204, 38,104, 24,172, 36,170,136,200,132,  1, 81,
-130,178, 33, 81,102, 68, 54,108,  1, 90, 97, 47,129,217,132,182, 78,217, 76,138, 18,153, 37,120,107, 45, 33,240,247,191,251, 91,
-131,154, 17, 51,235, 18,  6,175,228,208,231, 34,120, 40,  2,136,114,132,143,139, 44,  2,227, 16,112,136, 64, 33, 36,100,195,167,
-247,239, 25,128,201,184,144,161,213, 36,146,203, 56,250,229, 35, 41,  1, 25, 21,  4,163,251,221, 34,  2,144, 33, 85, 60, 88,116,
-  6, 78,116,172, 89,137,225, 34,138,147, 17, 38,129,248,117, 33, 33, 26, 54,200, 72, 10,  4,236, 81,136,141,  4,137,  0, 60,  0,
- 69,144,129,200,  6, 16, 20, 78,143, 79,159, 63,127, 94, 55,109, 89,142,202,114,138, 12, 69, 86, 60,126,252, 36, 31, 77,206,239,
-157, 53,109, 77, 76,205,110,107,146, 49, 72,223, 52,126, 58,157, 74,156,224, 12,149,  0,116,200,168, 42, 42, 18,160, 68,145, 10,
- 25,  1, 21, 85,197,171, 14, 94,125,  0,245, 26,152, 45,  0,  4, 17, 16, 97,182,  3,238, 94,163,181,113, 72,246, 30, 64, 62,136,
-140,234,  3,196,218,168,120, 37, 49, 17, 22,198,  3, 15, 20, 94, 79, 88,201, 36,121,154, 23,249,228, 40, 73, 11, 67,134,144,128,
-135, 63, 18,135,222, 81,226,131, 24,159, 34, 70, 80,180,249, 27, 95,249,  6,167,110,125,125,243,159,255,199,255,164,106, 58,208,
-240, 51, 63,243,179,191,253,189,239,112,194,127,249,231,127,205,  8, 42, 80, 85,245,248,193,249,211,199, 47,175, 95,190,236,125,
-231,187, 54, 47,198,190,217, 18,198,216, 29,231,121, 89,239, 55,245,110, 71,160,155,213,178, 13,154, 80,155, 39,182, 15, 97,181,
-217, 92,205, 23,243,229,234,205,135,239,125,253,203, 95,111,214,215,168,126,191,219,168,234,122,183,111, 59,239,189, 15, 33, 48,
- 35,176, 45,139,241,249,249, 91,247,223,254,242,232,248,  1,168,191,189,186, 72,198,247,207, 30,220,223,173,110,196,135,208,183,
-214,229,126,183,168,170,245,102,181,  4, 52,245,126,157,231,197,246,238,213, 98, 87,229,229,145,113, 73,146,230,125,219,172,119,
-187,204,194,217,249,219,147,217,217,126,183, 87,233,214,183,143, 69,177,170,235,196,154,205,252,169, 45, 78,138,204,174, 86,235,
- 36, 45,218,222, 35, 38,125,215, 33, 37,170,161, 15,100,140, 77,179,178,175,119, 93,192,198,119, 93,219,139,132, 32,146,142,102,
-199, 39,179,113, 57, 78,179,241,110,125, 55,191,189,146,174,203,199, 83,  8,129,136, 81,122,147,228, 34,193, 89,155, 21,211,237,
-234,102, 52, 59, 31,207, 30, 24,131, 77, 85,177, 49,121, 57,189,121,250, 87,192,  6,209, 34,244, 36, 66, 72, 70,165,218,204,173,
- 75,251,174,174, 54,119,109,211,244,189,104,104, 79, 30,188,159,101,174, 90,223,181,117,221, 41,220,123,243,227, 44, 27,133,174,
-218,174,175,210,242,212,166, 19,239, 59,  4, 76,210, 76,165, 37,206,202, 81, 14,161, 69,202, 84, 61, 39, 73,175,100, 92, 70,214,
-149,229, 52,203, 11, 50,102,122,116,220,  9, 26,118,170,200, 18, 72,247,171,218,223,159,157,105,223,  4,192,241,104, 12, 46,107,
-130, 76,202,177,168,238,118,187,190, 15,109,181,237,155, 53,153,180,169, 86, 46,155,238,247, 59,178,147,170,  9, 89, 74,153,139,
-234, 39, 84,157,191, 94,246,157,216,188,204, 25,176,222, 46, 46, 46, 94, 62,121,250,236,211,167,207,190,120,121,113, 53,159,111,
-155,230,189,183, 30,254,131, 63,252,173, 95,255,197,159,116,121,210,236,  3,121,193,174,189,126,117,241,228,209,147, 23,151, 87,
-251,170,157, 78, 38, 18,250, 90,101,185,173, 46,175,239, 46, 47,174,239,110,151, 35,107,178,196,  1,170, 35,  3,128, 65,186,182,
-247,157,247, 68,232,189,198, 40,126,172, 55, 34,130,212, 24, 65, 12,160,108,152,201, 16,168,168,244,193, 91,230,200,233,237, 66,
-  0,136,250, 45,128,106, 98,109,156, 71, 89, 34, 64,236,189, 40,104,132,145,  5,  4, 17, 97, 30,178, 61, 68, 24,  4,122,  0, 34,
- 52, 76, 18,167,138,200,142,  7, 82, 83, 56, 84,167, 89, 99, 37,118,170,161, 18,  0, 50,  6,  9,175,161, 92,131, 40, 77,104,152,
- 65,193, 16,  9,196, 67,218,112,161, 48,196,145, 30,232, 69, 16,129, 99,176, 21, 80, 69, 18, 99,148, 48,168,  2,130, 33,235, 85,
- 45,179,179, 44,136,  2,200, 32,214,166,113,196,103,200, 48,129,143, 35, 73,230,170,105,219,174, 61, 42,114,101, 86, 80,199,228,
- 44,123, 81,254,254,111,127, 59, 26, 42, 35, 69, 13,134, 81,197,225,104, 25,211, 11,  7,158,144,234,144,221,130,104,192, 36, 68,
-166,  1, 85,104, 56,  4,201,179,164,222,173, 93,146, 25,  4, 17,101, 75, 24,129, 41,113, 46,200,195, 58,132,122, 64, 69,  7, 85,
-137, 66, 86,156,123,  3,  1,137, 10,179, 25, 40, 69,240, 99, 86,129, 14,225, 49, 38,100,107, 19, 98, 86,  0, 98, 14,128,134,120,
-136,243, 12,  6,204,184, 95, 97, 52,178, 74,  0,231,220, 40, 49, 79, 30, 63,205,139,209,104, 50, 78,109,166,193, 51,225, 39,143,
- 30,125,252,209,135, 73,146,180, 77,107, 44,229, 69, 57, 26,141,178,108,100, 77, 88, 45,215,121, 94, 48, 69, 70, 58,189, 70,236,
- 17,155, 88,228,132, 20,101,171, 16,111,141, 68, 36, 32, 17, 61, 54,164,250,136, 12, 91, 34, 20, 13,241, 34, 40,209,244, 73,  7,
-243,124, 76,169,  1, 74,232,112, 80,241,  6,158, 76, 36,126,138, 10, 33, 29,232,240,164,160,198, 18,155, 36, 77, 71,137, 43,140,
- 75,226,192,129,104, 40,216, 27,250,114,226, 30, 25,219,  0,216,160, 82,121,116,146, 29, 77, 86, 87,151,255,229, 63,254,199,139,
- 77,205,132, 31,127,244,229,239,252,254,247, 38, 39,211,213,124,253,252,209,227,  0, 84,173,215,247,206,239,215, 77,243,151,127,
-254, 23,100,243,182, 94,100, 73,110,172,101,155,  1,179,182, 59,  9, 93, 47,158, 65,124,144,245,174,109,234, 21,104, 72,172,103,
-132,182,111,231,203,229,205,252,110,185,221,125,240,238,151,222, 58, 61, 70,109, 22,119,119, 93,215, 46,231, 87, 85,  8, 93,219,
- 56,199,198, 88, 47,154, 37,217,209,236,232,193,195,183, 93, 94, 76,102,179, 32, 18,124, 16,223,216,164, 32,223, 41,154,190,219,
-183,187,141,248, 70,125,239, 70,179,196, 37,196,169, 33,252,252,179,191,242, 68,108,172,  4, 47,226,173, 77,146,108,212, 52,181,
-203, 70,218, 53,251,186,210, 32,192,169,250,218, 36,197,108,118,223,119,157,179,198,154, 60, 40,156,156,157, 51,244,222,119,  8,
-224,187,221,102,241,146, 77,154,103, 89,150, 56,223,121,227,146,190,173, 92,146, 42,226,201,233,217,  7, 31,126, 52, 46, 71,249,
-244,100,179,184,186,190,124, 21,  0, 27,145,190,173,165, 93,230,227, 25, 27,135, 42,198,229, 73,154,  0, 25, 38, 50, 54, 11,125,
-213,236, 22, 89,113, 28,143, 66,108,221,104,124,236,146,196, 34, 11,152,164, 40,  1,113,183,154,119,125,191, 91, 93, 38,229, 25,
-219,180,107, 42,182,121,146, 22,251,213,109, 16,117,233, 56,205,198, 68, 74,198, 26,227, 36,244,140,180, 93,206,147,209,113, 86,
- 78,189,111,217,166, 76,230,225,249,155,101, 57,170,246,213,226,234,179,233,236, 60,201,138,182,222,140,138,220, 37,233, 40, 75,
- 54,155,133,  2, 38, 89,193,140, 77, 91,117,253,206,184,233,108,124,100, 25,208,141,202, 81,153,184, 20,181, 91, 44,238,246,251,
-245,241,209,113, 31,124,188,155,111,118, 27,199, 38,120, 63, 61, 57,203,138,  9,106,104,122,223,132,188,200,153, 89,110, 55,221,
-106,  7, 46, 47,210,212,116,251,253,237,213,171,103,207,159,127,242,197,147,207,158,190,184,184,185, 93,108, 54,211,178,252,227,
-239,252,202,191,253,251,191,113,255,193,113, 93,117,216,163, 19,221, 45,239, 30, 63,126,250,252,213,213,237,106, 85, 20,133, 77,
-108,126, 52, 34,203,215,203,253,221,213, 13,250,144,177,157,228,169, 49,198, 25, 27,141, 45,157,239,  4, 52,154,146,163,215,197,
- 26,131,132,108,209,112,252, 97,  5,133,145, 57, 78, 53, 17,  0,209, 28,166, 86,177,235, 45,136,248, 16, 66,240, 40, 16,  9,220,
-150, 73, 15,142,189,131,160, 10,  1,  0,  8,  2,  0, 27,195,135, 79,143, 99, 82,196,  0, 10, 72,142, 98,126, 40, 30,218, 80, 84,
-153,169,151,161, 66, 35,222,234,163, 80, 59,100,151, 14,232, 62, 66,178,204,  4,241,165,162,241,134,  8, 73, 69, 35,206,157,  0,
- 21,200, 32, 49,178,168, 68,210,  9, 17,  9, 14,229, 18,113, 65,142,238,254,200, 20, 96, 38, 98,246,222, 27, 98, 54, 44, 32,145,
-219,111,200,116,160,155,253,190, 76, 56, 73, 19, 64, 52, 76,104,216,  7, 81,  5,254,254,183,127,235,117, 34,126,176,163,196, 91,
-  1,145,170,128,128,  6, 69, 30,134, 29,145,252, 30,141, 46,177,158, 53,174,120, 16,121,245,160,136, 28,186,126, 91,135,163, 73,
- 17, 66, 79,138,160,200, 76, 56, 36,178,116, 64,169, 35,168,  6, 84, 66,  1, 16,100, 38,213,240,218,124,  4,120,168, 55,229,248,
- 79,200, 97, 64,  2, 20,109,137,196,100,  9, 41, 46,165,252,227,222, 34,136,115,200,232,248,161,193,142,142,160,210,251, 94,138,
- 73, 49,191,187,219,110,119,163, 81, 57,157, 30, 35, 35, 51, 45,239,238, 22,155,237,199, 31,188,215, 52, 53,  0,116,109,157, 20,
-163,245,252,226,201,179,231,211,233,140,135,238, 85,138, 41,143,195, 14,199, 26,185,193,200, 34,158,200, 28,  4,145,  1,130, 29,
-111,145, 81,152, 31,198, 83, 26,119,133,161,183, 43, 14, 34,162,  5, 22, 16,196, 15,213,169,  3,194, 41, 38, 33,116,144,190, 98,
-171,162,  2,104,196, 26,  0,144, 49,131,122,197, 24,235,  3, 41,150,193,224, 48,209,125,205,210,143,215, 30, 81, 45,103,199,125,
-211,253,215,255,201, 63,125,118,113,235, 24,207, 31,190,249,  7,127,248,135, 71,199, 99, 64, 92,205, 87,151,207, 31,177, 77,201,
- 96,213,202,231,127,243,195,166,237,166,167,247, 25,196, 36,163, 32,194,132, 32,  1, 66,171,170,228, 70,204, 82,237, 54,219,125,
- 99,216,248,102,155,152,222, 32,117, 93,119,183, 88,191,186,157, 55, 93,247,181, 47,253,196,123,239,190,235,235,221,102,187,107,
-235,125,211,135, 16,231, 93,132,193,  7,103, 76,146,101, 71,163, 50, 41,202,242,222, 91,249,104, 82,239, 43,155,231,236,251,174,
-239,150,203, 27, 34, 35,221,158,147,146, 76,154, 36, 89,104,219,182,109,214,119,207,154,170,106,149,  4,156, 33,234,186,198,165,
-105,219,236, 51,203,197,248,204, 22,227, 16,130,209,208, 86,107, 38,108, 61, 42, 39,121, 81,100,229, 12, 84, 54,155, 59,151,228,
-108,120,113,253,210,186,196, 38,133, 82,234,209,245,237, 94, 65,141, 49,198, 37, 93,179,245,190,  1,147, 49,193, 59,111,189,107,
-157,187,189,124,186, 91,205,235,166,111, 60, 20, 69,142,210,  7,209,188, 56,202,210,194, 88, 86,114,161,111,216,112,154,142,156,
-115, 10, 94,124, 64,144,208, 55,108, 18, 54,148,184, 36,177, 73,189, 91, 73,240,125,187,109,118,187,190,109,141, 75, 93, 82,102,
-163,227,174,218,140,199,229,126, 53,207, 70, 35,148,110,183,219,121, 47,170, 98,144,231,183, 79,147, 36,203,242,212, 58,103,141,
- 77,179,212, 87,107,228, 76,197, 59, 75,251,213, 45, 67,107,210,108,179,186, 35,151,179, 49,251,245, 34,248, 54,205,203,113,145,
- 55,109,179,107,186,217,201,121,181,219, 92, 45,174,171, 94, 68,249,104, 50, 99,242,235,237,142,220,136, 56,166,231,237,241,236,
-120, 83,135,122,191,122,247,252, 60,132,190,235, 90,162,100,121,251, 34, 73,243,190,171,119,235, 69,215, 52, 77,179,107, 60,122,
-117,109,239,133,139, 44, 75, 65,186,229,221,237,179,103,207, 30, 61,123,254,197,243,151,207, 47,175,175,239, 22,125,144,159,255,
-198, 87,255,193,191,254, 91,223,248,248,189,182, 15,125,227, 83,206,124,211, 92,190,120,246,217,227,103, 23,183, 75,235,204,135,
- 31,189, 55, 57,157, 46, 86,235,201,209,244,118,190,184,184,184,182,  1,139, 52, 97, 67,198,112, 98, 13, 51, 91,230, 78,131,247,
- 66,131,191,145,152,140, 25, 58,127,200, 90,195,108,  0,145, 45,199,124, 97,144, 16, 67, 42,170,218,121,111, 14, 69, 55, 74,216,
-247, 93, 83, 55,251,182,233, 66, 71,  4,137,115, 81, 43,143,152,222, 24,200, 71, 68,107, 25,200,112,244,106,  3, 34,177,  2,244,
- 65, 35,183, 60,210, 24,131,168, 97, 50,200, 67,143, 52,128, 33, 36,192, 88,210,201, 24,185, 35,135,122, 77, 66,195, 38,250,185,
-141, 53, 62, 28,170,223, 48,234, 60, 96,136,141, 53, 33, 40,  2, 24,138,227, 80, 31, 67, 99, 52, 24,119,  8,  0, 58,239, 73, 53,
- 53, 46,  4, 25,202,  3,105,208, 84, 44,179, 33,238, 85, 64,133,137, 69, 85,  0,182, 85,141, 26, 38,197, 72, 21, 19,142,142, 73,
-181,108,124,  8,252,131,239,126, 43,122,183,135,238,150,131,211,218, 24, 22,149,225,155,146,136,147, 63,180,179, 12, 61, 75,135,
-209,203,193,140, 14, 72,138,152, 89,186,185, 91,158,204,166, 62,200,208,239,  7,136, 32, 72, 24, 29,131,  3,185, 22,226, 25, 21,
-227,138,136,230, 32, 91, 17, 69,206, 17, 17, 50,154, 72,148,  1, 64, 34, 19, 13,164,104,220,129,146,133,170, 66,114,232, 21, 84,
-  5, 12, 52,164, 63, 99, 38,106, 24,219,170,  2, 72, 48,104,210,196, 60,123,254,210, 50,149,227,163,178,156, 72, 16, 70,249,155,
- 79, 62, 61, 57, 59, 59, 57, 62,174,170,173, 97, 16, 65,151, 48,162,123,255, 75, 95,154,223, 92,186, 36,141,227,202, 56, 18, 21,
- 13, 16,123, 38,117, 48,105, 41,136, 14,244, 75,128,173,200,172,  0,  0, 32,  0, 73, 68, 65, 84, 28,180,120,213, 31,251, 63, 15,
-173,220, 49,116, 74,177,178, 41, 58, 78, 69, 67,  8,131,123,125,152, 40, 28,176,171,104, 34,225, 32, 26,153,244, 48,133, 29, 30,
- 81, 17,  5,101,231,226, 77, 10,145, 68, 34, 33, 42,130,153, 41, 86,197,198,123, 34,  0,177, 53,204,201, 63,251, 47,254,211, 47,
-158,223,178,225,163,233,248,  7, 63,248,163,  7,111,157,247,222, 27,107,231,183,171,221,122,149, 56, 91,181,221,252,234, 69,215,
-214,105, 94, 48,106,187, 91,128,136,201, 74,245, 29,  0,168,201, 93, 49,  2,245, 64,110, 53,191, 83, 36,107, 83,227,146,  4,118,
-132,184,222,237,239, 86,203,139,249, 29, 34,253,194, 55,127,241,104,124,116,125,125,161, 72,190, 23,233,251,166,217,231,105,218,
-116, 61, 16,147,250,114, 52, 62,187,247, 48, 25,207,238,191,251, 21,237,154,245,106,233,164,218,111, 46,174,158,127, 54, 62,125,
- 47,205, 71,204,216,108,215,213,118,213,119,117,219,110,250, 62, 40,154,186,217,111,154, 58, 77,178, 36,203,178,242,248,120, 58,
-157,157, 62,  4, 50,  0,208,110,239,170,205,171,187,139, 79,146,209,125,155, 78,250,174,102, 99, 18,195,187,249, 19,193,132, 56,
-169,182,215,104, 12,152,172,111, 26, 85, 96,195,170, 18, 66,111,152, 88,133,161, 69,164, 52,177,173, 15, 93, 31,202, 34, 77, 50,
-103, 92,209,212,219,174,107,239, 22,183,130,156,165,  9,155,164,200, 51,237,219,253,234, 34,203,203,174,222,112, 58, 41,203, 73,
-232,251,245,234, 42, 47,207, 76, 50, 10,226, 13, 51, 41,116,205,182,107, 43,182,169,  2,180,245, 14, 17, 64,188, 49,174,107, 86,
- 77,181,  1,105, 67,219,181,125,125,250,224,109,  8,161,110,234,229,106,238,146, 52, 27, 29, 37,105,102,136, 22, 87,143, 76, 82,
- 16,231, 93,187,223,109, 87, 66,220, 53, 77,223,182,251,245, 37, 39,101,154,228,235,249,133, 41, 38, 68,108,172,203,138,113, 57,
- 62,242, 93, 85,111, 55,249,248,164,170, 54,251,186, 59, 63,123,243,100, 58,  5,213, 52, 73,218,182,230,180, 72,242,146, 17,  2,
- 72,215,123, 32, 59,202,147,197,106, 85,117, 13,  3, 32,187,166,173,109, 90,178,205, 52,248,192, 41,184,124, 84,148,179,217, 40,
- 79,161, 24, 77,157,227,174,222,191,124,241,228,241,147,167,143,158,189,122,121,117,115, 49,191, 93,110, 54, 15,239,159,252,251,
- 63,248,206,239,255,230,207, 37,137,171,107, 97, 37, 35,184,189,189,121,242,248,209,203,235,219, 77,221, 24, 99,222,124,120,111,
- 94, 87,183,119,171,231, 23,183, 87, 23, 87, 55,151,139, 89,150,185,204, 38,214, 18,177, 37,102, 99, 25, 57, 22,245, 24,203, 10,
- 64, 64,214, 26,142,166,106,107,172, 49,209, 69, 97,201, 24,182, 42, 24,164,139, 11, 86, 68,220, 34, 19,138, 42,145, 33, 14, 18,
- 54,213,110,223, 52,193,139, 53,198, 90,107,136,153, 24, 16, 37, 18, 37,153,163, 47, 17,117,208, 48, 25, 14,233, 65,  0, 59,172,
-116,168, 49, 79, 52,  0,147, 95,247, 43, 11, 41,134,161,106, 13, 25,  0, 12,129, 87, 98, 52, 28,215,104,140, 96,253,240,154,236,
- 13,128,136,150,216, 48,245, 65,  0,148,129, 16,177,247,109, 80, 53,196,230, 96,175,140,133, 30,135, 92,100,220, 18,  6,110,139,
- 10, 26, 66, 71, 40, 72,130, 17, 98, 76,162, 96, 13,175,170, 26,164, 31,231,133, 51, 28,151, 65,107,204, 64,227, 87,229, 31,252,
-246,183, 15,116,245, 67,117,211,240,155,215,142, 73, 24, 92,236,116, 96,193, 15,  5, 18,131, 51, 59,118, 86,  0,113,180,191, 24,
-182,205,102, 45,156,100,169,197,160, 68, 16, 59, 30, 99,  4, 55,182,199, 17,113,108,126,100,203,100, 45,242,192,153,100,138,161,
-252, 67,248,159,  6,147,105,140,201,197,100, 66,252, 98, 98,116, 22, 49, 50,106, 14,205,238, 58,244,  3,195,  1, 76,125,152, 27,
-  0, 16, 40, 66, 57, 30,173,238,230,235,109, 53,153, 76,202,201,212, 89,179, 93,174,214,155,237,243,203,139,175,125,244, 37, 17,
-239,187, 94,213, 95, 94, 94,119, 77,103,156, 13,193, 75,232,147, 36, 27, 90, 74,134,121,165, 87, 81, 98,139,108, 84, 67,144, 30,
-233,192, 13,136,206,246, 67,163,112,196,130, 97, 24,222,187,129,155, 29, 55,234, 56,251, 25,246,212,168,199, 69,139,123,236,118,
- 10,177,207, 50, 34,201, 14,118,213,  3,236,126,160, 96, 28,154,203,  7,  7,155, 70,217, 62,186,143,  6, 50,245,176,209,241,255,
-244,167,255,226, 47,254,230,211, 60, 75, 70,121,250,123,223,251,254,151,191,254,149, 16,250, 40,121, 61,255,226,145, 71,147, 21,
- 37,113,194,  4,168, 52,158,206,216,164, 65,144,217,160,130, 49,182,105,234, 44, 79,153,141,239,234,186,147,106,187,102,  8, 93,
-219,168,180, 41,119, 42,176,217, 87,215,243,197,124,181,202,210,244,167,191,242,149,245,106,225, 12,139,248,182,218,214, 85,133,
-168, 77,215, 52,109, 75,160, 69,150, 61,120,240,230,248,236,188, 60,126,120,116,122,114,119,249,172,222, 87,109, 91,247,193,142,
-166,167, 16,218, 34, 47,250,170,218,110, 86,193,119,213,250,154, 76, 30,175,151,139,213,220, 36, 57,187,164,217, 45,197,119,211,
-227,  7,206,154,237,242,234,246,250, 81,215,134,201,244, 76, 20,243,209,108,187,120,185,190,123, 10,210,207, 30,188,239,219, 93,
-223,247,228,178, 44,205, 70,163, 73, 93,109,217,164,125, 87,133,122,211,119,123,151,140,130,239, 93, 98,146, 60,183,198, 26, 54,
-203,237,174,107, 43,  6,156, 78, 38,162, 90, 76,206,178, 98,162, 96, 22,203, 69, 81, 76,210, 44,203, 29, 21,105,225,202, 83,  5,
-  8,193,231, 69,169,253,174,247, 62, 77,143, 52, 52,168, 33,205, 38,136, 18,124, 71, 54, 83,  9,193,183,218,119,100, 12,145,173,
- 54,243,208, 53,160,216,117, 93, 94, 28, 73,240, 26, 68,186,110, 49,191, 44,202, 99,  8,181, 49,137, 97,187,223,204,141, 77,146,
-114, 86,215,117,239,251,248,137,171,150, 23, 46,201,247,213, 38, 14,103,146,116,172, 38, 95, 47,110, 56,155,156,158,222, 59,187,
-119, 30, 39, 79,128,176,218,172, 36,212,231,231,239,118, 77,181, 90, 92, 90,155,142,203,233,120,114, 44,190, 71,164,178,156, 90,
- 16, 36, 14,161, 67,228,196, 80,213,246, 77, 91, 23,153, 45,138,114, 52,153,  9, 96,181, 93,148,227,241,108, 54, 62, 61, 26, 29,
-207, 38,227,114, 34,190,189,189,122,245,248,241,147, 71,207, 94,188,184,184,121,113,125,125,125,183,200,146,228,219,191,244,205,
-127,247,  7,223,122,255,189,243,125,221,169,231,132, 76,187,219, 94,189,120,241,232,201,243,203,187,149,115,238,104, 92,164,227,
-209,182,218,255,232,179, 39,  4,186, 89,238, 50, 50,179,233,208,186,227,140, 49,108, 80, 20, 85,137,227,135, 26, 99,163,189,179,
-198, 48, 91,107,201,242,161,197,117,104,199,208, 32,160,202,  3,193, 54,146,151,134,106,104,139,216,251,176,111,234,222,247, 65,
- 68, 68,  0, 49, 75,210,212, 58,137,235,196,  1, 41, 18,139,165,227, 13,250,245,199, 21,145,216,196, 75,182,202,176,121,136, 57,
-184,253, 37, 70, 75,135, 89, 32,171, 70, 81, 97, 64, 60, 50,147, 42, 88, 34,141, 13, 60, 42, 49,193,207, 10, 38, 58,217,  0, 37,
- 82, 73, 20,129, 72,188, 71, 34, 27,115,  4, 67,205,  6, 32, 34,115, 76, 90, 33,  1, 24, 99,226,209,119, 56,250, 33,118,170,  7,
- 22, 56, 70, 84,194,190,247,117,219, 28,101, 89,154,166,189,  8,  1, 34,129,128,168,130, 97, 19,124,224, 63,248,205,111,197,253,
-235,144, 41,138,167,243,  1, 67,127,112,207, 64, 80, 96,203, 24, 65,155,168,116,200,143,198, 62,189, 40,  8,240, 64, 61, 49, 24,
-186,213,174,155, 29,149,240, 58, 55, 69,209,120, 66,  0, 74,236, 64,148, 13,177,179, 56,108,145,136, 81,129, 66,  6, 82, 67,116,
-104,241, 59,116, 30, 69, 12,127,172, 59, 57, 52,155,162, 53,  3,235,150,245, 80,212, 23,147,165,120,168,143,137, 19,227, 31, 55,
-128, 16,242,236,168,124,252,252, 69,150,102, 73,146,168, 74,219,212, 77,219,189,188,184, 60, 61,155,221, 59, 57,174,155,206, 37,
-201,244,248,254,  7, 31,190,255,234,197,147,227,211,123, 77,181,117, 46, 67, 54, 68,230, 48,144,143,237,101, 49,162, 27, 34,236,
- 69, 68, 94, 95,241, 84,  4, 99,148, 73,135,224,242,161,211,  3, 99,175, 85, 12, 68, 31, 54, 76,198,131, 32,  7,138, 16,157, 76,
-175,203,175,225,144,231,138, 79,221,240,131, 14,189,139, 67, 67,109, 84,  6,163,155, 50,234, 69, 58,244,185, 35, 25, 94, 47, 23,
-255,235,255,246,103,136, 48,202,242,239,254,238,247,127,226,167,190,222,213,123, 52,198, 26,222,172,182,151, 87,243,190,169,216,
-101,160,253,118,117,135, 54,  1, 96, 21,104,234,125,  8,222, 24, 98,194,118,191,207,202,163,182, 90,175,111, 95,125,241,217, 39,
-  9, 73,226,146,182, 19,166, 58, 33, 17,212,249,106,121,121, 51,223,236,171,147,217,189,175,125,244, 53,  8,157,120,223,182,253,
-174,218, 55,109, 77,210,239,154, 46, 73,146,224,187, 50,203, 78,207, 30,186,172, 72,178,220, 89,187,217,172,211, 81,201, 46,155,
-157,157, 23,229, 17,219,164,169,119,190,239, 58,223, 55,251, 61,177,  5, 99,198,105,186,188,125,177,238,188,179,  9,146,113,217,
- 52, 31,141, 38,227,178,239, 58, 32, 86, 76,173,177,211,241, 56, 41, 79,119,251,165, 77,199,156, 78,243,114, 98, 73,128,211,174,
-221,128,138, 15,221,104, 52, 43, 71,101,215, 53,157,111,109, 82, 26,151,236,182,139, 60,225,209,248,132,236, 40,207, 74,  9,173,
-244,161,105, 67,211,213,227, 44,237,170,185,136,220, 61,255,235,241,209, 73, 81, 76,172, 54, 71, 71,179,241,228,212,101, 89,187,
-223,136,120,155, 78,250,122,221, 87, 27, 65, 51, 26, 79,219,122,223,181,123,151,228,161,107,128, 12,137,  6, 13,105, 50,234,124,
- 31,246, 27, 66,211,  7,223, 54,123, 64,206,242,209,110,117,131,218, 36,217,  8,137,178,172,236,154,221,197,179,191,157, 29,159,
-111,183, 87, 68, 54,113, 41, 19,134,190, 75,210,113, 93, 45,167,167, 15,206,223,254,240,228,228, 94, 16,221,237,235,190,239,119,
-119,151,187,205,213,241,131, 15,218,106,219,118,117,158,230,117,117,247,226,213,243, 36, 27,167,121, 89,150, 51,155,142,235,253,
-122,114,116, 18, 66, 15, 32,198,218,162, 28,135,190,111,170,109,189,189, 61, 61,187, 79,196,198,101,  1,244,236,248,212,186,116,
-177,221, 48, 72,154,102,193, 75, 49, 41,239,157,205, 30,156,157,157,156,221, 99,134,197, 98,254,252,217,147,199,207,158, 62,189,
-184,120,126,121,253,226,242,122,179,111,126,242, 43,239,253,195, 63,252,246, 47,253,204,199, 72,216,212,193,105,162,190,189,126,
-249,226,249,211,103, 23,183,115, 65,252,198, 79,126,213,141,179,166,105,166,167,211,231, 87,183,203,187,149, 19, 28,101, 46,113,
-  6, 17, 19,231,172, 49,206, 37,160, 42,  8,214,184,248, 28, 91, 99,162, 12, 97,136, 13,153, 88, 65,  7,  3, 10,230,245,241, 18,
-172, 49,131, 96,  0, 16, 84, 29, 27,  2,  6,144,160, 33,136,  4,241,109,223,121,239,227, 85, 54,117, 46,113,238,240,233,163,193,
-138,128, 56,244,218, 19, 14,253,124,128,128,  1,  4,144, 88, 84,105,104,187, 70, 80, 96,231, 52, 12,173,161,160,224, 53, 16, 50,
-128,144,146, 18,198,211, 23, 32, 26, 70, 64, 22, 13,209,172, 25, 99, 74, 17,171,238, 67, 32,  0, 98,150, 32, 65,188,  7, 73,173,
- 99,  4, 17, 80, 85,203,212,123, 79,196,206,186, 78, 85,  1,140, 51,145,225,104,163, 63, 18,177,245, 30, 16, 82,195, 67,118, 22,
-212, 88,238,  4,150,219,237, 36, 51, 89, 54, 82,149,196,217,  8, 32, 83, 36, 13,130, 34,125,240,252,135,191,251,237,248,190, 73,
- 68,222, 68,219, 59,113,236, 94, 29,176, 38,100, 81, 53, 40, 24,131,136,  2, 10,104,162,232, 28,226,155, 56,212,232,198,115, 53,
-130,181,102, 62,191,153, 28, 29,131,  6, 81, 56, 52,196, 68, 11,164,193,104,110, 65, 64, 67,226,195,255,199, 75, 18, 91, 49,232,
-128,121, 65, 84,137,199,216,195, 47,209, 46, 21, 45, 74,160, 18,  6, 68,134,247, 49, 25, 12,  7, 62,101,188,135, 28, 80, 49,113,
- 23, 16, 16,  0,145, 81, 57,237,219,237,245,205, 93,146, 56, 85, 77,179,180,111,170,187,249,250,242,246,238,167,190,246, 85, 32,
-232,218,150, 49, 60,255,226,147,203,235,219,122,183,217,108,119, 69,158,255,184, 60,133, 92, 44,126, 29, 26,248,208,  2,138, 72,
-136,186,147,198,150,238,193,213, 24,221, 61,170,234,163,206, 18,131,176, 67,233,214,  1,230, 14, 12,  3,170, 95,227,225, 29,241,
-128,148,  4, 80, 54, 60, 64, 49,  7, 88,177,192,224, 11, 26, 12, 53, 26,194,192, 28,230,215,205,170,138,248,186,205,137,216,240,
-237,213,237,223,252,237,143,136,248, 87,126,237, 91,127,247,231,191,217,247, 13, 18,154, 36, 17,145, 39,159, 63,218, 46,111,  5,
- 96,179,184,105,235,166,239, 90, 81, 34,196, 52,115,203,171, 47, 76, 82, 78,142,143,234,170, 85,105,187,253,220,229,147,166, 15,
- 10,249,236,228,158,  7, 22, 47,133,217, 17, 97,215,201,221, 98,253,242,102, 94,183,205,195,  7,111,190,117,239,172,235, 58,100,
- 27,124, 95,237,183,109, 83, 19, 64,143,132,170,229,168, 44,203,201,244,244, 28,109,225,194, 58, 29,159,109, 87, 55,167,247, 30,
-134,206,223, 62,251,171,151, 95,252,249,189,251,111, 52,213,174, 44,103,218,215,161,235, 20,160,239,218,197,221,213,203,139,231,
- 94,237,131,123, 15, 70, 69,202,218,228,229,172,173, 42,129,158,217, 54,213, 38, 31,157,236, 86,215, 77,223,113, 50,217,220, 60,
-117, 89, 62, 57,126,  3, 84,140, 43, 64,177,109, 43,147,230, 68,230,254,253,115,214,253,100,246, 16,161,239,118,119,163, 98, 60,
-155, 78,181,223,153, 36,239,234,141,111,171,229,102, 21,218, 93,221,245,179,163,179,227,179,119,146, 36,105,235,157,177,110, 60,
- 26, 49,145,146, 77,211, 12,  0, 60,154,106,241,220,165,153, 49, 41,105,151,141, 79,247,139,151,168,106,146, 12, 85, 66,232, 21,
-116,113,249,169, 15,208, 84, 75, 13,253,118,117,195,164,214,168,117,133,138,110, 55,243,163,233,244,141, 55, 63, 32, 20,103,205,
-102,179, 16,118,132,218,181,155,122,187, 20, 98,239,187, 80,111,202,147,115,  0,173,119, 43,146, 78,208, 46,239, 46,119,171,235,
-213,234,110,114,250, 70,223,110,130,130,181,185, 49, 69,219,238, 63,127,244, 23,219,170,125,239,173,183, 31,188,241,209,100,118,
- 38,161,239, 85, 19,151,  2, 26,237,219, 44,205,215,183, 47, 39,227,113,121,124,111,183, 89,216,108,116,122,114, 58,155,157, 24,
-245,  0, 48,153,204, 78,143, 38,138,188,173, 26,  7,253,217,195,123,111,191,249,230,195,135,111,102, 69,178,223, 44,175, 46, 95,
- 61,126,244,248,233,171, 87, 47, 46,111, 94, 94,223, 92,223, 45, 38,163,209, 63,250,227,111,253, 27,191,243,171,229, 56,173, 91,
-207,144,164,236,182,203,187,167, 95, 60,122,241,242,114,185,171, 69,225,171, 95,251,224,229,124,254, 87, 63,252,188,105,154, 79,
- 30, 61,219,221,174,143,203,130,153,172, 97, 34, 74,216, 58,231,  6,179, 47, 17, 33,117,190, 87, 84,195, 73, 16, 65, 34,107, 88,
- 99,245, 28, 33, 32,  3,200,161, 18, 71, 45,177,130,118,189,143, 90,  8, 17, 90,107, 53,168,130,116,226,  9,145,145,154,206, 99,
- 36,164, 17,102,214, 26,155, 96,180,178, 16,115,140,215, 28,212, 21, 26, 18,148,132, 12,160, 40, 67,185,160,  6,  0, 81, 37,160,
-196,216,168,142, 10, 40, 33,116, 33,136,  4, 71, 36,224,  9, 45, 18, 58, 98,195,236, 44,130, 66,  8, 18,107,146,189,  6,  6, 74,
-152, 84, 99,219, 21, 56, 54, 68, 20, 65,243,134,153,145, 68,196, 11, 88, 67,196, 70, 84,152, 25,141,  9, 33, 48, 98, 98, 18,249,
-127,153,122,179,103,203,142,236, 62,111, 13,153,185,167, 51,221,177,  6, 20, 80,  0, 26, 13,160,  7,116,183, 40, 54, 37, 14, 10,
-201, 18, 29,164, 56,216, 17,166,104, 59,252,234,255,208,225,240,155, 34,252,100,217, 50,229,166,200, 22,155, 24, 10, 53,221,186,
-243, 61,243, 30, 51,115, 45, 63,228, 62,213,122,  7,112,  7,220,147, 59,247, 90,191,223,247, 73, 76,168, 26, 29,187,164,106,152,
- 83, 41,247, 64, 14, 68, 17,216,116,157, 37,200,179,140, 12,147, 65,241,170, 32, 12,160,162,117,219,108,247,219, 77,189,231,127,
-247, 23,127,146,252,168,135,209, 59,192, 24, 55,  5, 68, 18, 64,147, 16, 56,156,202, 99, 74,192,200, 25,  2,141, 92,203,228, 90,
-  5,148,244, 48, 74, 86, 82,231,250,122, 11, 38,207, 51, 55,174,  8,  5,  0,129, 71,156,142, 32, 34, 72, 42,108,  9, 64, 42, 25,
-167,253,199,251,170,234,136,  0, 58, 16, 27, 70, 66,228,248,134, 53, 22,167, 34,170,  2,241,193,221,174,227, 18, 24, 21,198,218,
- 50,235, 56,190, 80, 68,212,  8, 74,168,128,199,179,233,215,223,124, 29,130,100,206, 16,114, 94, 21, 97,240, 47, 95,191, 93,204,
- 22,159, 60,127, 90,215, 53, 25,227,108,241,241,103, 95,236, 55,155, 79, 63,251,210,247, 59, 69,103, 51, 99, 48, 83,  0, 69, 25,
- 21, 39, 48, 74,175,  8, 14,214, 85,  5, 80,136, 49, 34,  1, 27, 11,170, 81, 69,199, 27,252,104, 23, 79, 75,215,177,152,155,214,
-172,152,160, 78,227,221, 28, 68,254, 43, 87,227, 97,179,125, 88,150, 38,194,103,138, 27,169,104,148, 40, 49,166,226,243,136, 28,
- 74,255,145, 68, 17, 86,181,198,190,125,251,250,155,111, 95,253,193,239,255,139,127,245,111,254, 77, 84, 65, 99,216, 57, 67,124,
-253,246,178,222,183,138,174,107,234,147,197,162,243, 49,175,230,132,232, 44,117,125, 31,169,156, 45, 78,124,187,247, 81,200, 85,
-128, 90, 78, 38,131,151,186,222, 90,107, 64, 66, 89,229, 20, 55, 10, 80,119,237,122,187,191,184,185, 29,  6,255,249,167,159, 63,
-127,254, 67, 91, 78,194,224, 55,235,187,213,106,237, 24,250,126,104,135,222,104,152, 77,138,147,211, 71, 92,205,170,227,167,103,
-207, 62, 86,206,182,155,141,181, 60,244,245,195,237,109,164,220, 49,182,109, 80,245,155,187, 11,  5,112,214,181,219,135,227,211,
-199,189, 72,136, 48,248,206, 48, 31,159, 63,183,206,246,187, 59,223, 53,189, 80,221,180,  0,144, 21, 83, 32,163,125, 93, 44,206,
- 44,219,161, 94,245,237, 46, 43,202,233,108,230,242, 89,223,183,253,208,179,106,  8,126,122,244,216,119,117, 84, 42,170,133, 97,
-210,216,102,249,196,247,251,205,234,  1,108, 33,161,141,209,159,159,157,151,153,217,174,110, 92, 94,246, 98,183,155,165,111,119,
-200,  6, 66,223,236, 86, 68,198,229, 19,178,  5,147,176, 45,218,253, 78,165, 39,240,214,150, 93,179, 55,196,132,152,151,115, 16,
- 13, 94,117,216, 77, 23,231,156, 21, 49,224,110,191, 11,190,151,232,141, 49,195,208,  0,242,208, 53,109,235, 11, 75, 69, 53,207,
-178, 25,185,178,170,166,211,217,236,163,207,126, 84, 77,102,155,219,183, 93,239,183,155,123,203,220,135, 48,120,232,251,206,154,
-220,229,211,217,241,179,161,221,223, 94,127,183,235,250,179,211,231,103, 71,167, 38, 63,218,181,221,102,181,172,119, 43,178,133,
-115,153,205,178, 42,175, 86,219, 37,114,126,118,250,132,136,130, 42,155, 92,163,223,173, 87,235,213,125,223,249,  8, 88,230,110,
- 90,230,199,199,103, 79, 63,120,242,232,209,  7,243,249,194,119,205,221,205,213,139, 87,223,191,124,245,246,237,213,237,235,235,
-219,183,151, 87,253,224,159, 61,126,242,199,191,252,197, 31,254,242,231, 94,124,  8,228,208, 73, 59, 92,189,125,251,205,183,223,
- 61,172,182,221,224, 63,125,254, 88,156,121,121,113,121,117,117,155,229,238,230,234, 62, 83, 56,153, 20,150,153,152,173, 97, 75,
-  6,153,137,108,250, 96, 39,190, 13, 19, 19,179,106, 52,132,200, 12,154,210,144,134, 64, 37,213,212, 85, 12, 49, 32,121, 80, 66,
- 50,204,227,  4, 87, 85, 37, 42, 68, 64,204,173, 81, 64,  1,165, 17, 11,128,185,201,157,179,214, 26,235, 44, 34,229,228, 84,132,
- 14,194, 35, 58,228, 50, 12,145, 70, 21, 81, 68, 37, 36,  1, 32, 66, 75,156, 78,163,144,116, 69,160,  0, 96,144,152, 12, 18,138,
- 82, 26, 49, 41, 34, 51,119,189,104, 66,149, 13,130,160,233,243,153, 52,211,227, 53, 53,173,204, 64,211,180, 39,205, 68,172, 49,
-233, 13,132,145,162, 66,136, 65, 14,212,202, 52,231, 53,144, 30, 57, 41, 46,  1,137, 70,158,200, 35, 64,184,169,251,190,239,231,
- 85, 97,152, 17, 73,125, 96,147,188,161,184,218,239, 55,251,205,122,183,111,187,134,255,135, 63,251,147, 67, 34, 18,  1, 71, 48,
- 91, 66,190, 24, 74,123,206,180,166, 78, 45, 87, 68,148,244, 32, 56,164,134,104,228, 66,224, 88,209,213,177, 81,  6,251,122,168,
- 38,249,248, 67, 18, 34,144, 25,  1,149,  4,227,253,245, 32,113,  4, 24,175,196,160,168, 17, 33, 77,227, 70, 52,114, 58,167, 84,
-133,152,101,252,245,164, 84,119,  2,190,167, 45,132, 42,200,193,130,141, 35, 58,158, 16,  0,216, 56, 56,184,160,210,228,198,230,
- 25,144,124,255,234, 77,150,101, 69, 89, 90,147,101,214,108,182,155,191,255,230,219,175,190,248,225,164,116,237, 16,172,225, 52,
-237,123,120,184,123, 88,173,102,211,105,230, 10,197,212,161, 72,125,  8,129,131, 94, 35,173, 55,211,130, 27, 17,137, 12,105, 50,
-252,193,225,189,227,253,100,133,  0,  1, 12,130, 38,242,196,168, 69, 75,153,200, 49,131, 68,  4,170,200,137,237,132,128, 48, 34,
-146,198,249, 89,210,  2,142,163, 68, 69,192,209,214, 50, 38,  4,128,  8,146, 24, 88,  1, 80,152,248,197,247,175,143, 23,143,255,
-244,207,255,148, 45,  3, 17, 51, 35, 83,223,118, 87,239, 46, 23,199, 39,119,183,247,125,187,250,193,231, 63,174,219,160,128,195,
-208,171,234,208,181, 22, 21,213, 15,221, 16, 66,239,187,214,218, 60, 10,109, 55, 75, 29,246, 89, 49,171,102,139, 34,135,216,174,
-217,152,221,126,183,220,108,174,238,151,170,250,139,159,254,211,199,103, 79,  7,223,214,187,205,102,121, 39, 34, 26,251,186,235,
-141,181,179,201,164,112,110,186, 56,143,100, 22,231,207,142,142,142,124,223, 65, 12, 93,179,223, 45, 47,118,203,155,143,127,252,
-207, 23,199,167,171,187,119, 26,134,253,234,166,143,210,246,253,102,125,179,223,111, 87,155, 77, 81, 86, 97,104,  2, 58,235,178,
-197,116, 22,251,102,241,232,147, 44,203, 49,246,211,163,147, 16, 36,170, 84,197, 12,  1, 44,103,217,100,182,123,184,152,206,143,
-129, 12,129,196, 40, 67,187,129, 56, 68, 25,124,215, 45,183,235,161,169, 21,197, 16,102, 89, 25,  1, 50,151,  5,112,109,219,238,
-214, 55,121, 86,181,190, 47,157, 45, 38, 71,119,247, 15,117,211, 40,186,188, 58, 46,203,201,236,248,188,154,158,  9,168,247, 61,
- 19,205,102,199, 97,216,185,172,232,219,218,  7, 49,108, 11, 87,245,125,167, 18,235,229, 69, 91,239,145,217,185,140,216,118,245,
-206,251, 96, 13,117,221,214,152,140, 80, 44,179, 72,172,251,190,221,109, 84, 37,207,171, 68, 61, 59, 62,121, 82,175,111,145,200,
-102,230, 97,185,105,218,126,126,242,172,109, 59, 78,122,  0,180, 26, 98, 91,175,186,250,110,187, 93,101, 89,254,225,135, 63,154,
- 85, 89,140,254,225,246,117,211,108,157, 53, 89, 94,197,126, 31,194,112,124,114,158,151, 69,215, 13,147,217, 98,  8, 97,185,126,
-120,184,125, 91,148,165,203, 51, 47, 60,132,216,  7,145, 56, 24, 67,121,145, 63,253,232,217,249,227, 39,168,113,249,112,245,250,
-237,235,151, 47,223,188,185,190,121,123,125,243,250,242,234,110,249,112,122,116,242,187, 63,253,234,139,207,190,140, 17,203,172,
- 60, 61,153, 59, 50,119, 23, 23, 47,191,123,241,246,221,181, 34,127,254,213, 15,215,117, 61, 95, 76, 77,158,221,220, 47, 87,203,
- 13,251,120, 84,102,165,203,210,238, 46,203,220,  1, 50,136, 68,192,168, 81,  4,223,135, 33, 18, 92, 22, 49,130, 18, 96, 84, 61,
-128,124,213,164,138,203,184,167,  2,140, 96,172, 51,198, 28,154,149,169,235, 65,201,192, 71,233,211, 71, 88,228,  5, 91,118,214,
-102,153,115,200,201, 91,103,136,152, 44,170, 26, 75,150,  9,  0,153,204,123, 47,133,104, 28, 13,219,204, 56, 90,244,200,164,172,
-164,  2,130,228,198, 33,113,194,183, 35, 49,211,104, 15, 70,  5,229,132,116,  5, 50, 22, 70,236, 45, 90, 54,140,232,131, 39,  0,
- 99, 44, 38,236,235,120,147, 29,233, 52,134, 13, 16,137, 72,221,117, 93,187,207,156, 99,230,204, 90,  0,140, 81, 12, 39,234, 34,
-190, 87, 83, 37, 48, 78, 27,124,221,118,103,243, 50, 47,138,180,137, 77,150,187, 40,178,239,250,205,190,222,215,251, 56, 12, 65,
- 35,255,187, 63,255,211,241,218, 56,166,  9,255,171,246,227, 72, 20,131,247, 40,104, 69, 96, 72,225, 63,144, 16, 14, 25,110, 76,
-160,  8, 56,172, 12, 85,208, 24, 83,215,245,100, 90,141, 10,240,196, 45, 75, 14, 57, 66, 64, 58, 12,150,113,188,203,167, 57, 22,
- 49,162, 27,127,126,  6, 68, 78,194,115, 28, 99, 56,233, 64, 23, 98, 66,228, 20, 65,132, 20, 95, 81, 85, 76,111, 67,105, 76, 13,
-136, 33,  6,161,180,154,228,241, 75,160, 10,136, 34,193,249,241,249,219,139,183,171,237,126, 81,149,200,100, 93,150, 59,247,230,
-205,197,221,122,253,187, 63,249,188,109,107, 69, 26,252,176, 56, 57,186,189,190,121,254,131, 47, 99,223,  8, 17, 36,100, 68,194,
- 92, 38, 43,  0,142,253,223,  4, 84, 96, 99, 83,117,130, 76,242, 64, 81, 28,151, 30,169,  3,  6, 73,141, 64,  7, 90,100, 74,181,
-211,104,161, 73,220,152,241, 57,154,222, 65, 40, 13, 30,199, 16,234,184,203, 24,171,124, 35,131, 51, 33,135, 70,112, 77,218, 81,
- 31,182,222,  8,  4, 68,166,222,117,191,243,123,191, 55, 89, 76,131, 15,204, 35, 28,170,217,181, 89, 81,174,238,239,111,111,239,
-209,111,206,206, 31, 63, 60, 44,251,253,154,  9,201,228,182,156,247,205,150,108, 53,180,141, 43, 23, 38, 43,135,253,109,223,134,
-188,156,160,223, 71,229,163,163, 83, 24,214, 32, 67, 20,169,235,250,254, 97,115,179,220,186,194,253,225, 31,252,183, 89,238,118,
-203,155,174,105,251,208,151, 25, 55, 77, 61,248, 88,101,206,102, 89,225,220,226,217,231, 89, 81,157,127,240,241,205,155,191,191,
-124,245, 93, 49, 63,190,191,126,125,242,209,143,207,159,252, 32, 52,155,245,195,178,105,246, 57,161,168, 70, 69,107, 76, 49, 61,
- 82, 68, 36, 27,  3,228,213, 60,207,167,190,217,108, 86,183, 15, 87, 47,242,106, 26, 68,251,174,111,246,251,190,219, 78,170,249,
-180,154,222, 93,252, 23,  0,217,238, 86,157,200,209,100, 54, 59,125,186,188,187, 88,223, 95, 14, 96,145, 96,115,127,189,107,187,
- 97,240, 81,168,235,118, 40,218,181,195,106,187,235,186,246,225,246,229,116, 50,  3,155,  1,178, 70, 49, 54, 91,175,111, 55,235,
-251,232, 91,131, 66,232,155,245, 77, 86, 30,229,153,105,235,173,205,171,140,194,180, 42,171,197,153, 10,100,174, 42, 38,243, 40,
-178,186,255,222, 15,131,115, 19, 69, 36,104,153,108, 89, 76,  9,218,135,235,215, 67, 80, 84,241,205, 54,115,166,243,177,221,175,
-212, 22,245,182,137,177,101,227,234,205, 77, 62, 89, 52,237, 54,170,134, 24,251,193,159, 61,250,168,217,173,139,201,209,253,245,
-139,213,102,229,178,242,233,135,159,116,251,245,253,253,187,205,230, 22,221,241,147, 39, 31,230,229,148, 68,135,126, 91, 55,219,
-  8,236,125, 91,229,213,252,209,179, 73, 53, 87,239,207,158,126, 24,129,138,172,152,205, 23,125,  0, 97,103, 93, 37,160,150,134,
-188, 60,106,187,122,182, 56, 58, 57, 63,126,246,236,163,199, 31,126, 92, 77,202,122,179,126,119,241,253,247,175,222,188,185,190,
-121,115,121,249,230,242,250,230,238, 33, 70,253,201,151,191,248, 23,191,247, 47, 28, 75,110,244,151, 95,125,254,195,231,143,219,
-245,246,213,119, 47, 94,127,255,250,122,185,153,205,170,127,242,207,127,246,245,155,139,111,191,125,117,118, 60,249,213,111, 94,
-172,110,151,199,101, 81,230, 89, 10,163, 59,147,201, 33,174,203,204,108,141, 15, 67,140, 99, 80, 46,117,188,  1, 65,  5, 36, 66,
-154,144, 91,226, 24, 34,  1, 58,107, 67,140,138, 96,137,162,168, 50,218,204,129,136,128,250, 24,172, 49, 10,154,186, 69,227, 46,
-139,216, 75, 44,217, 36, 82, 84,102, 50, 85, 53,136, 25,155,241,109,254,240,154,155,  4,152,152,  8,143,160, 33,  2, 18,100,196,
- 10,202, 72,170,234,172,  9,193,  7, 81,  4,204,152,153,115, 81, 32, 67,233, 80, 78,  3,109, 83, 24,  0, 12, 49, 50,106, 82, 82,
-  3, 74, 58,109, 19, 62, 61, 72,204,172,179, 89,  6,136, 42,145,153,135, 40,168, 33,165, 76,210,117,207, 56,142, 81,125,240, 17,
- 33, 55, 92,230,153,143, 35, 99, 39,168, 58,102, 99, 40, 42, 26, 70, 85, 32, 85,  5, 92, 53,221,204,217,201,180, 12, 49,186,204,
-132, 56,178, 15, 85,213, 71,108,246, 91, 31, 98,148,  8, 72,252, 87,127,254,167,  7, 68, 60,143,244,153,145, 14, 60,  6, 33, 49,
-165,191,117,204,164, 96,194,249, 80,218, 48,143, 39, 84, 34, 38,164, 71,115, 34,144,145,225,126,223,230,147, 10, 15, 39,141, 25,
-195,149, 64,108,136,  9,148, 49,  9,189,198,103, 58, 32, 25, 68, 98, 96,132,120,120,202, 29, 68, 80, 32,122,232,112, 18, 51,162,
- 69,144, 52,196,  7, 80,128,  0, 35,246,126, 84,161, 35, 25, 72,140,211, 49,156, 41,160, 49,221,241,  1,149,152, 92,158,205, 38,
-249,111,190,249, 94,149,170,162, 96, 99,138,162, 84,141,223,190,120,125,122,118,252,244,252,184,233,189, 97,242,195,176, 94,222,
-159, 62,122,210, 15,251,182,238,202,178, 34, 54,170, 17,198,237,121,210,193, 88, 78,194,166,131,210,230,112,177, 38, 29,211,158,
-116,128, 65,194, 40,242,195,131,107, 27,136,  8, 71, 76, 95,178,187, 38,151, 12,198,180, 75,103, 51, 18, 51,222,255, 43, 18,149,
- 82,229, 10, 17, 64,131, 31, 66,223,131, 10, 25, 51, 90, 68,198,117,117,250,147, 39,145, 48,155, 29, 29,157, 28, 69,145,195,151,
-100, 31,212,119, 67,223,245,109, 59,108,183,235,201,236,100,113,250,248, 97,249,  0, 50,100,249, 28,137,134,253, 10,136, 53,122,
- 59,153, 91,151, 73,191,182, 89,161, 18, 92, 89,109,182,251,114, 50, 49,121,134,195, 61, 34, 72,148, 93,221,220, 60,172,238, 54,
-235,170,112, 95,125,252,201,126,223,248, 24,246,219,165,116,173,250,118,185,221, 89,107,202, 44,155, 20,213,252,248,177, 43,203,
-217,226,241,252,120,190,186,191,158, 28,127, 80,228,217,246,225,134,144,135,122,181,190,254, 46,198,193, 50,237, 86, 55, 18,227,
-230,225,214, 58,151, 25,123,127,127,179,223,239, 98,191,173, 38, 39, 97, 24,188,175,149,221,244,232,131,174,151,253,102,211,119,
-117,189, 91, 91,227, 34, 64,219,172, 78,206,158, 14,  2,235,221,254,252,236,195,190,107, 86,203,235,229,195,109, 47,248,228,252,
-113,145, 79,235,118, 87, 84, 39,170,169, 88,238,163,170, 32,169,104, 93,111, 38,213,121,179,122,141,106,216, 24, 17,105,247, 91,
-166,124,126,242,216,216, 10, 81,179,172, 98, 87,214,155,229,166,174,187,253,125, 89, 20, 69, 94,216,188,  2, 50,251,205,114,232,
-118, 97,104,171,201,145,239, 58, 87,204,  8,177, 40,178, 97,123, 71, 38,219,238,119,147,233,162,109, 26,182,134,137,156, 43,134,
-208, 51,185, 65,176, 94,221, 12,190, 63,121,244,145, 12,237,110,191,114, 89,193,202,189, 31, 92, 54, 53, 89,185, 90, 61, 72,104,
-167,211, 69, 94,206, 78,206, 63,144,161,182, 89,217,183,203,109,189, 63, 61,255,228,236,236,233,126,191,181, 54, 43,171,106,104,
-183,138, 86,  8,202, 98,102,179,114, 49,155,123, 95, 43, 21, 67,183,235,219,166,154,206, 65,  6, 17,241,125,235,235,  7,180,147,
-106,122, 52, 57, 57, 45,139,252,228,100,250,225, 71, 31, 45,206,206, 32,134,219,171,139,239, 95,124,247,234,245,187,139,187,251,
- 87, 23,151, 23,215, 55, 77, 55,156,159, 61,254,215,127,244,199,159,127,244, 60,  2, 60, 61,157,253,254, 87,159,157,205,171,183,
-175, 95,125,253,155,255,114,125,125,223,133,240,201,103, 31,238,218,250, 63,255,227,247,125,221, 54,237,240,230,205, 37,133,112,
- 50, 41, 28, 17,168, 88, 68,203, 14,205,225, 69,214, 82,138,160,140,204, 40, 70,133,180,183,132, 40,170, 10,198, 88,  0, 13, 49,
- 13, 53, 81, 17,188,143,204,134,  9, 85,200, 48, 51, 64, 12, 33,142, 46,108,151,182,116, 74,144, 66, 30, 62, 68, 69,200,152,189,
-168, 49, 92,216, 76, 53, 58, 54,200,172,196, 65,  4, 37, 57,130, 88,  1,162, 68,107,205,104,186, 84,201,140,179,198,248, 16, 17,
-208, 16, 42, 81,136, 33, 72, 66, 54,242,216,225, 33, 36, 70,102,210,195,150,111,220, 19, 24,134,145,236,146, 98,142,105, 15,  7,
-  2, 80,102,185,205, 93, 94, 84,128, 22, 16, 36, 70,  6,100, 99,199,135, 27,179,177, 38,105, 35,152,168,112,206,101,101, 72, 78,
- 78, 54, 42,154, 91, 55,120,159,124,223, 18, 53,133,248,214, 93,144,232, 23, 85,158,248, 57,162,239,191, 25, 96,131, 81,177, 31,
-122,  4,224,148,156,255,235,191,252,183, 48, 66,192, 18,138, 65, 15, 71,234,120,118,170,106,140, 81, 52,140,249, 34, 64,136, 99,
- 70,  5, 14,233, 78, 60,248,130, 82, 47, 33,169,162,131, 31,216,100,206,216,180,234,102,164,131,176, 15, 65, 21, 36,226, 24, 97,
- 76,255,166,  2, 33,168, 36, 64, 29, 28,190,246,  8,149,  4, 56,132,229,211, 64, 71, 65,131,168,  0,202,  1,153,158,126,171,114,
-120, 41, 72,131,154,136,  2,233,112, 71, 72, 53, 49, 64,102, 85,145,224, 79,142, 78,114,166,111, 94,189,158,148,165,203, 50, 99,
- 76,158,231,251,221,238,242,250,238,171, 31,253,144, 20,163,234,208, 15,179,227,243,182,217,159,156,158, 53,187,157,201,114, 38,
-107, 83,183,246, 16, 20,125, 79, 25, 75, 98,190,164,141, 79,223,  4,211,248, 72, 76, 40,249,145,134,193, 60,190, 11, 37,134,251,
-200,204,193,145, 91,150,126,139,214,164, 27,191,190,103,248,188, 55, 57,209, 97, 72,  3, 16,250, 62,246,173,134,160,209, 35, 25,
- 54, 38,133,159, 96,188,227,143, 15,148,162, 58,178, 69,201,198,176,225,100,140,173,183, 77, 12,131,181, 38,203,236,229,235,239,
-103,179,249,226,244,108,185,220, 16,103,170, 34,190, 33, 54,160,193,119,141,155,156,128, 12,125,239, 53, 34, 50,213,219, 61,162,
- 56,134,161,109,202, 66,178,188,100,196,205,102,243,230,242,122,187,171,159, 60,254,240,231, 95,253,158, 40, 72, 28,186, 97,224,
- 24,119,155,101,219,  5, 16,157, 85, 89,158, 87,166,152, 77,230,199,199, 79,158, 79,166,199,235,213,  3, 57,135,104,194, 16, 46,
-223,126,123,114,122, 82, 76,142,234,237,122,119,119, 25,135,166, 42,103,117,219,116,125,215,238,238, 55,251,125, 86,206,250,118,
- 11, 26,178,162, 90, 28,159, 75,236,235,122,231,187,218,135,110,126,116,154, 87,199, 97,232,  0,141, 69,  1,140, 26,112, 58,153,
-150, 69,222, 12,190,217,109,192,100,236,166,177,190, 93,156, 60, 65, 91, 52,251,181, 69,201,108, 54,116, 77,215, 53, 16, 35,146,
-  9,125,167, 42,157, 15, 89, 54,  1,245, 72, 56,153, 31,  3,  6, 84, 30,154,181,130, 26, 54,108,172,250,193, 71,248,228,211, 47,
- 17,176,235, 58, 68,246, 93,227, 92,214,245,173,115, 25, 33,251, 24,172,201, 13, 82,232,183,213,244, 52, 43, 38, 15,203,107,231,
-242,217,226,108,187,186,217,172,215,196,204,198,169,120, 33,203,100, 38,139, 99, 12,221,118,191,158, 78,143,137,140,205, 75,203,
-108,160,167,172,106,246, 91, 37, 12, 62,174, 55,247, 97,104, 95,190,252,135,135,219,139,199, 79, 62,250,252,203,223, 25,250,166,
-235,187,106, 50,233,247,235,162,156,180,205,154,171,  5, 71, 79,164, 69, 81, 20, 60, 24,138,197,226,241,126,179,100,195, 39,103,
- 79, 84,251, 32, 28, 99,104,234, 77, 94,150,147,197,113,206,254,236,209,201,249,227, 15,141,165,229,213,187,183,175,191,255,238,
-197,183,175, 47,175,222,222, 92,191,186,188,186,186,187, 43,179,252,151, 95,253,211, 95,252,228, 39,243,217,145,133,250,159,124,
-241,244,203,143,206,187,186,249,246,235,175,191,125,241, 34, 42,126,242,197, 15,214, 77, 93, 84,101, 57,157, 92,221, 60, 60,220,
-222,231,140,199, 85,153, 49, 29, 90,143, 68, 72,100,216, 36,186, 10,130,  4,  1,196,164, 10,138,160, 73,228, 60, 58,162,210, 77,
- 77,100,  4,188,140, 66,202,247,231,195,216,239,  9,170,  2,106,198, 15,214,120,158,190, 23,235, 16, 17, 33, 43, 98,198,233,  4,
- 23,102, 70,226,168,128,168,140,144,156, 27, 99,141, 39, 25, 38, 84,152, 77, 18, 95, 70,137,105,208,170,105,247, 58,222,149,212,
-144, 49,196, 52,150,196, 33,140,142, 76, 74, 53,207,132, 27, 73,233, 13,102, 78, 37, 85, 17,136,170,150,  8,152,156, 43, 50,103,
-201,152, 97,240,233,106, 28, 37,240,225,205, 28,  1,173,115,198, 24, 66, 18, 68,203, 12,196,168,104,153,104,132, 24, 35, 18,129,
- 40, 32, 50, 99,237, 67,221,119,199,101,110, 76,218,100,164, 94, 46, 41,  0, 27, 84, 33, 67,168, 64, 33,120,199,108,152,249,175,
-254,226, 79,199, 80,185,142,237, 71,122,143,183,  5, 56,232,132,198,124, 17, 41,176, 65,100, 30,140,205,130,156,  0,  0, 32,  0,
- 73, 68, 65, 84,169, 91,122,200,202,143,128,  8,  2, 68, 54,227, 52, 95, 69,122, 31,167, 69, 38, 99,153,115, 44,201,210,129,212,
-131,230,125,  1, 85, 19, 32, 14, 36, 97,126, 14, 97,168,145,233,169,233,107,165,104, 57,168,130,160,136, 79,192,156, 20, 38,  7,
-  9,240,219,160,108, 50, 46, 50,140,169,126, 69, 76,240,160,  3,181, 18,  0, 81, 67,  8, 39,103,243,251,251,135,229,166,153, 79,
-166,108,172,181,156,187,236,155, 23,175,  0,233, 71, 63,124,222,116,157,181,110, 58,155, 94, 93,188,  2,180,170, 61,129, 49,185,
- 69,193,  0,202, 68, 34,  2, 64,196, 12,140, 32,169,113,108,  0, 85, 98, 24,105,198, 35, 26,159, 71,149,251,161,125, 52,150,  7,
-198,191,108, 26,191,201,180,109, 56,120, 10, 14, 30,  1, 60, 44, 20,128,153, 15,170, 62, 52,  8, 49,138,138,104,240, 49,  6, 98,
-195, 89,110,141,211,180,124, 57, 64,233,137, 16, 20,109, 86,186,204,  0,  8,168, 18,225,126,189, 75,127,227,229,164,106,235,250,
-230,118,125,114,254,216, 49,222,190,123,197, 54,247,125, 27, 99,  4,204,141, 97, 53,133, 97,146,110,131,156,  1,128, 53,212, 52,
-245,217,227,103, 81,201, 55, 43,199,  1,  1,135,182,189,186,127,184,190,189,223,181,245,143, 63,251,242,209,249,163,221,110,139,
-174,240,125, 19,187,102,187,221,228,121,110, 29,206,139,130, 92, 57,127,250,217,217,135, 31,151, 85,209,245,245,126,179,137, 10,
-177,223,  7, 69, 85,115,114,124,214,109,238,114,151,147, 14,165,203,135, 97,120, 88,221, 21,174,128,232,149,179,114,178,152, 45,
- 30, 25, 91,  0, 42, 35, 34, 80, 16,218,110,239, 93, 81, 89,223, 32, 64, 49, 61, 65,130, 42,207,200, 77,216,229,161,190,119,229,
- 68, 20, 30,238,223,176,155,176, 49,251,253,110,177, 56,137,210, 27,147,  5,145,174,175,125,240,174,152,135, 40,195, 16, 66,232,
-156,  5,118,153,113, 69, 86, 77, 12,130, 53, 78, 40, 35, 67,108,216, 16, 26, 82,102, 14,126,200,138,178, 44, 74,  0,174,155,186,
-219, 47,183,155,155,197,124,214,111,215,213,228,168,217, 45,157,171, 50,107,  1, 99,223,213,  2,209,217,172,107,118, 89,230, 10,
-147, 33,241,124,126, 26, 37, 56, 54,193,119,179,217,162, 44, 43, 25,134,174,111,144,204,110,117, 99, 45, 17,179,201,139,251,235,
- 55,139,179,143, 89,181,110,  6,  8, 91,138,253,197,245, 53,101,139,143,158,126, 32, 67,187,218,110,119,219,141,198, 33,  4,143,
- 26, 39,211,227,160, 24,  1, 89,177,152, 28,125,252,201,199,177,175,129,109, 57, 59,217,173,239,212,247,100, 41, 47,231,168,222,
-123, 63,157, 45,206,159,156,159,206,167,103,143,158,148,121,213,213,155,203, 55, 47,190,123,241,221,155,119,151,111,111,110, 94,
- 95, 94, 93,222,223,119,189,255,249,151, 63,253,229, 79,126,150,229,101,108, 30,126,250,217,179, 95,254,248, 83,163,253,219,151,
-223,125,253,205,247, 87, 55,247, 31, 62,127,246,147,223,253,217,139,183, 23,215,151,215,211,105,245, 31,127,245,155,102,179, 59,
- 46,139,210, 90, 38, 29, 57,169,136,  6, 17, 13, 27, 54, 72,140,132, 17,128,211,145,198,137, 43,160, 18, 53,170, 26,102, 32,  4,
-162, 81, 39, 65,168, 18,129,192,160, 21,209, 68,149, 73,246, 84, 80,176,134, 17, 48,168,138,136,177, 70,223, 39, 45,144,162, 10,
- 17, 51, 27,  4,240, 65, 85,128,205,216, 28,100, 67,168,208,197, 48,132, 65, 20, 45, 51, 17,143, 84, 21, 74, 38,  5, 80,145,195,
-141, 50, 93,108, 15,218, 59, 50,128,104, 12, 48,179,143, 34,170,198, 82,140,  0, 49, 29,184,163,142,129, 82, 74, 26, 81, 36,166,
-227, 17,  5, 18,141,128,137,125,  8, 26,  2,162, 14,209,163, 34,  1, 43,130,177, 12,135,161,115,  8,130,136,206,152,168, 82,228,
- 14,121,236,222, 31, 60, 70,202,204,134,168,238,195,195,174, 57,171,178,162, 40,198, 25, 63, 40,146,121, 79, 94,147,212, 54,  7,
-116,198,176, 53,134,152,255,250,207,254, 36, 61,210,244,  0, 40, 72,124, 72, 28,233,236,  7, 60, 61, 34,191, 63,118,145, 85, 83,
-142,227, 80,231, 25,151, 18,  9,146, 54, 62,148, 25,241,246,126,125,114, 52, 19, 72, 54,139,113,199,105,172, 19,141, 49,142,125,
- 37, 77,176,178,  3,122, 31,198,159, 42,189,139, 64, 66,152, 43, 42,162, 16, 51,  2,106, 20,  4,149,148,180, 73,136,124,137, 32,
-138,152,156,223,227,212, 25, 81, 65, 98,194,166, 19,190, 95, 32,143, 79,163,180, 84, 33,165,163,233,228, 63,255,227,119, 34,178,
-152, 77,153, 77, 85, 85, 26,252,175,126,243,205, 15, 63,254, 96, 94,149,189,168,111,219,160,212,238,214,189,215,233,116, 74,200,
-198,101,132,140,227,136,102,132, 22,179,181,108,140, 74, 84,145,177,255,  6, 35,121, 46,253, 13, 18, 39,221,205,120,120, 39,  1,
- 99, 26,118,165, 63, 48, 21, 32, 34,228, 68,167,123,255, 10,115,104,  6, 51,143, 69,  2, 26,  7, 97,233, 17, 34,132,108, 44, 91,
-135,  9,211,129,172,168,170,137, 33,193,100,140,196,232, 92, 78,177, 71,182, 72,236,123,175, 10,  9,182,227,202,106,245,112,119,
-119,187,122,244,228,204, 50, 46,239,239, 77, 86, 25,227, 68, 48,134, 14, 84, 99,148,188,156,228,213,113,219,236,136,193,251, 33,
-203, 43,137,186, 93,221,249,161,165,216, 70,223,175, 54,187,183, 87, 87,239,110, 30,186,161,255,252,139,159,158,158, 60,106,219,
-182,222,220, 74,223,119,205, 30, 33, 32,219,194, 48,219,202,204,142,159,127,254,101, 81,205,124,219, 12, 93, 31,  5, 12,162,134,
-182,107,187,249,116,210,239,111,247,235,229,195,242, 62, 12,173,136,236,154, 38, 51,152, 91,123,245,112, 31,145, 13,232,208,181,
-237,254,206,184, 28,217,236,118,187, 24,250,114,241,168,200,203,174,217,102,185,107,155, 54,  4,111,140,105,219, 58,134, 97,113,
-246,108,232,219, 48,116,153,171,200, 86, 16, 59, 54,  5, 89, 99,  9,187,253,138,109,110, 76, 62,180,219,208,109,217, 80, 89,205,
-115, 99,206,207,158,196,160, 64, 48,159,205,217,228, 67,183, 85,241, 10,104,141, 35,182,251,205,141,113,229,252,236, 67,107,237,
-126,117, 95,215,117,179,186,100,228,199, 79, 63,210,208, 39, 90,  0,146,233,125, 55,244, 13,178, 85, 85,  9,  3,155, 92,193,244,
-131,239,187, 46,170,180,109,227,251, 14,  0,189,247, 54,207,103,211,163,229,242,214,216, 44,138, 26,162,217,217,  7,  8, 74,156,
-117,237, 94, 12, 33,114,179,223,182,245,189,216,242,201,179, 47,116,127,157, 85,243, 94,248,234,221,139,160, 70, 37, 26, 12,147,
-163,199, 81, 67,179, 93, 50,229, 26,186,118,183,100,107,140,181, 38, 63,126,184,122,187,222,172, 29,163, 45, 22,251,237,198,183,
-235,211,211,163, 39, 31, 60, 62, 59, 59,153,206,231, 49,248,229,221,197,235,239,191,253,205, 55, 47, 94, 95,221,188,189,186,190,
-184,186,121, 88,175,143,166,199,191,255,139,223,249,131,127,246, 47,231, 71,231, 39,211,242, 15,126,241,195, 79,159, 63,189,121,
-247,246,191,252,253,111,222, 92,220, 24,151, 45,142, 23,219,102,255,235,111, 95,132,190,127,119,125,127,117,113,147, 35,206, 75,
-151,204,215,105, 37,133,  9,160,193,108,141, 33, 34, 69, 80, 21,131,135, 63,103, 78,200,188,131,204,136, 15,155, 41, 66,209, 49,
-162, 65,132,162, 98, 13, 39, 38,159, 87,  1,145, 44,203,198, 20, 10,147, 49,108,144,130, 70, 68, 98,235, 64,213, 25, 78, 87,114,
- 34, 50,140,136,152, 20,107,  9, 36, 34,170, 26, 65,  8, 28,219,  4,246,114,140,170, 32, 34,170,146, 54,130,138,191,181, 15,165,
- 60,136,  2,  2, 74,102,140,168,198,152, 68, 86, 16, 69,140, 97, 54,  9, 39,  5, 99,254,132, 65,229,192,184,196,196, 32, 36,  0,
-  8, 26, 83,176, 48,132, 16, 37, 90,102, 34, 74,224, 66,  4, 48,236,128, 14,  0,250, 36,221,182, 28,163,104, 12,104, 76,210, 95,
- 35,162, 99, 71,  8,187,118,120,216,213,167,147,108, 49,153,  4,197, 16,252,248,104,132,241, 88, 30,115,212, 10,  4,192,100,202,
-188, 96, 50,233, 25,152,104,238, 99,240, 46,141,218, 15, 30, 60, 76,131, 19, 34,  4, 34,149, 36, 11, 26,  3, 55,108, 80, 66, 74,
-120,164,158, 17,230,152, 16,143,138,192, 54, 51, 32,105, 65, 33, 42,112,  8,122, 67,240, 62, 73,207,211, 46, 52,129,  6,112, 44,
-252,104,144, 48,134,216,129,147, 23, 73, 14,224, 69,149,152, 64,196,128, 72, 18, 84, 68, 81,210,232,159, 70, 55, 87, 74,183, 38,
-178, 40, 65,210,217,137,188,159,112,164, 93,238,168,200, 38, 66,164,179,199,143,127,254,163, 79,254,211,223,127,183,152, 84,167,
-143,206,163,234,243, 15, 63,186,186,189,255,223,254,253,255,245,191,254,213,159, 81,244,192,230,147,207,126,180,223, 92,122, 79,
-153,163, 97,232,141,205,152,232,189, 17,117, 12,  1,197, 32,122,208,124,131,  0,140,250,174, 20, 90, 71,228,  3,230,147, 84, 66,
-194,206,128,200,184,139,161, 67, 92,104,156,215, 36, 65,251,200,197, 31,223, 99, 12,114,178,245, 29,244, 99,170,168, 24, 51, 91,
- 64,130,200, 51, 19, 25,133,120,  0,201,167, 82, 85, 84, 69,227,242,244, 46, 17, 36,118,109,207,  4,168,194,198,198,193,  7, 47,
- 24,  7,151,101, 46, 47, 92,158,139,130, 53,232,141,  1, 45,178,162,232,214, 75,128,208,172,151,209,215,110,114,164,128,121, 89,
-190,250,250,111,103,139, 39,219,118, 37, 28,163,226,174,174,239, 87,219,102,232, 20, 96,102, 20,128,188,239,131,104, 12, 26,186,
- 38, 70,177, 86, 17, 89,200,124,248,241,167,179,197,105,211,250,213,187,127,  4, 59,141,209, 71,129, 56,116,251, 93,237, 50,123,
-119,115,223,214, 75, 11,116, 52, 43,  1, 34,104,118,115,183, 69, 37,239,133,180,111,129,103,243,  9,241, 84, 67,183, 31,122, 87,
- 30,147,  6, 63,172,187,129, 63,248,228,167,243, 42,219,213,221,190,107,187,166,  6, 68,231, 92,229, 92,232, 80, 84,123,239, 93,
-225,216, 98, 93,223, 91, 58,203, 51,183,215, 91, 18,175, 42,121,181,232,155,189,115, 69,110, 76,235,227,106,243,208,246,193, 50,
- 69,223, 15,126,232,155,109,  8,195,244,248,105, 94, 84, 97, 24,178,124,166, 49,114,108,189,  2,160,160,168,115,213,116, 50, 93,
- 44,206,111,175, 46,242,233,153,111,235,162,154,132, 62,250, 24,187,182,182,206,213,187,123, 54,153,130,134,190,107,135,166, 92,
-156, 26, 19,125,143,189, 31,202,114,222, 55,187,203,253, 62,159, 76, 75,231,238,239,239,170,106,230,200, 70, 98, 54,230,232,209,
-243, 16,245,229,197,119,193,199, 15,158,126, 58,173,114,203, 84, 45,206,141,157, 10,244,121, 49, 99, 91, 41, 12,182,152, 70,  0,
- 67, 46,198,104,  8, 56, 47,125,191, 79, 55,159,235,203,151, 49,  6, 87, 76, 57,183, 76,236,202,108, 49, 63, 89, 44, 38,211,217,
- 84,  4,118,155,245,245,219,151,223,190,248,246,221,213,205,229,221,221,221,242, 97,181,221, 89,182,191,255, 59,191,255,211, 47,
-127, 62,248,190,105, 54, 95, 60, 93, 60, 61,121, 50,248,230, 31,126,245,171,215,175,223, 70,196,103, 63,248,240,254, 97,133,185,
-121,242,232,252,213,223,252,250,106,179,157,217,172,154, 26,163, 35,169,157, 80,251,144,168,176,224,140, 65, 50, 81, 67,210, 79,
-130,170,143,162, 72, 76,202,196, 49,  2, 17, 43,104,140,162,  2, 76, 38,125, 74,137, 40,170,128, 38, 50,187,  1,210, 24,162, 15,
-193,176,  1, 50,221, 48, 88, 99,152, 76,114,225,197,228, 48, 82, 68,145,204,177,247, 10, 42,214, 25, 85,209,  8,200,148, 27,  4,
-165,160, 81, 65,211,231, 35,135, 12,144, 80,132,  0,162, 74, 58,204,144, 40,136,210, 33,135,173, 72,162, 18, 21, 24,213, 24,  2,
-114, 62, 65,105, 65, 18, 14,209, 57, 78,222, 57, 80, 48, 72, 74,128,162, 49,106,202,227, 39,250,187,181, 20,135, 24, 35, 90,103,
- 53,106,219, 15,134,146,105, 89,  1,209, 56,198, 17, 25, 21, 41,209, 95,  9,211, 21, 48, 70, 73,198, 25, 82, 72, 10, 64, 34, 20,
- 17,239,195,126,232,115, 75,179, 34,247,  2,162,146,101,142, 13, 15,  9,105,  9,160,239,121,244, 18, 77,122,209, 79, 27,221,191,
-254,183,255, 22, 70,144,239, 72,254, 74,239, 42,  4,105,162, 64,163,  5,232,160, 64, 65, 98, 96, 64,136,137, 91,175,  7,233,118,
-162,236,195,251,  4, 14, 40,147, 81,223, 54,145,143,170, 66, 20, 12,189, 87,159,143,247,103,192, 36,168, 82, 34, 98,155,134, 53,
-239,215,168,114,128,100,165,127,108,212, 37,225,  1,193,  9, 32,  8, 17,  4,226,248, 86,  1,163,209, 85, 64,  0, 65, 35, 32, 18,
- 42,165,121, 79, 10,134, 38, 71,176,198,241, 17, 69,132,  4,162,250,228,244,244,205,155, 55,171, 93,125,114,114,194, 68, 81,244,
-120, 49,251,246,219,239, 93,150,253,224,217,121,106, 12, 22,213,244,245,247,191,185, 95,174,171,106, 66,204,198, 26, 50, 22,245,
-160,242,  2, 21, 77, 25,199,148,236,228,145,132, 57,190,142, 16,  2, 16, 50,160,164, 96,254, 56, 84, 18, 57, 68,188, 14,255,143,
-198, 39, 96,122,133, 18,162,100,246, 30,177, 67, 18, 71,193, 35, 30,188,183, 42, 17, 20,137,152, 51, 67,236, 84,131,170, 16,165,
-  2, 29, 17, 16, 16,106,192, 98, 50, 97,151, 49, 82,  8,106,  8,251,190,115,153, 35, 54,153,163,229,195,170,238,195,217,241, 25,
-163,191,187, 91,123, 47,161,223, 71, 31, 20,130, 53,206,100, 57, 34,249, 40, 68,232,123,111,157,241,253, 32,194,204,102,168,151,
-185,  1, 85,184, 95, 47, 47,174,110,234,174, 47, 93,254,203,159,253,226,126,187,241,253, 64, 68,210,237, 99,191,247,162,147,204,
- 69,165,199, 31,125,252,193,231, 95, 69,209,216, 55, 69, 53,151,232,219,253,182,204, 74,244, 77,240, 97,191,126,216,110, 87,147,
- 34,159, 58, 83,247,109,215, 14,235,186, 93,239,119, 65,194,174,109, 38, 85,229,178,172,111,247,243,227, 39, 49, 74,219, 54,140,
-154,226,163,207,158, 60,211, 97, 83,150, 71, 16,187, 24,194,110,191,149,208,151,147,227,190,223,152, 98,106,108,150, 87,211,161,
-221,103,249,220,100, 51, 38,106,238,223,102,211, 57, 25, 71,214, 74,240,200, 25,160,194,176,204,242,162,238,  2,145, 35, 66,100,
-102, 66, 85, 36,227,156,113,190,223, 24,107, 69, 52,244,245,233,241,233,116, 50,147, 97, 48,150, 93,158,177, 49, 55,111,191, 25,
-134,182,235,218,193, 15,109,189,202, 11,151,229,133,181, 22,  1, 16,172, 42,250,190,115, 89,225,125,147, 27,103, 93,161,234,243,
- 98,218, 13,181,  2, 75,236, 69,  2,  8,122,239,217, 98, 91,215,  2,220,110, 46,239, 87, 15,239, 46, 95,158,158, 60,121,254,209,
- 15,202,233,169,239,106, 36,147,151,149, 82,182,190,125,201,  8,179,147,167, 67,187,170,166, 83, 13,190, 93,221,230,229, 76, 68,
- 33,  6,206,220,100, 50,157, 31,159,173,214,173, 42, 28,159,156,103, 89,177,152, 87,167, 39,213,108, 62,173,166,211,110, 24, 86,
-119, 87, 47,191,251,205,175,127,253,235,239, 47, 47, 47,111,111, 47,174,175,183,245,254,211,231,159,253,247,127,242,151,159,124,
-248,169, 31,186,227,138,127,239,139, 15, 22, 37, 93,190,125,243,221,215,223,189,189,190, 61,127,114,250,233,151,159, 44,235,253,
-122,185, 41, 74,247, 31,254,230,239,135,125,125, 94, 77,203, 60, 79,106, 64,227, 18,145,  9,149,209,178,117,134,141, 49,173,239,
- 15, 59, 60,  5,196, 16,211, 50, 27,147,201,250,240,218,138,137,208, 21,162,152, 36, 48,196,  4, 43, 81,213, 24,130, 34,162, 99,
- 22,213, 40, 33, 81,216,211,  0, 54,104, 58,112,152,  8,148, 49,248,177,173,157, 94,225,  9,136, 13,137,128, 15, 33,196,192,137,
-213,113,120, 75,  0,144,180,220,146,148,  7, 60,132,208,144, 80,144, 82, 50,129, 16,153,145,157, 53, 72,132, 24,162, 70,149,164,
- 22, 73, 41,  6,195,148,240, 33,137,142,251,126,143,120,200,179, 41, 51, 91,195, 33,  6, 85,180,214, 36,195,225,168,230, 99, 82,
-129, 16, 35,155, 20,185, 65, 51,142, 49,210, 96,136,  9,148,201, 70, 85, 67,148,182,193,203,182,139,189, 63,155,148,  2, 86, 33,
- 18,113, 58, 18, 13,145,136,166,129,  1, 35,105,146, 65, 19, 50, 27,195,198,107, 52,154,214, 33,163, 91, 68,248,183,134, 33,100,
-128,209, 32, 13, 32, 18, 15,218,232,228,  9, 98, 72,220,171, 49,227, 50,178, 30, 85, 35, 37,223,180,168,  2,158, 30,205, 94,220,
-236,240,124,174, 49,142, 10,246,  3, 69, 82, 71,213,201, 88,203,140,222,115,122, 83, 24, 23, 32,244,222, 93,164,135,147, 93,100,
- 68,  1,129, 14,  4,170, 64,  2,145,233,144,227,161, 20, 94,209,148,136, 84, 28,161,  5,100, 57,189,118,232,152, 13,226,131, 53,
- 67,  1,  9, 84, 76,102,255,232,159,253,252,255,248, 63,255,223,119,151,151, 63,248,244, 99, 80, 87,228,103, 63,254,252,211,255,
-240,159,254,243,143, 62,123, 86,100,102,215,108, 77,150,157, 61,122,  4,144, 47, 22,147,213,114,195,236, 44,233,104,153, 79,246,
-117, 60, 28,207,248,219,217,153, 15,129,217, 28,236,144, 49, 17, 31, 84,129, 17,226,200, 83, 56, 60,177,  0, 18, 83,126,252,157,
-140,112,130,164, 45, 76,205, 92,129,247,188,  8, 29,173,179, 56, 66, 45,  0,148, 36, 14,170, 64,204, 35,186,255,224,131, 76, 26,
-112,  0,137, 33,250,174, 35, 66,114,153,177,108,243, 76, 85,155,221,  6,165,243, 58,204,170,133,134,174,223,173,179,201, 49,160,
- 49, 16,251,110,227,138,169, 10, 16,104, 64,140, 40,209, 55, 93,167,121, 89, 40,178, 97, 32,199, 49,202,224,227,224,189,134,240,
-244,147,207, 49,159,247,219,203,233,116,209,109,238, 66, 95, 71,  4,198, 56,  4,153,157,126,112,246,236,147,174,217, 18, 87, 26,
-187,245,253,205, 16,134, 24,194,126,123,247,112,115, 81, 84,167,113,168,213, 55,  3, 14,131,232,122,189, 33, 50,203,237, 14, 24,
-251,125, 93,239,182,134,205,220,229, 81, 36,  6,239,138, 73,169, 88,111, 87, 82, 20,229,244,232,104,177,104,107,192,188,148,122,
-217,180, 77,140,234, 12,134,216,247, 67, 40,226,206, 32, 69,208,204,101,210,109, 61,185,216, 14, 68,198,215, 91, 71, 70,144, 67,
-191, 87, 42,242,172, 44,167,147,253,110,141, 49,  8,196, 40,193, 88,174,102, 19, 21,180, 54,151,232,157, 45, 39,121,222,113,182,
-139,241,254,225,190,200, 55, 77,211, 84,147,217,208,118,141, 42, 81, 86, 77,103,113,183,243,190, 39, 37, 17,106,247,219,180, 22,
- 26,186,118,232,  7,231,178,190,173,153,173, 53,166,233,154, 24,176,116,184,233,219,162, 90,128, 39, 25,122, 59, 61,153,103,185,
- 53,102,121,119, 57,132,110, 24, 90, 59, 61,125,156,229,179,220,173,239, 46,170, 35,216,109,239,171,217, 41, 15,144,217,118,113,
-242,200, 58, 27,200,204, 22,143,250,118,155,103,133,177,206, 26, 82, 31,119,235,119,229,100, 78, 54,103, 99, 44,199,117,221, 62,
- 49,225,228,248,168,154,149,101, 81, 68,  9,203,187,219,205,253,237,155,215,223,191,188,120,247,238,246,246,226,250,102, 87,215,
-139,217,226, 15,127,247,143,254,201,207,127,135, 98,219,215,235,175, 62,125,244,244,180,218,173, 55, 95,127,251,221,237,253,106,
-190,152,156,156,157,244, 49,254,237,175,191,206,173,123,245,246,234,226,205,117,153,217,233,209, 49,234,  8,115, 53,142,210,199,
- 46, 32,103, 99,217, 26,124,  8,214,176, 68, 13, 26, 25, 57,213,240,144, 24, 84, 65,116,  8, 65,130, 26,147, 92,170,130, 68,150,
- 77,170,253,228,153,233,135, 16, 35,160,162, 37,  4,196, 33, 70,  4,101, 99, 52,136,162, 48,154,116,174,165, 74,121,240,209, 90,
-195, 25, 74, 28,213, 15,  6, 72, 65,130,136, 70, 33, 34,209,113,180, 78,204, 16,  5,  8,162,160,140,222, 15,140, 41, 19, 50, 14,
-138,  1, 68,152,  9,  1,125, 76, 67,  4,245, 18, 19, 46,139,129,211, 60, 56,109,139,  1, 48,170, 32, 37, 15, 19,  6, 21, 28,171,
-149,160,160,101,150,  9,104,244,193, 57,151,216,130,160, 74,204, 72, 42,  1, 84,212,176, 37,195, 32,193, 50,167, 15,171, 33,  4,
- 67,226,189, 97,  6, 96,107, 88,  6,141, 81,216,224,190,237,135,182, 61,158,149,232, 28,  8, 36, 79,  8,  3, 42, 81,148,212, 70,
-210,224, 21, 29, 89,230, 36,125, 72, 55, 68, 82,224,255,241, 47,255, 28,198,246, 15,209, 72,114, 72,135,225,248,118,112,184, 95,
-114,154,213, 28,230,216,240, 94,179,148, 46,245, 35, 98, 75, 14,216, 96,  0,  0, 45,178,252,237,197,197,124,113,108, 71,119, 35,
-140, 98,189, 68,187, 25,239,250,138, 68,108, 80,198, 23,134,180, 34, 68, 72,251,130,195, 47, 46, 61, 54, 71, 33,121,242, 28, 43,
- 40,210, 97,210, 50, 46,145, 83, 39,120,124, 63, 24, 23,140,240, 62,248,163,128, 60,146, 20, 32,205,254, 80,  1, 98,152,206,102,
-187,237,246,226,234,174,176,217,236,120, 62,244, 67,158,101,203,229,102,179,111,127,254,197,243,174,247, 18,195,221,205,125, 63,
- 12,243,227,147,253,102,229, 76,230,178, 12,229,208, 56, 26,179,139,233, 27, 76, 96,  5,  0, 68, 54,227,251,208,216,196,  2, 69,
- 66,145, 56,254,232,108, 21,  5, 98, 68, 38,  0, 26,141,224, 99,  6,149, 15,165, 93,132, 67, 45, 56,101,204,210, 43,146,140,104,
-186,164,136, 81,149,244,227,152,113,194,150,  2, 52,156, 50, 88, 69, 81,205,144,176,109,  7,  4, 84,241, 69,206, 10,132,192,113,
-104,110,175,239, 59, 15,179,105,229, 50,115,121,249, 16,252,128, 10,214,229,169, 76,128, 49,248,174,141, 68,126,191,201,138,194,
-247, 33, 70, 65,191,  5, 38, 19,183, 73, 26,247,230,250,246,118,185,236,188,255,225,199, 63, 48,161,117,197, 52, 52,123,223,212,
-237,230,174,245,126, 86, 76,148,233,195, 31,126,117,116,254,164,221,109,156,115,211,147, 15,218,166,235,183,203,122,125,101,109,
- 97,140,205, 51, 75,204, 57,103, 93, 83,199, 40,189,232,126,187, 14,  8,165,205, 55,187,141,117, 89,149, 59,103,204,209, 98, 33,
-170,205,126,215,117, 53,187,114,113,124,222,214, 59,136,189,203,202,205,190,185,189,121, 27, 49,223,239,215,211,249,137, 14,141,
- 97, 39, 50,  0, 66,136,218,251, 16,154,135,227,179, 15,252, 48,212,155,155,124,114, 76, 68,174,156,151,147, 89,150, 57,  6,109,
-247, 75, 31,116,240,123, 66, 86,136, 32, 93,140, 42,126,200,178,124,232,107, 54,121, 20,159, 57,  6,141,253,224,219,118, 48,164,
- 49,120,227, 50,118,  5,136,206,103, 11, 16, 25,134,182, 40,167,189, 31, 92, 86,177,117, 49,232,234,225, 74,128, 77, 58,128,217,
-130,192, 48,244,192, 72,  4,126,232,145,108, 68, 41,242, 28, 20,230,211,227,135,229,187,235,213,114,191,219,158,159, 63, 59, 57,
- 58, 33,114,229,226,220, 90, 87, 78,143,  1, 89, 21, 66, 24,182,235, 27,147, 79,201,228,205,126,103, 25,243,124, 14,138,157,239,
- 21,140, 53,  1,144, 57,203, 39,213,220, 21,185,244,155,103,207, 30, 61,122,244,104,113,188, 96, 99,187,118,255,112,253,238,205,
-203, 23, 95,127,251,205,139,139,183,151,119,119, 23,183, 55,117,221, 60,123,242,193,159,253,235, 63,126,246,193, 15,183,171,219,
-179,137,251,242,249,105,105,244,205,171,151,255,240, 15, 95,  7,137,121,145,  7, 17, 83,229,222, 15,223,125,255,182,221,181, 19,
- 99,143, 38,149, 25, 95, 82, 37,141, 83, 84, 49,202, 40,181,176,198, 72, 82,175,165,216, 71, 34, 34, 26,131,138, 68,104, 82, 14,
-122, 60,107,240, 32, 60, 98,132,145,237, 46, 81,130,138,170,102,142,129, 72, 36, 42,162,177,196,201, 71,151,252,113, 34,134,153,
- 57, 53,158,128, 13,161,  1,245,202, 68,134,199,117,215,193, 21,145, 14,113,176,204,169, 17, 58,  4, 25, 41, 44,100,  0,  1,153,
-249, 16, 40, 78,183, 68, 99,  9, 20, 99,148,116,169,125,223, 47, 97,194,168,224, 12, 89,231, 44,178,138, 40,104,110,242,132, 42,
- 87, 21,139,148, 14, 54,195,134,  0,  6, 31,  8, 34,115, 90,154, 41, 34,165, 72,184,247, 66, 76, 76, 22,  9, 13,  2,145, 17, 85,
- 38, 50,214,166, 11, 29,145,161,228,  3, 81,  1, 68, 99,168,247,113,189,223,207,138,188,204,179,116,202,216,145,150, 67,160, 74,
- 68, 34,170,  0,134,137,153, 12, 51, 18,138,130, 15,145, 64,211,224, 46,249,197,137, 71, 34,138,144,234,225,196, 79,194,114, 80,
- 64,213,247,235,208,247, 97,111, 76,250, 91, 34,162,164,170,  5,  2,  6, 84, 57,136,161, 33,  0, 31, 79,243,135,237,238,233,241,
- 76, 36, 61, 53, 15,133,132, 52,120, 79,187, 79, 73, 88, 48,147, 86,185,  4, 36, 33, 40,104,210,154,166,245, 35, 17, 18, 74,  2,
-175,140, 96, 25,213, 67,202, 38, 69, 19,211,166, 29, 15,227,123, 81, 33,  1, 73, 55,221,116,157, 39,192,241,176, 37,  4, 74,195,
- 18, 85, 38, 85,252,157,159,126,249,221,219,235,235,187,187,106, 50, 45,171, 50,138,255,224,233,163,191,251,205,119, 95,125,249,
-241,249,201,162,238,194,143,126,246,187, 18,154,237,174, 57,127,250,120,189,218,184,224,152, 24,209, 40,  0, 59,171,209,171, 74,
- 12, 66, 72,232,140, 98, 36, 66, 85,209,212, 85, 96, 74, 15, 42,  9, 33,253, 94,147, 24,132,144,213,164, 55,216, 20,110, 61,108,
- 17, 84, 16, 57,  1, 66,117, 92,152, 34, 18,146, 49, 26, 98,140,131,113, 46, 97,232, 53, 36, 98,157,112,234,138,164,121, 86, 20,
- 53, 12,  0,209,  7,155, 51, 18,182, 93, 15, 10, 93, 83, 91,146, 96, 45,145, 74,240, 38, 43,216, 24,132,  8, 81,216, 88,155,229,
-138, 71, 72,168,210,183,251,218,106, 12, 54, 23,229,216,181,192, 70,163,247, 30,173,225,108,250, 40,160,217,175, 95, 89,235,186,
-190,105,154,150, 16, 13, 91, 34,107,166,143,172,205,219,193, 83, 24,  6, 31, 93, 86,177, 45,167, 71,243,249,233, 73, 93,111,189,
-224,244,228, 81,232,118,190, 93, 85,199,103, 93,179,111,235,218, 57,179,219,174,135,190, 71,241, 64, 90,239,219,213,234,206,139,
-150,197,116,181, 89, 55, 67,180, 20,247, 97,112, 54,107,183,155, 72,182, 29,250,188,156, 13,195, 16,154, 77,244,158,220,196,149,
-139,219,235, 43, 99, 43,132,161,116,150,137, 64,216, 15, 77, 84,200,184, 10,245, 67,181, 56,245, 68,235,235,111,178,242,180,156,
-159,179,177, 24,  3, 16, 33, 90,109,247,198, 96,181,120,204, 77,141,  4, 67,219, 24, 91, 33,120, 37,107, 12,239,150,151,197,244,
- 88, 67, 19,177,220,174,111,227,224,201,230, 72, 56,116,129,136,173, 41,253,176,235,155,189,198, 61,178,149, 32, 49, 14,251,237,
- 93,107,171,204, 56,237,215, 89, 62, 55,140,126,232, 32,202,224, 99, 28,106, 96,107,139,249,224,  7,  2,200, 51,215,180, 97, 49,
- 59,219,238, 30,190,125,243,155,166, 94,255,240,195, 47,  5,141,203,136,136,251,254, 30, 86,146,231, 19,233,119,214,132,193,235,
-126,243, 48, 61,127,158,229,147,118,191, 70,197,  0,188, 95,223,100, 46,115,197,116, 49, 59, 10, 67, 71,166,244, 33, 88,226,217,
-164,154,125,250,233,164,170,178, 44,239,218,166,174,119,155,251,155,111,190,251,250,197,235,139,205,126,191,218,108, 55,155, 13,
- 91,243, 63,255,119,255,203, 23, 95,252,164,174,235,216,110,126,254,233,209,147,211,249,237,213,205,203, 87, 47,183,155,221,179,
-143, 62,172,206,166,255,223,223,254,227,179, 71,199,157, 14,191,250,135,239,102,228,206,171,210,199,168,136,108,156,196,161,105,
-251, 62, 52,185,181, 69,150,231,121, 22, 99, 80,  5, 31, 67,140, 98, 83,237, 61, 13, 16,172,  9, 94,200,176, 65,235,131, 71,  5,
-203, 28, 48, 38,173,  3,  1, 41, 64,225, 44,170,168,136,199, 36,  2,228,193,135,145,170,164, 98,192,120,  1,  4,148, 24,172,179,
-133,115, 94, 49,  9,155,148, 48, 70,193,136,206, 25, 81, 53,160, 33,137,136,  1, 13,211,144,182,112,138, 62, 13, 69, 69,217, 80,
-242,119,166, 68, 37,160, 26, 99, 67, 12, 17,129, 64, 83,132,  7,  8,208, 25,136, 10, 34, 41, 15,168, 24, 81,217,177, 97,107, 37,
-134, 94,133,  9, 24, 77,140, 67,  4,116,105,  9, 11,138,136,142, 40, 34,134,168,133,203,  0, 16, 33, 42,129,  4,176, 76, 94,162,
-  2, 86, 69,209,  6,  1,137,214,218,160,136,160,  6, 13,128,104,140, 41,175, 14, 18, 33,105,224, 84, 17, 68, 98,188, 94,110, 10,
-198,163, 73,217, 69,113,136,145,176,139,222, 32, 27, 70,  0, 26, 68,144, 17, 99,  4, 38, 80, 13, 33,  2,128, 65,238,209, 19, 40,
-  1,241,255,244,151,127,  1,  8,140,128,230,183, 17,125, 28, 35, 26,233, 65,136,227, 61, 55,161,  5, 36,140, 36,152,195, 26, 22,
- 71,132,103,194, 36,143,113,245, 52, 71,  8,128, 83, 19,239,183,237, 98, 62, 17, 25,239,246,233, 68, 38, 32,125, 95,184, 79, 35,
-133, 68,200, 26,139, 84,  4,128, 26,  3,154,131, 24,100,108,185,141,  5, 78, 64, 74, 13,177,177, 16,251,219,164,230, 40, 34, 77,
-122,215,177,120,139,  4, 74, 32,137,131,147, 30,103,227,216, 28,145,  1, 40, 70,157, 76,114,  6,255,143, 47, 47,115,103,102, 71,
-115, 98,202,141, 27,250,254, 55, 47, 47,126,254,229, 39, 65, 98,223,247,183, 87, 23,203,229, 50,200, 48,244, 67,238,242,  4,205,
- 52,198,106,148, 68,101, 24, 31,129,162,105, 89, 35, 49, 34, 36,249,150, 66,122, 77, 27,215,195,172,154,222, 71, 18, 69, 72, 37,
- 10, 26, 67,104,210, 28, 38, 77,114,144, 65,163,140, 58, 66,194, 84,171, 83, 20, 64,  2, 77,141, 92,  0, 76,116,103, 68,250,109,
-238,120,108, 35, 43,  0, 66, 86,206, 13, 99,219,180, 89,158,245,117,107, 51,139, 54, 67,  4, 21,181,214, 61,220,222,183,245,230,
-248,241,179,217,124,122,241,234,123,224, 76,162,236,151,247, 46,171,140,203, 35, 88,100, 43,161,103,195,125, 63, 40,160,205, 28,
-160, 27, 86,239,218,122, 89,230,249,114,179,189,184,185,109,187,222, 11,252,226,167,255,204,162,248,118, 75,177,237,219,253,166,
-237,166,211, 41,101,238,217,243, 47, 92, 81,121, 49, 89, 81,146,134,187,139,151,104,109,189,188,204,108, 85, 86,149,250,222,135,
-136, 34,221,246,190,233,122, 65, 18,223,163, 49, 79, 79,159,108,235,205, 32, 65, 99,200, 51, 87, 85,147, 40,113, 24, 90,227,114,
-137, 66,168,  2,216,117,155,211,179,199,190,111, 86,235,109, 93,239, 67,243,144,229, 37, 32,119,109, 45,136,117,219, 53,237,158,
-  8, 28, 27,114, 57, 82, 33,200, 33,198, 97,232, 93, 53, 37, 54,245,110, 37,202,206,112,  8, 61, 72,168,155, 70,136, 65,209,162,
-175, 38, 39,206,102,108,115, 36, 38, 67,136,216,118,221,118,183,149, 48,236,214,247,  0,120,180, 56,206,156,169,155,214,230,229,
-126,191,239,187,225,104, 49, 45,242,  2,208,129,239, 76, 54,  9,253,110,114,116,228,152, 98,240, 89, 86, 13, 62,206,166,179,147,
-163,121, 81, 76, 53,134,172,156, 16, 72,235,251,182,239,110,151,183,147,242,168, 98,146, 24,  0,105, 54, 61, 98,150,182,235,216,
- 22,229,252, 12,181,179, 46,207,202,197,126,189, 42,170,105,244,221,208, 55, 89,158,  7, 17, 81,244,221,190, 40,114,212, 33,250,
- 22,144,143,142, 22,143, 31, 31, 85, 85, 54,153, 76, 84,180,222,109,238,111,223,190,121,245,242, 87,127,247,119,223,188,186,184,
-185,127,184,123, 88,  6,209, 31,125,241,227,255,230, 15,255,248,195,167,207,111,223,254,230,209,220,252,248,147,163,130,240,235,
-175,191,249,254,197, 43, 54, 12, 76,154,217,111, 95, 93,236, 54,187,235,171,155,239, 95, 94, 30,103,238,164, 42,153,153, 13,151,
-142, 51,107, 66,  4, 31, 35, 34,176,161,204,216,180,169, 28,111,170,138,214,146, 87, 85, 80, 98, 78, 98,179,  4,154, 77,168,193,
-160,146, 86,121,  2, 96,136, 13,161, 68,241, 33, 36,125,141,177,172,162,137, 42, 59,214, 17, 15,221, 72, 69, 16,213,182,239,153,
-137, 24, 67, 20,195,204,128,206, 26, 70, 35,163,205,103,204,135, 32,160, 53,236, 12, 43,170, 38,  1,247,232,131, 38, 64, 48,105,
-190,195,156,  2,239, 57, 83,170, 74, 38,146,176,136, 16,170,113, 38,125,243, 76,236,216, 18, 37,186, 31, 57,166, 40,154, 10,235,
-134, 80, 16, 64,128,137,172,229, 46,  8,129, 26,102, 77,132, 94,107, 81,  5,  1,251,100, 88,101,163, 10,134,208,218, 44,136, 26,
- 34, 34, 43, 26,145,146, 65, 57,213,143, 16, 16, 12,162,  2,129,234,253,182,  1, 13,103, 39,115, 47, 96,  8,129, 25, 85,153,216,
- 18,132,177,217,  3,170, 34, 49, 16, 83,  8,202, 76,  0, 24, 68, 98, 28, 12, 82,239,  7, 51,238, 69, 85, 53,200,225,136,  2,132,
-209, 73,136, 35,103,102,100,236, 42, 68, 96, 30, 19, 55,144, 30,118, 73,151,138,201, 16, 61,238,  8,146,108, 21, 64, 99,200,171,
- 41, 63,220,140, 35,244, 17, 84, 25,117,140,141,208,248,229,198, 41,198, 97, 57, 43, 74, 76, 18, 21, 76, 98,117,166,227, 78, 80,
- 89, 17,188,136,  1, 16,140,170, 35,138, 39,117, 91,137,  8, 68,210, 77,253,125,252, 71,  9,223,123,212, 71, 73,169,140,163, 27,
-  5, 21,145,168,158, 21, 17,160,239,241,231, 63,253,201,197,229,253,213,205,221,108, 54, 63, 62, 57,214, 28, 62,126,246,236, 63,
-254,237,223,253,205,223,125,251,135,255,244,199, 15,251,246,228,236,217,211,140,190,251,230,155, 47,127,242,179,118,191, 19,  0,
- 86,  9, 33,188, 87,187,167,196, 21, 27,163,160, 26, 21, 21, 84,  6, 69, 65, 97, 64, 64,178, 32,202,214,136, 38,  8,193,216,184,
-  2, 65, 98, 77,140,124,100, 74,111,127,160,128, 17,211, 91, 41, 32,168, 72,196,177,  1,160,  2,138, 17,217,162,161,196,104,163,
-145,238, 44,132,246,191,202,  4,163,248,104,115,215,247,189,117,150, 48, 22, 85,161,164,160,  1,201,162, 73,175,  5, 32,  2,245,
-190,142, 39, 71,214, 21, 81,160,110,246, 38, 43, 93, 89, 49,218,102,187,236,234, 70, 36, 90, 84,116,121, 57,169, 24,  1,140,221,
- 14,181,181,198, 71,241,222,119,221,224,125, 40,114, 87,152, 16,169,204,114, 30, 54,187,221,110, 55,201,243,220,186,197,241,169,
-113, 69,179,219, 70,228,249,252,169,177,153,162, 33,100,107, 93,179,221, 22,229,164,239,187, 60,115,203,237, 18,216,101,  0,125,
-221,  2, 59,146,184,218, 62,236,246, 27,195,121,140, 50,153,206, 50,166,182, 27, 24, 89,253,  0,156,  5, 68,195,118,126,244,148,
-145,167,147,108,181,222,220,223,109, 23,179,217,116,118,220, 52,123, 69,202,172,107,234, 38,203,139, 50,207, 69,164,223,175, 57,
-159, 64, 24,156, 37,180,115,  8, 67,240, 29, 16,135,190,217,118,189,201,103,108, 50,227, 38, 12,146, 57,106,155, 48, 12, 53,171,
-230,213,145,250,154,162,  4,148,170,152,102, 68,125,183,153,157,127,104, 12,  3, 65,215,110,183,245,182,240,118, 82, 86,131,247,
- 26, 98, 27,106,231,170,174, 94, 13,245,242,201,249,243,188, 42,218,253,174,105,106, 76,122, 10,208,135,235,139,233,201,121, 81,
- 20,198,184,251,135,183,251,182,159,149,243, 39,167,143, 21, 12,229, 85,145,209, 48,248, 16,189, 35, 10,193,163, 15,251,237, 61,
- 97,  4, 16,227,154,220,209,233,241,209,190,174,219,190, 27,134,218,123,207,174,130, 96,144, 50, 54, 89, 94,232,233,201,209,217,
-227, 71, 69,145,199, 16,134,174,217,172, 30,174, 46,223,188,185,120,251,234,205,229,205,253,114,185, 89, 13, 62, 62, 59, 63,255,
-139,191,248,235, 79,191,248,234,238,221,149,214, 87, 63,255,252,105,149,187,155,215,111, 94,190,122,195,140,130,128,142,171,197,
-228,250,250,225,237,235,139,210,216,220,152, 79, 78, 79,152,  9, 84, 19,155, 54, 70,236,195, 96,  8, 38,121, 22, 66,242, 22,144,
-162, 48, 18, 42, 26,  2, 33, 80, 66,142,202, 70,  1, 48, 68, 85,  9,  9, 54,146, 34,207,134, 16,  0, 13, 81,142, 16, 69,135, 32,
-201,146, 74, 76,138,136,204, 40,209,135, 94, 21, 44, 83, 16, 80, 80,107,141, 70, 29,  0,147, 72, 58, 77, 68,211,255,  5, 80, 12,
- 49,210, 97,127,170, 99, 72,  7,216, 80,136, 49, 68, 53, 64,128, 18, 37, 29,152,227,205, 83, 83,153, 18, 52,105, 25,132,149, 34,
- 34,146,239,189, 73,224,176,  4, 62, 36,195, 72,233,196, 79,195, 99, 75, 24, 68, 36, 70, 52,204,100,188,198,140,172,113, 24, 98,
-  8, 65,210,240, 24, 15, 55,214, 16,162, 15,209, 25,227, 40,  7, 20,  5,116,100,131,134, 32,225,208,177, 18,228,145,208,144, 92,
- 74,140,200,134, 98, 16,208, 88,119,253, 48, 12, 39,211,202,144, 65,144, 20,112, 84,228, 16, 37,149,245, 49,197,117,130,  8,160,
- 68,207,100, 19,187, 94, 84, 17,104,240, 94, 98, 48,135,173,109,226,120,141, 91,102,129,  8,148, 68, 19, 64, 72, 17, 99, 74,219,
-  0, 26, 28, 87,123, 66, 56,134,251, 19,239, 13,120,148, 20, 33, 40, 19, 70, 25,199, 96,189,102, 25, 67,  8, 49,173,105, 17,137,
-129,148,  0, 34,140,143,132,180,247,246, 17, 17,137,237,200,144,140, 66,140, 26, 89, 37,241, 23, 89, 85, 34,  8, 40, 48,167,226,
-146,142,  4, 24, 64, 48,  4, 49, 61, 85, 18,122,102,172,236, 30,150, 61,  0,162,104, 84,149, 68,210,115, 58,121, 71,  4,144, 52,
-138,142,245, 89, 17,133, 63,250,189,159,253,239,255,254,255,217,110,183,206,185,217, 98, 14,160, 95,126,246,233,255,253,171,191,
-255,233,231,207,115,231,186,174,157, 46, 30, 45,102,147,183, 47,191, 21,208,179,199,207, 80,149,153,  1, 73,  1, 73,146,204, 26,
- 53,134, 52, 67,151, 24,131,239,149,192, 24, 99,200,164,134,147, 28,250,200, 35, 97,152,136,141, 17,141, 41,129,139, 64,169,185,
-167, 32,227,152,246,158, 56,101,  0,  0, 32,  0, 73, 68, 65, 84, 82, 99, 34, 55,164, 97,153,200,168,115,  4,212,212,106, 35, 36,
-137, 50, 14,157, 36,138, 82,194, 17,165,226,117,236,134,193, 71, 87, 22, 81,196,228, 14, 52, 50,129,146,129,232,137, 17,173, 67,
-155,203,208,176, 70,114,101,179,188, 39,213,106,122, 98,139,162,221,111, 80,192, 15,189, 43, 42,196,200,126, 27,  7,228, 98, 94,
- 20, 19, 85, 40,139, 34,  4, 29,124,136, 33,246,195,112, 50,153, 73,140, 96, 93, 28, 86,171,229,  3, 49,101, 89, 94,148,213,209,
-217,211,200, 44,128, 46,159,102,121, 17, 99,232,218,118,186,152, 19,101,132,117,219,108,234,253,186,172,166,121, 94,108,219,102,
-223,180,247,155,245,233,209,233,182,222, 11,113,158, 79,  5,145, 82,141,  0,193,185,156, 12,109, 55, 43, 91, 40,  6,140,108, 50,
-166, 97,127,127,191,  3,195,110, 54,153,134, 32,171,205,  6,148,189,247,  6,109,140,126, 62,127,180,200,176,  7,183,220, 46,157,
- 98, 97, 29,144,179,182,240,237,182,109,154,201,226,188, 23,169,219,173,201, 52,168, 49,134,138,162, 98,136,197,100, 46,209,239,
-238,222,186,172, 84,224,182,222,238,154,102,177, 56,203,140,221,214,251,249,236,172,238,189, 72,204,108, 54,159, 44,154,102,211,
- 55,117, 53, 59,241, 26,218,253,234,244,113, 85, 76,230,155,135,123, 64, 10,245,186,237, 60, 16,183,205,222,119,117,113,244,184,
- 31, 38,147,106, 49,196,246,155,183, 47,103,213,252,217,249,211, 24,154, 16,194,110,191, 98,151, 23,217,177,203,105,  8,131,143,
-234,251,125, 86, 46,178, 44, 71, 38,137,195,116,113,110,179,105,189,185,181,121, 53,153,206,195, 48,100, 25, 13, 67,237, 37, 20,
- 69,241,232,108,118,124, 52,159,206,167, 64,220,119,237,126,187, 92,222, 93,189,126,253,246,197,155, 55,151, 55,247,203,205,118,
-187,219,156, 31,159,252,171,127,249,231, 63,248,232,249,201,227,103,251,187,119,231,110,119,246,232,180,221,237,190,254,245,175,
-239, 31,238,159,126,248,212,205,167,239,254,238, 31, 62,121,242,201,247, 87,215,111,222, 93, 76, 93, 54,201,172, 77, 29, 28,  4,
-135,152, 90, 64,138,152, 25,  6, 16,  1,114,228,  4,128, 65,153,221,248,210,153,198,198,168,206,226, 16, 19, 76, 17,172,203,250,
- 16, 85,148, 56, 37, 41,161, 96,142, 18,  3, 32, 16,102,206, 48,179,166,207,132, 37,138,232,209, 19, 24,102,236,188,  7,145, 44,
-119, 49,168, 40,152, 49,215,  4, 22,  8, 13, 70, 21, 63, 68, 34,214,  0,214, 82,210,236,  9, 66,110,185,243, 33, 68,  9, 65,216,
- 16,104,106,246,163, 40, 48,211,225,202, 39,169, 35, 19, 84, 36, 38,111, 20,170, 42, 89,  2, 25,239,135,150, 24,144, 65,  3,165,
- 85,153, 70, 47,234,197, 51,176, 51,206,199, 64, 70,138,204, 74,148,255,159,169, 55,251,182, 36,185,238,243,246, 20,145,195, 25,
-239, 80, 83, 87, 87,119,  3,141,129,  0, 65,  2, 20,  8, 83,166, 37,216,178, 23, 41,137, 11,146, 37,175,101,210,255,166,159,237,
-  7,123, 45,201,131, 44, 89, 52, 41, 52,128,238,174,121,186,243,116,166,204,140,216,123,251, 33,242, 92,168,159,250,161,186,250,
-214,189,167, 34, 35,247,254,253,190,111,155, 84,  8,  0, 57,136, 67, 49,141, 48,238,186,132,  8,109, 93,  3,178,217,192,161,222,
-237,122,117,117,117, 34, 82, 87,116, 12, 18,  2,225,144,243,200,204,114,  3, 64, 77,136,  0, 73,245,110,189, 57,156,214,109,211,
-154,155, 25, 84,140,  9,129,136, 43, 34, 66,202, 56,152, 17,186, 34,  1,164,210,157,228,145, 13, 14,158,178, 49,  0,179,240,223,
-252,234,175,198,129,  8,143,107,211,241, 73, 75,163, 49,200,125, 60,114, 11,145,103,180,  5, 18,179,208, 61,108,253, 30, 71, 62,
-210,201,247, 36,  1,114, 32,228,220,239,178,243,180,141,227, 35,214, 12,108, 20,138,112,  1,136, 21,220,132,121,  9, 92,150,237,
- 72,  1,199,140,117,158,130, 84,135,113,238, 81,134, 66,165,184, 75,145, 71, 23, 82,217,114,142,249, 28,250,207,168,186,101, 58,
- 95,152,208,  5,102,  9,165,117,  1, 99, 60,221,137, 11, 51, 46, 79,166,237,176,219,190, 57,189, 92,206,231,128, 72,204, 85,172,
-206, 46, 46, 62,158, 95,252,226,143,127,184, 90,175,213, 97,182, 88,188,127,255,254,248,209, 99, 75, 29,145,148, 70,  7,151,146,
- 42,140,238, 36,164, 17, 43,234, 14, 34, 49,132,186,244,197,212,178,231,242, 25,  0, 55,167, 49, 19, 54,214,198, 10,118,  3,161,
- 92, 71,246,195,174,253,254, 29, 16, 93, 29, 10, 89, 66,184,208,239,203, 93,102,127, 19, 25,247, 65,191, 55, 95,113,  4,174,164,
-170, 64,147,123,230, 16,170,182,149,170, 18, 41, 94, 89,185, 60,187,216,108,118,243,233,116,121,116,248,254,229,243, 33, 39, 53,
- 13, 49, 14,125,191,185, 59, 87,160,217,124,201,130,117, 59, 67,174,187, 33, 79,167, 51, 71,188,120,247,213,108, 54, 77,170,167,
-231, 87,151, 55,183,119,155,237,179,207,190,251,249,167,159, 89,127,115,123,254,113,115,119,215,212,205,100,186,156,204,166,245,
-226, 16,168,178,212,207,142,143, 23,  7,199, 39,175,254,147,170,115,  8,222,109,136, 25,212,119,187,109, 96,233,119,171,245,122,
-179, 27,  6, 55,223, 13, 93, 64, 55,181,171,155, 27,  9, 60,109, 91,180,228, 96, 33, 84, 89, 45, 86, 49, 10,239,186,158, 56,162,
- 14,132,222,204,143,186,221,182,105,103,110,176, 77,253,110,216, 12,131,110,118,155, 16, 99,148,186,157, 55,211,122,114,119,119,
-233, 24,  4, 53,109,111, 72, 98,168, 22,245,236, 40,109, 46, 57, 84, 20,154, 80, 79,132, 48,128,198,192, 41, 41,164,126,232,214,
-102, 54,108,111,171,201, 28, 45,135, 80,  7,180,212,175, 23,135,143, 55,235,171,219,213,170,169, 99, 21,154, 88,213,121, 88,171,
- 34, 72,181,221,220,205,167,139,249,108,158,205,  9, 97,219,173, 47, 46,207,150,139, 69,191,221,220,109,214,211, 58,  6,196,117,
-215, 95,222, 93,175, 86,219,227,249,131, 42,212,169, 91,109,182,107,146,166,169, 26, 20,238,119,119,221, 96, 10, 60, 91, 28, 11,
-218,108,249,137,144, 32,232,225,227,239,172, 87,183, 78, 56,153, 47,235,102,137, 62,  4, 17, 85,152, 46, 14, 63,249,244,179,207,
-158, 30, 46, 14,151,147,201, 68,213,215,119, 87, 39,239,223,188,120,254,205,215,223,188,248,245, 55,207, 95,191, 63, 57,187,190,
-169,132,254,244,167,255,197, 95,252, 55,255,236,232,232,  9,195, 46,216,230, 81, 59,204,  2,124,248,240,238,235,175,126,115,187,
-221, 77,103,237,244,241,195, 95,127,243,245,213,229,205,233,217,229,235,231,175,143,154,233,188,110,  0, 70,181, 24, 19,233, 24,
-200, 45, 57, 66,199,189, 96,161,220, 55,  1,255, 51, 68, 42,  1, 19,101,115,176,113,165,180, 75,  3, 24,112,224,210,104,171, 98,
- 84,203,230, 48, 12, 22,132,192, 33, 91, 22, 18, 14, 81,136,212,177, 56,233,152, 73, 72,130,144,102, 35,194, 42, 22, 27, 90,209,
- 76, 19, 24,172,182,219,117,183, 37,192, 58,  8,133,144,213,  4,145,  9,147,186,155, 67,  9,166,151, 59,103,225, 30, 50,  8, 48,
-  0, 80, 25,181, 20, 19,211,232, 95, 26,217, 88,228,165,232,  4, 33,212,204,191,151,195, 17,130,130,169, 42,238,155, 42, 65, 56,
-136,100, 53,  7,171, 99, 85,110,116,  6, 94, 51,  3,162,129, 71, 17,  4,234,134,  1,193,  0, 89, 53, 21,108, 73, 33,253, 18,115,
- 20,  6,243, 98,236, 19, 98, 31,183,156,224,238, 68,124,185,222, 16,224,193,180, 45,211,241, 40,161, 31, 83, 67,152,  1,  0, 76,
-176,204, 29,188,232,182,145,196, 85, 67,  8,  0, 60, 12,  3,  2,198, 42,154,155,248,232,138, 40,240, 45, 47,157,221, 61,108,230,
-247, 16, 19, 36,128, 61,173,189,176, 86, 52,219,232, 99,245,177,123, 95, 38, 37,134,206,229,129, 81, 66,164,224,109, 91,157,175,
- 55, 15, 14, 38, 41,217,253, 96,191,160,133,205, 70,238,188, 59, 32,147,227,126,122, 54,158,217, 58, 66,126, 97,255,236,113,180,
- 50,199, 40, 30, 59, 24, 53, 44, 35, 96,126,228,  3,143, 63,150,  2,166,247,194, 35,114, 47,197, 33,  7,  3, 31, 11, 69,247,196,
-203, 50,233, 35,196,156,253,199, 63,252,242,249,251,211,219,213,182,174,171,170,153, 49,241, 31,126,255,251,255,251,255,245,239,
-254,191,223, 61,255,241,151,159,159,223,172,172,169, 68,120,185, 56,184,248,248,206, 20,103,179, 25,144,186,211,184,137, 38,217,
-135, 24,157, 41,112, 19,  9,196,193,138,176,143, 93,220, 77,213,105,172, 98, 23, 28, 68,217, 69,237, 31,109, 56, 62,159, 44, 41,
-  5,161,146, 42,  3, 80,205,196,204, 69,110,149, 13,139,171,140,137, 88,184,244,192,198,206,175,239,115,242,180,217,238, 66,152,
- 81, 85,158,209, 94,152, 90,229, 27,169,253,  0, 65,153,137,133, 37, 84, 16,100,200, 67, 82, 16, 14,121,216,165,148, 17, 24, 53,
-  1,213,228, 20,171,104,177,137,237,128,204,110,138,158,  8,201,205,182,219, 93, 54, 75,150, 31, 63,122, 22,231, 71,183, 55,119,
-105, 72, 77,211,206,102,139,208,212, 40,181,153,186, 15,154,134,182,110, 85,123,105, 14, 14,230, 77, 26,214, 90, 77,170,202,250,
-110, 55,159, 31,229,180, 73,221, 78, 98,172,156, 53, 15,235,110,152,207, 15,214,187,205,186,219, 85, 85,173, 33, 41, 10, 82,232,
- 82,231,170,194,178,222,220, 41, 73,  3,154, 85, 15, 15, 63,191,221,108, 78,223,254,166, 57,122,102,128,144,186, 97,183,142,213,
-  4,124, 75, 88,167,148, 54,183,107,159,203,241,209,163, 52,232,106,125, 99,200, 48,244,217, 51,121,149,157,250,213, 93,108, 38,
-105,183, 21, 81, 97,  4,135,118,178, 72,187,235,128, 13,113,232,183,171,110,187,219,220, 94,212,205,204, 83, 46,166,  5,150,122,
- 49,173,218,186,185,188,120,221, 78,102,187, 93,159,129,176,223, 52,109,251,224,201,231,183, 23, 31,222,188,254,102, 50, 91, 86,
-237, 66, 98,221, 39,171,171,186, 74,249,118,179, 62,187,185,236,213,103,117,252,236,233, 15,136,252,230,250, 52,103,109,154,153,
- 90,130, 80,123,159,  1,120, 50,153, 14, 67,246,161,191,189,124, 31,155,165,230, 29,197,185, 13,217,242, 16,235, 90, 72,134,110,
-213,109, 86, 93,191, 93, 28, 28, 62,253,100, 57,159,205,154, 73,131, 64,219,205,221,221,205,197,201,219,119,111, 62,190,123,247,
-241,244,227,249,197,197,245, 53,113,245,163,239,253,193,159,253,236,103, 15, 30, 60,189, 62,191,  8,222, 63,126, 52,123,120, 32,
- 87, 23,215,191,253,221,203, 12,217,  9, 23,143, 14,  9,236,219,175,191,185, 58,187,241,148,221,224, 59, 15, 31,142, 62, 96, 24,
-145,211, 64,128,134, 99,172,217,138,194, 20,145, 64,136, 75, 36, 60,151, 52,161,237, 71,148,123,151, 90,206,134, 68,194,236,142,
-168,218,176,140,206,  2, 71,  7,111,107,206,224,224, 24, 36, 32,137,230,148, 93, 71,170, 30, 16,137,168, 90,234,119, 82, 62,239,
-  9,132, 73, 17, 24,113, 63,106,119,  4, 74, 89, 59,210, 54, 90, 32,114,132,172,138,  0, 81,120,112, 77,144,203,139, 57, 11,  1,
-144, 67, 78, 57, 51,161,193,184,128, 45,  2,191, 98, 88,139,101,139,  0, 12, 96,204,193, 93, 75, 67, 49,114, 80,205,102,192, 36,
- 28, 88, 71,243,101, 57, 45,129, 69, 70, 11,102, 12,110, 26,145,  7, 75,194,145,176, 36,226,178, 48, 13,154, 81, 51, 49,187, 89,
-118, 71,196, 40, 72,196,201,180, 12,100, 92,157,200,179, 27,  2,  9, 57,146, 92,172,182,150,134, 71,203, 69,168, 42,  3, 80, 85,
-117,141, 76,132,232, 72,141, 56, 18,247, 67, 38,  4,195,  2, 72, 33, 36, 66, 15,238,100,104, 85, 21, 75, 56,197,204,249,111,254,
-229,175,202,145, 72,  4,196, 82,206,  6, 47, 20,247, 49,102, 13,196,100,170,128, 68, 36,227,184,219,199, 93,231,168, 49,  4, 18,
-188,143,232,143,206,219,123,250, 22,120, 58,191, 90, 29, 31, 30,169,235,222,148, 10,191, 15, 45,142, 17, 23, 96,137, 14,  6, 90,
-234, 72, 35,116,197,192, 16,125,236,244,236,  3,142,229,155,133, 68, 72,100,247, 94,233,194,164, 87,219,223,128,125, 12,207,143,
-187,207, 18, 29,116,220, 59,237,198,219,245,  8, 98,118, 42,177, 80,135,166,109,151, 77,252, 15,191,121,254,224,112, 73, 72, 77,
-221,  8, 99,234,119,255,225,171,175,255,228,199,223, 71,198, 33, 13,211,249, 81, 26,250,102, 62,221,172, 86,117, 51,221,151, 99,
-121, 28,  6,185,122, 86,150,200, 34,133, 43,112,143,241, 41,107, 11, 46,187,158,242,  3,115,199,146, 21, 35,192,145,166, 32, 99,
-116,125, 28,210,149,184, 62,238, 73,203,229, 55, 67,191,183,188,143,250,129,130, 96,187,191, 91,  1, 32,229,108,147,201,188,140,
-124,194,164, 17,  9,253,110, 71,160, 96,196, 65, 68,232,250,106, 53,100, 93, 30, 44,234,166,126,253,252, 37, 19, 85, 85,157,211,
- 96,142, 96, 20,218,152,186,109,100,137, 12, 85, 59,179, 52,116,171,221,208,119,253,234, 99, 51,155,245,195,240,250,253,135,187,
-213,102, 55,116, 63,255,217,159,195,176,189,185,185, 68,237, 39,147,118,114,240,168,239,239, 98,213, 80,  8, 64, 17, 67, 56, 58,
-122,  0,174,219,205, 58,109,111,250, 93,162, 16, 44,229,235,139,247,253,230,238,227,233,187,186,158,170,105, 63,116, 18,107,  7,
-175, 99,188, 88,173,222,158,157, 47, 38,117, 78,189, 25, 48,  7,116, 13,194, 49,134, 65,181,170,235,109,183,173, 98,123,187,235,
- 20,  8, 25,115, 82,215, 97,117,123, 17,155,165,  8, 27,  9, 18,147,227,221,205,199, 71, 15, 30,118, 57, 29, 31, 62,186,184,189,
-114,146, 52,172, 17, 61,165,236,136,  0, 70,158,165,154,196,170,114, 53,116,205,218,131,105, 51, 93, 36,237,  8,185,170, 27, 77,
- 25,193,251,221,230,240,248, 49, 33,198, 80, 87, 33,204,231,179, 94, 65, 40,132, 88, 55,211, 69, 74,187, 93,183, 43, 91,238, 88,
- 53,177,106,204,204,134,221,144,128, 24,111, 86, 55, 87,119,119,139,197,241,180,158,128,123,238, 87,234, 86, 46, 89,117,211,176,
- 68,205,137, 99,203, 85,117,120,248,160,219,237,110,110, 46, 72, 90, 53,115, 80, 14, 85, 26,118,195,208, 31, 28, 29,167,164,221,
-230,118,249,224,241,179, 47, 62,255,236,217, 39,243,249, 60,212,213,208,245, 55,151, 31, 63,190,127,243,242,197,183,191,253,246,
-197,215,175,222,188, 61, 57, 61,191,190,121,120,120,252, 47,255,242, 87,191,248,233,159, 16,113,238,134,167, 11,248,195,239,125,
- 18,  5, 94,125,243,226,213,139,151,203,227,229,163,239,124,242,246,228,108, 57,159,172,135,252,237,171, 55,190,237, 31,207,231,
-179, 73,205, 34, 44,  1,193, 43, 17, 22,206,121,244, 98,194,158,136, 93, 86,159,163,211,174,140, 53,199, 12, 53,152,  3,122,105,
-116, 22,167,217, 72, 29,  8, 65,162,112, 86,232,178,153, 67,228, 34,184,164,146, 86,100,226, 50,100, 29, 52,131, 67, 45, 21, 50,
-155, 42,184,  2,160,142, 23, 31, 35, 34,  7,112,117, 71, 55,119,205, 30, 66,168,130, 76,155,154,104,252, 58,239,225, 49, 50,166,
-205, 93,132,  0, 80, 85,211, 48,216, 62,184, 77,132,132,100,134,194, 28,153, 74,103,101,140, 83,178,187, 25, 34,163,123, 54,237,
-115, 18,100, 68, 52,  4, 98,170,235,154, 29, 13,198,  3,213, 29,133, 89,  8,165, 92, 37, 75, 15,  8,201,193,  2,139,169,237, 82,
-111,170, 99, 87,223,203,178, 18,232,222,177, 13,196,136, 34,210,169,154, 41, 35, 34,241,221,174,191,219,174,143, 23,211,217,100,
-106,  5, 71,187,167,113,193,200,153,129,193,172, 36,108,178,163, 32,  8, 21,166,229, 88, 96, 42, 79, 89, 68, 54, 55,254, 31,255,
-229, 63,191,231, 17, 66,241,202,194,126, 58,179,215,209,142,141, 27, 24,115,123,197,204,231,200,  5,156, 70,247,247,241,177, 81,
- 38,229,148, 97, 64, 53,  7,183, 16,226,110,183,173, 39, 83, 28,175,203,116,255,129,216, 11,154,198,113, 49, 17,  9,153,223, 11,
-163,225,222, 32, 61, 62, 16,120,143, 90, 39, 36, 28,143,122, 46,216,155,194,156, 27,225,184,123, 41, 55,142, 29,166, 49,148,227,
- 48,254,230,227,162,114,196,206,141,184,201,242, 53,169,250,209,225, 65,191,186,126,119,190,154,183, 85,168, 43,137,113, 62,157,
-188,120,249,246,110,187,249,163, 31,124,150, 18, 30, 28, 30,189,127,243,226,193,163, 79,183,155, 43, 66, 97,  9, 35,196, 14,220,
- 85,145,132,100,  4, 64, 34,114,249, 26,  0, 93,115, 98,100,187, 47,172,142,149,168,223, 35,126,246,174, 38,255,125,209, 23, 75,
-153,120,164,238,141, 79,145,146,240, 44,183,146,178,185, 46, 55,172,251, 54, 90, 81,176, 43, 84,237,178,153, 84,229,  9,141, 44,
-214,239,220,156, 89,220,149, 66, 32,131,139,139,171,205,106,211, 52,117, 21,227,217,217,101, 12,130, 40, 14,100,253,142,130, 32,
- 82,136, 77, 61,153,169,131, 13, 89,251, 53,133,122,117,247,222,134,117, 83, 53,171,219,245,235,247, 31,110, 86, 43,169,234,127,
-240, 71,127,186,185, 62,  1,205, 77,221,196,170,166,170, 37,208,122,126, 40,161, 33,162,249,116, 42, 18,146,194,118,117,109,195,
-174,212,147, 77, 77, 83,223,119, 59, 55, 63,156,181, 68,124,118,126, 78,204,217, 52,138,188, 60, 57,121,254,241, 28, 65,231,245,
-148,145,154,201,100,216,174,235,186, 18,150, 33,105, 78,  9,  1,170,170,218,165, 92,140,149,110,131,  3,197,102, 14,218,163,166,
-236, 62,244, 27, 39, 18, 97,236,111,165, 89, 84,161, 90,173,110,141,130,132,102,215, 15,105,232,147, 38,211, 14,210, 48, 59,120,
-232,195, 70, 98,219, 30, 60,132,220, 19, 75,218,173,186,221,198,  0,212,225,234,242,189, 16, 12,221,174,239,119,147,105,107,154,
- 52,237,118,155,187, 88, 77, 54,187, 77,211,180,135,203,227,126,200, 49, 54, 13,167,110,187,155, 31, 62,220,236,118,232,  6,110,
-119,219,213,237,221, 57, 81,108,171,118, 82,  5, 34, 32,142,132, 14,200,179,197, 17, 32,174,239, 46,171,186, 85,131,216, 78, 60,
-111, 53,167,201,116,174,125,127,248,228, 51,169,107,161,128, 68, 67,191,110,170,202,156,243,176,251,228,179,103,159, 60,126, 48,
-155,183, 85,172,114, 78,183, 87,231, 39,239, 94,189,125,243,234,219,231, 47,127,243,252,197,203,247, 31, 46,174,174,171,170,249,
-135, 63,251,197, 95,252,147, 95,205, 38,147,174,219, 46,167,179, 31, 62,157, 62, 56,154,156,189,123,247,205,111,126,123,122,122,
-250,240,201,  3, 90, 78,190,254,250,197,171,119,103,235,237,246,155,175, 95, 45, 57, 62, 60,152,197, 24,162,196,194,141,169, 66,
- 76, 57, 37,205, 12,140, 60,246, 35, 93,221, 71, 12,212,248,126, 61,206,102, 13,172, 20, 57,193,  1, 64, 93, 17, 25,152,204,161,
-144, 23, 93, 33, 25,152, 89, 21,169,156,131, 57,149,138, 59,231,236,136, 46,194,102, 88, 79, 38, 34,108,230, 89, 19, 49,115, 16,
-115,205, 89,  5,145,137,173,220,112,165,220, 27, 77, 68, 68, 56,  4, 73,102,166,185, 60, 36, 76,205,202, 22,  0,188,116,145,212,
-220, 17, 68,196,212, 82, 74, 69,222,141,200, 64, 20,131,  4, 33,115, 52,223,103, 63,220,134,161, 44,125,124,211,237,182,219, 45,
-131, 11, 19, 48,215, 76, 68,104, 14,106, 88, 30, 90,229, 47, 48,179,  0,248,144, 19, 34, 75, 16,130,130,149, 39, 24,115,110,110,
-128, 66, 24, 57,150,254,148,  1, 49, 18,141,221, 20, 49, 53, 71, 23, 34, 33, 41,164,179,171,245,234,176, 14,135,  7,203,172, 86,
- 20, 64, 35, 56,160,144,208, 75,252,159,152,136,178,121, 32, 68,132, 52, 62, 86, 65, 68,204,188, 31, 50,120,138, 28,135,156,248,
-175,127,245, 87, 37, 39, 15,123,239,236,120,232,220, 11, 41,168, 92, 21,217, 11,210,182,244, 51,199, 55, 48, 51, 32,  2, 96,230,
- 98,156,160, 50,115, 40,187, 20,  4, 51, 71, 68,161,176,217,110, 20,112, 82, 85,251, 20,211, 94, 90, 94, 34,131, 28, 96,159,171,
-188, 95,112,239,139, 10,229,201, 50,142,211,247,190, 17, 36,166,241, 21, 10,203,129,111, 99,240,166,184,250,138, 89,209,  1,  8,
-164, 52,161,220,220,242,104, 41,221,155,  8,  9,144, 71, 29, 70, 25,152, 48, 49,130, 39, 68,124,250,228,193,239,158, 63,151,170,
-  9,196,177,109, 69, 66,  0,251,219,223,124,251,253, 47, 62,157,182,205,197,229, 69,213, 78,206,222,191,206,202,147,182, 97, 10,
-247,168, 49,  4, 36,150,113, 28, 63, 26, 38,199, 94,215,254,241, 54,198, 25,209, 74,180,115, 60,217,203, 99,207, 76,247, 82,243,
- 17,145,140,123, 67, 86,225,173,150,220, 99, 81, 71,142, 92,161,  2,243, 17, 70,166,189,  2,  4,220,209, 64,171,122,  6,165,  3,
-194,162, 93, 66, 38, 22, 25, 97, 53,177,  2,135,171,243,243,219,235,219,118, 58,153, 76,166, 87,103,151,206, 68,204,170,105,216,
-174,171, 16, 21,105, 58, 95,134,216,110,111, 46,185,142,  8, 20,155,249,229,155,175,218,182, 22,162,179,203,171,247,103,167,183,
-171,245,116,118,240,189, 47,126,208,111, 87,117, 12,117,  8, 10,192,213,108,126,252,164,158, 31, 17, 49,152,215,147, 73, 61,153,
-109,215,151,105,123, 87, 62,172,238, 14,154,250,126,171, 67,207, 33, 94, 93,126, 20, 66,142, 21, 34,130,234,205,106,245,155,215,
-111,175,118,187,100, 94, 19, 50, 59,  1,182, 77, 27, 98,  0,240,193,212,145, 88, 74,114, 46, 50,128,101,155, 46, 14, 31, 28, 29,
- 31, 28, 28,221,221, 93, 44, 38, 51, 33,138,177, 33,130,229,124, 41,177,218,117,221,135, 15,175, 86,215, 39,230,146, 82, 46,237,
- 24,150,170,174,170,197,242,120, 80,173,170,138, 67,  3,  8,211,233,162,239,214,221,144,155,182, 13,213,172, 95,221,132, 80, 77,
-167,203,118,210, 58,133, 52, 12,204,236,136, 46, 85, 55,116, 76,178,221,172, 39, 77,197, 85,197, 64,117, 21, 63,188,127,254,248,
-209,179,108,112,123,119,113,117,119,147, 21,150,211,217, 98,126, 88,183,179,161,219, 90, 78, 82,213,230,212,182,109,100,122,251,
-230,107, 12, 77, 12,181, 84, 13,161,  6,198, 97,183, 69,230,245,234,162,235,179,230, 62, 86,147, 97,232, 99,172, 16,252,224,209,
-131,103,159,125,122,116,124, 24, 98,176,156,239,110,174, 78,223,191,126,255,230,245,243,215,175,191,121,249,242,229,187,247,111,
- 78, 78,192,237, 31,254,226, 31,253,213, 95,254,235, 79, 30, 63,203, 78, 85,208, 79,151,252,233,113,220,172,174,126,251,247,191,
-249,240,238,  3,  8,183,199,  7, 55, 55,183,191,254,237, 11, 22,190,188,188,141, 41, 29,181,237, 98, 82, 35, 11,130,179,112, 85,
- 87,228, 48,168,186,131,  8,  7, 33, 40, 31, 85, 46,214, 57, 42, 27,166,113,215,  3,152,243,120,174, 19, 98,206,138, 52,222,199,
- 83,206,149,176, 48,169,121,246,204,136, 76,148,205,212,157,  1,133,169, 79,  6,238, 34,165, 75, 47,109, 59, 41,252,188,114,122,
-121, 89,200,237,103,227, 68,232,227,176,150, 20, 12,192,163,112, 54, 23,100,  0,136, 33,218, 61,224,171,100, 19,192, 16,  8,  0,
-133,198, 40,118, 86, 64,100, 17, 97,230,200,196, 28,  0,201, 74,142, 19,165,192,112,128, 48, 48, 57,192,166,239,182, 93,151,116,
- 80,213, 16, 66, 93,213,230,168,  8,129,136,  3, 23,208, 20, 33, 16, 81, 26,  6,119,148, 32, 64, 68,142, 34, 33,229, 92,238,207,
-230,134,224, 69,174, 22,  3, 35, 10, 73, 96, 70, 46, 48,  3,  3, 53, 37, 26,169,130,194,104,  0,103, 55,183,145, 96,210, 78,193,
-129,137,  2,139, 19, 49,161, 48, 15,106, 89,115, 96, 20,142,197,117,138, 69,130,231,206,128,  8,144,220, 83, 30,250,156,  8,221,
- 28,220, 53,105,230,191,249, 87,191,162, 50,204, 26,157,121,190,175,166,  2, 48,151,141, 51, 98,  1,  3,112,217,  1, 20,211,105,
- 65,163,112,161,157, 48,162, 59,151,171, 61,221, 27,174, 75,210, 18,137,208, 83,119,181,238,142, 22, 83, 27, 39,232, 14,230,200,
-196, 44,200, 12,232,180,255,255,142,226, 58,218,179,112,  9,205,246,146,163,194,194, 33,  6, 66, 27,239,236,232, 58,  0, 18,161,
-184,233, 94,165, 84,110,196, 94, 70, 52, 82, 64,190,238,229, 96, 47, 98, 87,162,241,112,164,125,154,144,101, 52, 92,147,176,101,
- 99,137,211, 70,158,191,254,216,212,117, 83, 55, 28,226,164,174,111,175,111,191,122,254,234,151,127,246, 99, 51,121,242,233,119,
-187,237,205,241,227,167, 58,108,205, 13, 24, 17,156,165, 38,145,251, 63, 58, 34,186,170,221,227,  4,202,202,185,184, 80,136,156,
- 24,247, 23,120, 26,137,237, 72, 33,236, 93, 89, 99, 22, 22, 70,162,205,216,101, 45, 57,  1, 64, 96,145, 82,109,130,209,215, 72,
- 37,168, 58, 82,111,  0,  0, 40,112, 32, 98, 87,115,211, 17,234,108,  6,128, 18, 35,228, 62,196,234,250,234,246,246,250,182,137,
-248,224,233,179,243,147,143,195,110, 11, 76,253,110, 35,129, 65,106, 68, 36, 75,253,208, 27, 56,185, 75,219,230,126,115,250,241,
-155,195,249,220, 29,222,158,157,157, 94, 92,238,118,187,131,227,199, 63,248,206,247, 97,232,  8,147, 57, 77,150,199, 49, 74,179,
- 56, 64,  3, 32,170,154,217,193,131,135,221,102,123,125,113,190, 91, 93,214,211, 35, 51, 37,194,245,245,135,213,221, 77,172,218,
-163,227,121, 83, 77,135,212,119,125, 47, 18,250,148,111, 55,219, 23,151, 87, 77,140,235,174, 91,247,195,195,249,124, 54,109,231,
-179,233,122,189, 97, 97, 50, 99,196,200, 97,218, 76,102,237,100,215,109,182,235,179,227,135, 79, 34, 35, 64,  2,  8,192,225,250,
-242, 68,  1, 84,109, 57,155, 76,102,203,205,106,213,101, 99,176,186,153, 32, 16,152, 18, 11,104,119,112,116,204,168,169,207,196,
-177,106,234,180, 93,153, 25, 18, 87,205,124,189,221,138,219,208,173,167,179,165,235,208,119,219,166,158, 24,  0,133, 38, 15,131,
-171, 34, 98,140, 85,113,160,107, 78,139,249,236,209,227, 39, 93,242,205,110,123,122,249,209,220, 31, 30, 62,248,236,217,119,235,
- 24, 83,191, 33, 22, 98,174,234, 86,200,242,176,155,207, 15,205,211,213,233,199,233,242,  1, 11,  9,203,100, 50, 81,240,122,182,
- 68, 14,169,223, 52,211, 67,145,216, 13,  3, 90, 94, 44,167, 95,124,249,195, 39, 79, 63,105, 39, 45, 16,174,175,111,206, 79,222,
-190,127,243,234,213,155, 55,223,190,121,245,226,245,155,247,167,167, 87, 55,119,159,127,250,249, 95,252,242,159,253,201,207,255,
-220, 52, 93,126,248,246,233, 81,251,189, 71,211,138,236,253,235,215,175,190,121, 30, 39,205, 39,223,253,228,221,249,229, 98, 49,
-173, 23,211,183,239, 79, 96,179, 91,214, 97,218, 54,117,140, 18,197,193,170, 88,199,192, 41,185,170,145,140,216,118,131, 34,255,
- 36, 65, 38, 44,145,118, 36, 42,119,122, 50, 28, 63,168,128,144,  7,  3, 66, 22, 86,115, 70,170,107,113,245,148, 18, 34,  6, 97,
-  0, 27,204,136,152,  1, 72, 72,213,202, 75,108, 74,153,  2,183,117,139, 76,204, 92,133, 90,205,134,161,  7, 48, 66, 82,211, 18,
-193,184, 71,216,  6,230,192,130,196, 41,171, 35, 70, 33, 38, 26,114,169, 19, 58, 32, 48,146, 58, 26, 16, 19, 11,145,238,187,129,
- 33, 68, 22,138,228, 34,  1, 88,  0, 81,152, 17,209,  0,179,246,  0,206, 68,  8,100,197, 97,175,182,235,187,108,218,132,170,138,
-181, 19, 17, 83,164,178,210,132,210, 19,117,247,193,156,  1, 88, 68,193,155, 42, 58,128, 90, 46, 50,234, 98, 84,102, 32, 53, 71,
- 43,148,  3,231,146,209,116, 55,  4, 38,102,194,170,138,229,111,187,170,157,221,172, 64,243,225,114, 25, 42,145, 32, 37,235, 29,
-152, 17, 73,221, 17, 85,136, 41,132, 49,134, 87,  8,132, 56,162,150,179,186,217,136,184, 76, 57, 89, 82,  4,207,170,252,215,255,
-226,175,240,126,147, 58,254,168,246,179, 10, 47, 66, 40, 35, 68,183, 34, 28,221,223, 66,177,140,154,138,224,169, 96, 23,198, 41,
-119,121, 27, 64, 42,207,121, 64,112, 55,171, 99,184,188, 91, 31, 30, 44,193,108,132, 30,151,121,178,  4,  0,195,189,203,124,124,
- 73, 26,175,245,123,248,121,129,247, 96, 49,132, 56, 49,141,192, 96,146, 98, 80, 50, 55,  0,115,244,145,248,179,231, 35,224,200,
- 87,128,255,252,120,101, 34,102,218,203, 67, 70,217,202,152, 31,247,123, 40, 36, 32,226, 98, 49,127,251,246,221,102,151,234,166,
-153,205, 22, 36, 60,109,171,111, 95,190,221,116,221, 31,124,249,244,234,118,117,248,224,225,203,223,253,221,237,237, 93, 12, 33,
- 86, 77, 85, 85, 99, 99, 96, 28,109,241,254,203, 24,185,239,123,220,111,  9,174,250,189,129,182, 76, 97,246, 24,  6,  7, 40,143,
- 52, 40, 67,202,189, 55,145,  0,156,144,178,233,248,164,114,119,213,113,196,  4,  5, 71, 44, 80, 54,199,128,136,228,142,205,108,
-129,  4, 28, 24,172,180, 81,106, 98,166, 40,224,102,106, 84,197,179,247,167, 55, 23,167,143, 63,255,242,240,104,241,246,197, 55,
-102,142, 24,136,  2, 50,166,237,157,176,116,125,202,238,147,233,212,128, 67, 85,107, 63,156,159,126,253,224,224,168, 79,195,155,
-147, 15, 23,151,183,219,190,251,206,103,223,123,116,120,  4,158, 98, 61,  5,183,170,105,219,233,220, 12,  8,105,189,186,155,212,
- 49,198,184,190, 91, 27, 65, 85,207,171,186,234,215,183, 64,  2,110,171,187,107,215,158, 45,137,136,230, 30, 12, 84,251, 58,214,
-231, 55,183, 31,111,110, 99,  8, 67, 26, 86,187,206, 28, 22, 77, 67,232,204,236,106,102,185, 64, 89, 99,172,146, 14, 72, 50,157,
- 46, 93,  7,115,234,115,182, 97, 75, 14,219,108, 57,231,110,123, 55,157, 29,116,219,187,203,147,215,199,143, 62, 25, 20,118,219,
-205,144,135,221,234, 22, 67,157,182,215,211, 73, 43, 18,171,102,154,134,222,115,202, 57, 97,  8,145,171,224,  3,144,232,230,182,
-235,215, 77,156, 24, 64, 21, 42,205,  3,120,202,105, 48,184, 71,168,142,233,216,190,235,143,143,142, 85,211,201,233,199,179,203,
-243, 39, 15, 63,249,242,241, 35, 83, 36,130,197,242,176,236, 75,178, 38,137,177,235,187, 40,113,117,117,162,142, 28,171,186, 93,
- 28, 45,143,154,201,140, 37, 84,245,132,  8,135,221,102, 58, 63,220,237,182, 49,192, 39, 79,159, 62,253,226,243,167,159,127,177,
- 88, 46,136,176,239,118, 55,103,167, 31, 63,190,124,245,234,197,139, 55,111,158,191,125,251,238,227,201,233,229,101,211, 46,126,
-254,199, 63,255,229, 47,255,194,186,205,118,115, 61,107,195,247,159, 46, 63, 57,170,110, 47,206, 95, 60,255,230,221,219,247,135,
-143, 30,200,172,122,241,246,228,250,250,166, 75,233,255,253,143, 95,181,128,199,139,121,185, 56,147,176,136,  4,  9,238,150, 28,
-152, 40,198, 88,208, 32,128,140, 68, 18,  2, 99,240,241, 98, 49,210,172,156, 72, 93,105, 60,  8,208,212, 75, 25,221,178, 85,194,
- 33, 80,202,170,230, 69,135,170,  6,227,210,110, 63, 61,117,  0,205,153,144,129, 32,105, 70,192,226, 80, 27, 73,217,238,130,148,
- 53, 83,201, 12,  2, 32, 64,118,207,170,129,217,202, 59, 43, 67,  8,146,239,239, 79,  8, 68, 20,152,145,136,139,183, 20, 81, 77,
-109, 20, 42,  1, 19,212, 85, 85,104,145, 33, 10,222,147,174,144,  0, 48,136,236, 99,131,132, 68,234,168,154, 43, 98, 38,169, 98,
- 85, 87, 53, 34, 38, 29,157, 10,149,136,150,219,228,190, 12, 90,  7, 41,  1,237, 50,240, 41, 55,223,177,186,104,102, 37, 75,  1,
- 44, 68,169,196,138,  0,138,254, 21,247,133,210,219, 46,245,155,221,241,114, 30, 37, 34,115,217,101, 10, 23,170, 64, 65,251,114,
- 54, 37,116, 33,  6,135,178,113, 69,148,108, 57,171,129, 41,130,  7,102,  7,247,236,217, 70,244,174, 20,172,126,153,101, 56,148,
- 50, 17, 22,138, 11, 32,154,106, 73,168,143, 50,220,226, 38, 33,134,130, 24,199, 82,252, 45,214,108, 48,  4,244,209,190,173,217,
- 36,148,107, 39, 56,184, 48,  5,240, 97,200, 65,112,108,245,208,152,122,220,251,181,131, 83, 46, 49, 72, 98, 34,100,240, 12,128,
- 72,209, 45,151, 29, 62,252, 30, 74,227,128, 72,158,198,111,175,129,129,209,216, 85,200,128,251,248,225,200,231,  2,118,  4, 34,
- 87, 32, 30,171,183, 72,227,230,220, 29, 56,160,235,200,242, 45,128,175,125,250,  7,255,228, 39, 63,248, 95,255,205,223,206,166,
-147,217,124, 81, 85,213,131,  7,143,126,242,131,239,254,251,255,248,187,239,125,254,201, 98, 62,149,120,180, 60, 56,110,166,  7,
- 96,125,183, 93,199, 16,144,  1, 89, 10, 31,127,100, 31,239,255, 65, 32, 71, 67,211,114,252,155, 27,  1, 56,146,103,245,189, 41,
- 11, 65,129,198,225,220,248, 14, 68,163, 53,214,209, 16, 11, 78,136, 16,201, 77,157,120,124, 38,151, 14, 24, 21,111,148,140,111,
- 87, 68,238,136, 28, 16,140, 81, 48,208,158,182,  3,160, 35, 28,199,  1,250,126,144,170, 70,203,150,147, 84,211,108,131, 75, 64,
- 55,161,137,199,206,  0, 84,135,102, 50, 75, 67,230,186,133,156,239,110,207,  8,200,193,134,174,239,118,131,186,  1,203,241,193,
-131, 24, 34,104,101,121, 72, 57, 69, 96,215, 60,236, 86,210,204,183,219, 93,253,217, 60,155,165,220,161,  3,115,180,220, 73,172,
-183,235, 85,183,221, 78, 39,243,213,237, 37, 66,149, 82, 87,133, 26,155, 44, 60,185,219,110, 46,214,171, 24, 99,215,237,234, 88,
- 85, 49,158,175,183,191,121,255,225, 39,242,217, 52,106, 51,169, 25,133,136,173,108, 59, 28,145, 41, 84, 19,239, 87,  9, 58, 71,
- 89,111,187,192,146,179,166,126,215,111,174,211,110,215,167,158, 98,187,187, 62, 23,169,234,217,252,118,117, 59,244, 55,146,166,
-152,181,219,109,155,201, 18,192,  2,161,185,138,196,233,100,142,238,105,219, 53,117,211,175,184,170,231, 28,216,147,154,169, 83,
- 76, 93, 63, 12,155,102,113,228,160, 68, 21, 48,231, 60,244,119, 87, 18,226,219,147,183,  8, 72, 34,143, 14,142,107,241,215, 47,
-127, 23, 15, 62,205,187,174,173, 99,223,247, 57,231,205,237,105,221,206,186,205,102,246,228,139,156, 82,  2,158, 47, 30,144,224,
-102,183,157, 49,162,199,174,187, 11,213,108, 58,155,109,118,187,249,114,241,228,147, 39,135,199,143,155,105, 91,213, 85,206,233,
-238,242,242,246,234,236,227,199, 15, 31,206, 78,223,159,156,158, 95, 93, 95, 92, 93,  7,145,159,254,232, 31,252,225, 15,255,240,
-248,193,163, 97,232,171, 42,252,228, 59, 15,231,147,184,219,172,126,247,235,111,207, 79,207,143,143, 15,226,114,126,114,117,117,
-246,187, 27,142,116,113,118,181,186,188,125, 60,153,182, 85, 44, 54,212, 32, 17,129, 96, 20,228, 65,  0, 42,121,152, 97, 72,132,
- 16,152,178,187,185, 17,114,182, 68,232,112,207,219,118,173, 88,134,172,163,141,205,140,160,160,100,196,  0,250, 93, 14,145, 69,
-  0, 28, 82,214,209,226,137,134,232, 76,148,212,  8,177,137,  1,152,187, 93, 26, 63,255,134,125,215, 73, 16, 50, 48,243, 97, 72,
-  4,  0, 76, 14,150,179,138,112,195, 49, 83,206,232,  8, 32,196, 14,168,238,224, 94,104,169,165, 53, 57,152, 11,177, 16, 13,160,
- 57, 89, 16,102, 34,  7,  8, 76, 37,252,147,213,154,186,174,154, 70,179,101, 48, 80,141, 78, 61,  0, 58, 16,129,129, 27,  1, 58,
- 78,234, 32,132, 41,107, 29, 67, 12,161, 12,165,195,168,200,246, 62, 37, 34,  2,183,146, 73, 65,199,156,141,  3,147,131, 25, 18,
-129,250,152,136, 83,119, 17, 26, 15, 75, 70, 43,  3,  9,  5,  4, 53,231,128,104,106, 34, 97, 51,164,245,106,125,180,156, 55, 77,
-  3,192,138, 70, 96, 40, 84,232, 47, 99, 83, 19,176, 14, 17, 16, 85,205, 65, 27,174, 18,104,202,169,140,199,220, 93, 53,185,187,
-154,  3, 58, 19,  6,129, 65,139,235,138, 70,115, 19,162,152, 91,137, 96, 59,104, 33, 68,152,161,151, 19,115,159,113, 47,135, 35,
- 90, 49, 37, 57,  2,  1,255,254, 57,171,106,  5,126,175,230,  2,160, 37,211, 45, 82,  7,223,245, 93,144,118,212,162,250,239, 57,
-136, 48,218, 48,200,192,205,148,137, 75,253,117,204,252, 23, 11, 17,  8,130,238, 69,166, 37, 23,227,132,232, 90, 86, 41,224,186,
- 15,114, 34, 48,129,105,233, 50, 16, 21,177,  8,128,  7,100, 97,203, 90,176,100,238, 10,194,160,  5, 79,227, 54, 66,119, 96, 12,
-174,104, 78,217, 31, 63,124,242,229,103,167,175,223,157, 78,231,203,199, 79, 62,  9, 77,252,244,233, 39,215, 55,119,255,230,255,
-254,251,127,253, 79,255,209,201,235,231,103, 39, 31,230,203,254,217,151, 95,158,188,125, 61, 12,179,170,145,194,243, 28,195, 67,
-  8,238, 58,230,247,115, 66, 66, 96,178, 62,151,  1,184,153,187,237,223, 43, 75,186, 31,145, 73,124,223,244, 27, 17, 57, 12,224,
- 96,106,136, 78, 92, 84,175,163,111, 27,220, 29, 84, 36,142, 73,248,130,154,  4, 29,223, 97,176,144,158,193,164,252, 29, 96, 24,
-193,153,232, 41,133,233,212,250,164, 41,143, 16,110,145,156,  6,205,157,107,118, 51,138,220, 13,125,182,220,180, 11, 70,204, 57,
-233,221,201,224,113,183, 89,205,154,214,145, 55, 67, 63,148,196,130,250,131,137,208, 40,116,113,138,109, 51, 95, 18, 83, 69,144,
-186,221,195,163,229,242,112,121,113,122,182,186,185,154,204,231,185,219,176, 52,204,113,210, 78,230,179,233,199, 87, 95,  1,241,
-228,240,225,110,117,177,238,110, 69,164,101,188,217,172,110,182, 91, 38,154, 78,166,151, 55,215, 77, 93,153,250,215,239, 62, 48,
-243,207,190,243,172, 69, 97, 52, 53,159, 52, 77,221, 84,144,116,151, 50,  0, 12,102,145,132, 98, 12, 18,178,165, 88, 69,178, 76,
-177, 30, 82,183,222,238,152,105,219,117,135,  7, 19, 14,146,163, 66,208,139,128,  0,  0, 32,  0, 73, 68, 65, 84, 92,245,185, 78,
- 59, 52,  5,131,221,234,186,158,204,251,212,  3,113, 45,188,189, 61,  3,105, 61, 27,162,186,233,124,118,148,114, 55,244,155,172,
- 30, 99, 59,157,207,132,142,145,195,144,134,172,  3,246,202,129, 87,185, 91,223,222, 60,125,242,236,225,193,193,186, 31,220, 13,
-176,218, 14,137, 85,251,148,114,218,101,243, 71, 79, 62,245,212,113,172,234,102, 89,199,138, 14, 31,244,219, 91,215, 33,155, 24,
-122,186,190,146, 80,117,171,179,201,193, 19,239, 55,159,124,247,  7,207,190,252, 97,213, 84, 49, 86,154,211,234,246,250,230,242,
-236,226,252,228,253,135, 15,111,222,125, 60,191,185,190,190,185,219,244,221,231, 79, 63,255,241, 23, 95,124,247,187, 63, 86,221,
-154,237, 30, 45,103,159, 29, 31, 50,218,221,237,213, 55, 95,253,166,157, 77,143,158, 62,250,240,238,221,193,147,199,121,  5, 87,
-215,215,179,170,122, 52,109,166, 77,163,  6,206, 12,128,149,136, 48,247,169, 31, 15,119,230,100, 57, 15,185,112,238,136, 56, 67,
-105,206, 91,246, 44,128,238,158,203, 43, 30,146,170,171,167,242,198,108,217,132,  9,204,221,113, 80, 19,182,182,109, 82, 78, 62,
- 46, 97,109,252, 43,136,  8, 64, 93,223, 75, 96,119, 87, 64,200, 57,196,178, 85,130, 97,216, 33,196,174,219,130,131,170,194, 24,
-224, 35, 54,144,192, 10,158, 93, 17,209,221,132, 37,155,103,115, 70,171, 99, 76,163, 21,154,220, 60, 34,103, 75, 69, 53, 76, 97,
- 44,147, 74,140,253,144,192,148,153,171, 42,150, 70,120, 61,109, 25,100,215,237,134,161, 83,179,200,  1,203,229,  8, 77,205,213,
-189,169,171,  9,177,187,  5, 10, 10, 70,224,204,188, 27, 58, 33, 10, 72,125,210, 42,112, 54,119,247,209,165,138,100,228, 90, 98,
-245, 76, 57,187, 42,  8,221, 95, 77, 81, 29,  3, 67,100, 73,140,  0,174, 57,169, 58, 51,239, 44, 95,173,110,231,109, 61,155, 47,
- 52,247,128, 74,136,238,164,201, 42,102,  4, 80,128,128,132, 76,106,106,150,  9,137, 36,118, 57,185, 25, 33, 76, 42,222,118, 62,
-120,  2, 70,102, 73, 58,140, 67, 21, 48, 85,227,191,249,171,127, 10,132, 88, 46,131, 14, 37,202,  2,  4,123, 52,185,187, 57,149,
-152, 34,151,179,143,137,246, 95,114, 81, 45, 49,114,  1,203,140,171,130,145,182, 76,  4, 86, 82,234,232,196, 12,121, 88,247, 54,
-107, 27,216,155,186, 73,246, 64,131,177,192,227, 69,144, 13, 99,141,184,128,182,246, 90, 21, 51, 44,221,  4,252, 61,101,126,  4,
- 14,140,138,110, 40,239,239,132, 88, 94, 68,202,108,100,252,101,101,138, 65,227,107,  6, 16, 56, 20, 34,205, 61,109, 14, 17, 65,
-132,238, 79,121,119, 52,240,167, 15,151,223,190,122,147,210, 48,157,206, 38,147, 69, 51,105,217,244,197,155,247,243, 89,123,124,
-184,252,228, 59, 63,172,  2, 13,131,137, 64, 30,114,140,209, 53,151, 37,193,248,240,227,145,159, 51,102,120, 96,255, 36,115,221,
-175,153,201, 85, 71,114, 77, 16, 55, 71, 36, 14, 97,220,133, 48, 33, 50, 20, 40, 13,141,192,  5,  4, 64,164, 82,121,229,241, 22,
-127,207,141,252,125,170, 65, 51,214, 85,  4,150,210,  8,227, 58,122,182,130,191, 65,  0, 10,162,154,175, 46,111,187, 33, 79, 39,
-211,131, 71, 71,239, 94,191, 35,105, 76, 21, 65, 81,234,213,245, 41,113,104,218,182,219,221, 73,140,110,166, 78,155,187,211, 73,
- 35,194,116,126,121,125,122,113,121,189,190,107, 38,179,127,252, 95,254,147,213,234, 70,152,221,210,226,248, 33, 14, 29,114, 19,
- 39,179,201,124, 81,214,179,183,151,103,  0, 52, 93, 30, 64,218,173,238,238,186,110,235,121,  7,110,196, 33,245, 93,197,232, 57,
-197, 24,251,126,183,217,236,158,127, 56,253,230,253, 73, 54,173, 66, 21,165,206, 90,  4,132,252,225,234, 10, 28,166,109,235,234,
-211, 73,219,165,132, 37, 69,132,156,211,182,110,230,234,158,114, 74,221,106,189,237,189, 84,254, 98,181,217,174,204, 93, 77,147,
- 51, 35,130,246,185, 91,109,  7,173,219, 89,191,187,227,170,101,242, 40, 81,251, 13,114, 85,181, 97, 24,122, 55,  4, 75,132,184,
-219,221,177,136,187,182,237, 98,125,115, 90,215,211,105, 59, 97, 68, 17,  4, 55, 85,184,184, 58, 89,173,239,212,168,110,231, 13,
-179, 73,180,212, 55,205, 68,152,155,197,  3, 29, 54,150, 19, 73,152,206,150,110,249,238,246,250,193,163,167,199, 15,159, 76,102,
- 83,194,  0,150,186,212, 81,168, 43,225,205,221,117, 53, 91, 54,179,229,226,224,224, 15,254,228, 23,159,126,239,251,237,108, 74,
-196,219,205,221,229,213,201,201,219, 55,175, 94,189,124,249,230,245,243,183, 31,222,159,157,223,173,215,243,233,226,151,191,248,
-243,191,252,239,254,251,118,118, 52, 88,255,232,225,195,207,143,234,103,199,237,230,238,250,237,203, 23,223,124,253,237,147,207,
- 62,141,203,217,191,251,219,191,127,240,224,248,242,230,246, 55,191,254,246, 97,219, 28,207, 39,128, 92,  0,233, 85,164,166,170,
-  9, 41,171, 39,245,146, 64, 40,141,121,205,  9,108,140, 23, 19,  1,  3,101,205,229,205, 61,153, 17,161, 48, 35,160,170,  5, 97,
- 34, 30,205,206,140,165,159,195,204, 49,114,206,154,109,196,148, 11,163, 90,185,145,  1,  5,140, 65, 76, 97,124,153, 46,200, 71,
- 26, 89, 52,238,168, 57,131, 89, 54, 13,136,204,236,  0, 81,162,237,  9, 35,184,  7, 88,149,  5, 85,225,240,148,200,130,136,140,
- 51, 37,  0,117,199, 66, 64, 33, 22, 33, 53,199,189,140, 65,205, 99,  8,109, 59,169,155,118,159, 83, 48,116, 48,183, 40, 34,145,
-213,204, 84, 99,  8, 72,100, 62, 10,252, 16, 33,169,166,108,130,132,196, 57,123, 93,  9,145,152,121,206,206,130, 76,161, 44,117,
-131, 80,206, 90, 12, 36, 65,  8,144,205,140,  8, 73, 40, 74, 68,  4,102, 22,137, 52,190, 97, 27,  0,174,187,  4, 41, 47,231,179,
-200, 20,235, 10,129,213, 85,208, 89,216, 44, 51,146, 16,141,204, 64, 68, 33,206,238, 57,165,148,115,133,132, 20,179,102, 24, 89,
-177,168,106, 66,232,  6, 89,179, 48,187,155, 96, 97,204, 91, 17, 28, 26, 24,  1,  0, 49, 27, 26,186,187, 58, 17,154, 58,162,129,
-149,187,182,123,118, 39,196,194,  9,  0,116,  7, 45,110,111, 55, 87, 47,143, 10,194,226, 59, 29, 25,186, 57,217,108, 62,127,255,
-234,132, 30, 44,161,228,105,145,144,196,192, 93,129,  4,203, 44, 26,198,217,213, 56, 92,  1, 47,176, 45,190,215, 24,141,139,203,
-113,119,234,196,226,234,  8,110,234, 44,156,135, 60, 50,184, 28, 12,139,113,213,  0, 16,  5,193,246,222, 65, 32,115, 43, 41,121,
-188, 71,240,222, 27, 51, 20, 74,112,168,228,154, 84,181,138,213,159,254,236,123,255,219,255,249,235,249,116,214, 76, 91,161,112,
-252,232,241,179, 39,151,255,199,191,255, 79,223,253,252,211,205,213,201,251, 15,239,  9,163, 68,110,219, 73, 93,215, 18, 35,161,
-170,  1,163,192,168,139, 42,182,151, 66,169,115, 34,214,212,  3, 17, 20, 66,129,106,249,246,162,144,233,232,176, 85,205, 56, 86,
-125,141,164,180, 75, 96,156,130,129,187,105,201,115,  1,154, 59,149,242,153,155, 35,149,183, 31, 41,105,168, 24,  3,114, 64, 38,
- 10,194, 68,150,114,209,160,163,187,199, 74,147,186, 67,238,182, 67,191, 75,121, 32,  3,  2,236,250, 77,136,147,148,125,123,115,
- 86,183,139,102,118, 52,116, 27, 68,214,190,231,106,106,253, 46,167, 97,114, 48,203, 41,119,253, 48,100, 27,186,244,228,241,  3,
-138,109,104,102,152,186, 56, 59,172,218,101,191,237,168,170,208,108,216,108,218,217,209,250,238, 90, 83,215, 46, 22, 66,212, 35,
- 94, 95,157, 46, 14, 30,109,239,174,167,243, 67, 17, 57, 56, 92,244,119, 55, 44, 65,181,  7,105,179,247, 23,171,213,217,205, 77,
-219, 86,102, 62,109,218,202,227,174, 31,102, 77,219, 84,213,139,211,139, 42, 86, 63,250,236,  9, 51,207,234,233,114, 57,235,186,
-225,230,230,188, 75,105, 24,122, 34, 70,174, 82,159,114, 26, 80, 98,206,195,108,190,128, 28, 52, 89, 74,125,234,214,119, 68, 71,
-139,121,172, 39,104, 87,102,105,182, 56,170,163,120,182, 97,232,118,119, 23, 92, 15,136, 11, 38, 26,186, 27, 66,195,208,206,166,
- 75,116, 50,244, 73, 83,221,198, 42, 15,119,170, 65, 53,139,230,110,183,187, 94,111,152,165, 14, 50,155, 63,184, 91, 93,223,110,
- 86,134, 64,154,114, 26,220,109,182,120,152,211,110,121,248,232,246,246,114,189,186,238,251, 65,194,180, 27,244,228,171,255,103,
- 50, 61, 88, 30, 62, 48,183,182,106,154,118,126,115,119, 61, 63, 56,254,209, 31,253,164,157, 31, 30, 30, 31, 87,149,228,156,251,
-190, 91, 93, 95, 95,156,189,123,251,238,205,201,217,249,201,217,213,217,213,229,245,221,106,218, 76,126,246,  7,127,252, 71, 63,
-254,163,186,153,190,124,249,119,237,244,232,  7, 79, 31, 60,125, 52, 77,221,221, 55, 95,255,250,228,253,201,209,147,199,192,124,
-122,113,249,226,221,135, 60,164,175,190,250, 70,204,159, 46,103,117,  8,201, 64,152, 17,169, 10, 76, 84,240, 44, 22, 98,108,155,
- 58, 13,189,170,130, 89,233,203, 88, 89,126, 66, 25,  5,148,172,130, 23,149,  0, 33,245, 41, 69, 14,200, 52,104, 14, 36, 34,140,
-238,230,206,140, 76, 56, 36, 75, 29, 56, 19,  0,162, 25, 16, 21,145,230,190,236,  8,125,202,132, 24, 98, 25, 49,187, 48,  7,  9,
-217,178,153,170,230,162,182, 22,100,226, 17, 90,158,221,145, 75,227, 27,205,202,219,171, 17,137,136,244,125, 18, 66, 36, 84,211,
-172,101, 82,237,  5,249, 72, 35, 37, 11, 84, 29,185,  8,244,220, 92,131,  8, 33,246, 93, 55,164, 76, 72,217,243,208,247,224, 78,
-232,131,102,200,  8,  8, 18, 99,105, 96,133, 24, 80, 61,129,230,148,128, 32,148,190,  9,141,105,115,119, 43,211,126,  7, 83, 27,
-  0, 28, 28,147,105,249, 69,131,165, 98,237, 99, 17,112,103, 14,132, 96,206,224, 70,104, 64,228,110,140,124,215, 15,219,245,230,
-209,225,124,210, 54,170, 86,254, 68,117,136, 57,103,116, 39, 14,238,174,166, 76, 65,  4, 93, 45,229,156,179, 18,123,100,114, 33,
- 43,  7,  5, 22, 25,108, 16,114, 51, 45,236, 52, 34,128,  1,132, 17,180,204,100,144,  0, 24,198,212,184,141, 64,117,195,123,163,
-249, 72, 13,216, 15, 50, 92,141, 36,128, 25, 75, 89, 82,131, 59, 48,161,187,141,123, 78,252,189, 24, 29, 92, 73,234, 38, 98,206,
-142,224,229,  5,192,212, 10,  0,216, 11, 91,216,141,202,137,168, 99,135,130,192,243,  8, 43,222,235,213,105, 31,153,119,115, 47,
-105, 66, 36, 36,169, 10,172,107,  0, 35,  3,115,  0,166,178,142, 69, 83, 79,128,110,121, 76,  3, 16,168, 59,237, 17,105,165, 64,
- 33,132, 99, 96,126,  4,234,  0,122, 80, 55,  6, 28, 82,254,252,201,167,143,143,222,191,120,243,110,121,116,112,112,248,100,113,
-120,244,253, 31,124,239,236,226,234,127,254, 95,254,237,191,250,111,127,254,233,103,223,173,106,185,190, 89, 63,125,246,236,250,
-244,148,152,156,  8, 24,116, 84,  5,224,158, 51,195, 68, 98,101,151, 43,  1, 28,135,180, 99, 64,160, 64,129, 77, 13,205,145,193,
- 82,146, 80,141,  0, 36, 68, 66, 44,100,158,251,244,234,125,231,110,116,137, 35,104,202, 40, 76, 36,251, 98,  7, 33,147, 13, 25,
- 34, 99, 96,100,209,190,119,166,125,243,  2,185,146,180,235,  1,145, 67,133, 68,136, 81, 68,192,149, 72, 16,197, 53,107,182, 12,
-113, 50,171,119,119,167,195, 96,177,169,192,128,153, 55,171, 43, 25,159,156,150,210,224,  4, 89,117,214,212,253,118, 35, 28,116,
- 24,170,229, 19,119, 55, 52,221, 93,  3,122,159,105,105, 25,184,230, 56,113,211,221,230,206,186,141,232,182,173,167, 94,  9,153,
- 26, 36,208,184, 53,239,251,126,219,247,174,118,183,190,185, 94,109,213,245,110,179, 11, 18, 66,144, 71,143, 30,217,135,147,171,
-171,179,131,217, 28,145,254,238,213,171, 24,165,105, 38, 19, 35,242,165,132, 48, 40, 84,245,146, 64,123, 85,  1, 75,128,109, 51,
- 49,247,108,182,233,118,100, 90,213, 45,185, 33,  2,161,119,253,110,209, 54,211,195,199,125,175,253,250,210,114, 94,206, 38, 67,
- 31,182,134,112,123, 38,213,212,188, 35,169, 45,173,174,111, 94,198,246,160,169, 39,205,100, 78,228,211,201,228,230,230,170, 31,
-250, 16,229,122,221,221,173, 55, 77,213, 78,154,137,166, 45,154, 91, 78,234, 74, 48,165,170,118, 87,142,209, 44,167,100,253,118,
-117,125,246,254,240,248,243,229,193,113, 73, 23,214,237,228,102,181,238,178, 79,231,243,221,135,231,186,187,251,201,159,253,215,
-207,190,255,227, 80, 73, 16,  1,135, 52,244,235,213,205,245,233,135,183,111, 94,189,253,240,241,227,217,249,217,229,213,213,106,
-213,117,253,247,190,248,226,127,248, 23,255,211,197,199,183,125,191,147,118,249,228,193,147, 31,125,126, 52,109,240,226,252,205,
-155,111, 95, 78,151, 11,105,155,179,203,179, 39, 95, 60,186,222,236, 78, 79, 47, 23,117, 56,168, 98, 29, 43, 66, 40,165,193,192,
- 92, 69,201,102,217,157,  8,235,186, 42,167, 79, 95, 66,236,197,178, 73, 88,110, 18,230,198, 20,220,115,185,220,171,154, 16, 15,
-154, 43,  9,201,114,133, 21, 98, 64,180,126, 72,217,124, 86, 87,253,208, 51, 99, 36,114,115, 83, 99, 71, 22,234,146,  2,227,164,
-170, 77,181,207,  9, 16,145, 69,246,195,130, 58,136, 35, 15,253, 64, 76,234, 46, 76,238,230,232,117, 19,  7,117,112, 11,132, 74,
- 24, 72,178, 90,118, 64,242, 72, 85,136, 65,115,  6,112,114, 20,146, 62,167,148,141,  9,  8, 37, 91, 34,112,  9, 81, 53, 17,178,
- 48,198, 80, 37, 85,115, 16, 34,145,232,142, 93,223, 71,213, 16,121,219, 23, 98, 78, 86,183, 97, 72,194,194, 33,224,136, 66,  1,
- 66, 32,211,205, 48,  8, 49, 35, 59, 24, 18, 50,177,101, 15,145, 25,209,144,220,220,  5,192, 72,199,188,181, 23,172, 14,131,199,
- 32,136,129,220,202,236, 55, 18, 15,230,110,  9,203, 23, 73, 18, 67,236,212,110, 47,175,159, 28,206,167,147,  5,170,151, 52,167,
-186,147,107,140,156,179, 41,128,153, 87,194, 56,194,241,157, 80,155, 90,118,253, 48,244, 67,219, 86, 65, 88, 51,  1,  6,243,174,
- 12,217, 42,145,242, 72,203,217,  1,153,255,250, 95,252, 85,129, 18,220,199, 34,247,175,251,232, 54,140, 42, 59,192, 61,146,191,
- 92,189,209,221,153,208,204, 28, 92,152,169,244, 63, 97,236,153,238,201, 94, 99, 43,108,188, 38, 51,166,221, 26,171, 54,148, 71,
-122,233,113, 21, 40, 17,148,197, 67,  1, 80,142, 24, 73,  3,  5, 64,115,231, 81, 65,228,224, 99,181,149, 92,221, 21,192, 16,101,
- 28,224, 23,110,  3,142,104, 93,223,227,140, 75,108, 28, 76, 29,204, 61,153,230,130,209,216,255,102, 99, 96,  6,121,156,154,141,
-227, 31,  2, 70, 46,133, 37,  0, 32,161,199,199,179, 95,255,238,133, 57, 28, 30, 29,198, 80,185, 89, 19,229,239,126,243, 77, 59,
-109, 14,151,211,217,241,147,155,211,247,103, 39, 31,251,110,215, 78,102,197, 39,201,132, 44,161,244,185, 75,172,197, 52,131, 91,
-193,253,154,149,144,108,145, 52,101, 55, 71,102,  4,160, 66,133,116,  7, 30,191,207,197,102,139, 72,110,174, 41, 49, 33,241, 56,
- 76, 47,175, 32,154, 51,184,150, 47,189,164, 32,202,103,180,110, 23,177,106, 76,149, 24,137,  3,197, 96, 89,209,204,189,  4, 73,
-145, 88, 94,252,230,171,190,239,151,243,201,242,201,227,183, 47,158, 35,197,156, 54, 93, 63,  8,123,211,206,182,155, 77, 59, 93,
- 16, 49,  5,209,156,114,206, 54, 92,205,167,179,237,110,119,117,115,115,122,113,121,187,217,254,193,151, 63,126,244,232, 19,212,
-206,242,  0, 28,134,126, 93, 71,105,219, 86, 51, 85,243,227,136,233,252,195, 55, 92, 77,153,201,140, 82,191,233,251,237,100,126,
- 96, 57, 77, 23, 75,118,212,221,238,228,252,125, 86,100,  8,169, 31,222,157,159,191,185,184,238,135,220,165, 62,144,148,  0, 66,
-136,114,187,222,172, 54,235,  7, 71,135,219, 93,255,238,226,108,209, 78,134,180,  5,  0, 22, 73, 41,213, 33, 58,184,154,238,182,
-119, 85, 61,233,119,235,174, 91, 35, 32, 75,165,218,  5,137, 93,218, 73,136,221,238, 78, 88,218,118,114,113,246,209,193,170,122,
-210, 15,121, 24,118,109,211,184, 99, 54,182,220, 25, 88,219, 46,152,164,235, 86, 77, 53, 65, 16,  3, 35,  4, 71, 28,134, 33,231,
-225,244,246,214,129, 31, 31, 62, 56, 88, 30,  1,178, 27,152,166,131,197, 82,234,246, 96,126, 80,  5,217,179,178,243,102,183,173,
-218,217,164,138,147,195,135,105, 72,253,234, 60,198,106,182, 56,158,206, 14,115,191,233,251,190, 31,250,159,254, 87,191,252,242,
-143,127, 94, 87, 33,  4, 65,132,205,102,115,115,121,246,246,197,215, 95,127,253,187,231,175,223,188,254,240,241,205,201,249,205,
-106, 85,199,240,203,159,255,249, 47,126,242, 39,159, 60,123,134, 49,180, 77,251,229,147,233,247, 63,153,107,218,189,125,249,234,
-221,203, 55,143,191,251, 25,180,245,111,127,251,245,211, 79,159,188,120,119,250,235,191,253,221,163,182, 94, 78,218, 42, 10,148,
- 28, 50, 81, 45, 17,  9,134,114,191, 35,169,171,202,193, 85,147,154, 10, 11,148, 98, 28, 22,181, 36, 10, 83, 32, 41,241,143, 18,
- 61,224,200,150, 13,  8, 16, 41, 16, 59,104,182,188,235,123,  4, 12, 76,217,148,144,186,172,110, 90, 96, 89,106, 54,152, 71,230,
-192,216,167,156,114, 46,114,248, 40,228,136,102,214,198,160,102, 73,115,121,103, 29, 69,213,128, 85, 12, 93,159,205,146,170, 22,
-239,  6,  0, 57,154, 16, 71, 97, 98, 26,114,206, 41,155,123, 19,162,186,186, 91,129, 22,128,155,  0,  5,150,236,230,  0, 33,176,
- 58,170, 59, 33, 86, 66,196,156, 82, 50,183, 32,146, 52,119,125, 34,129,156,117,215,117,170,218, 54,117,206,217, 53, 49, 18, 33,
- 69, 33, 53,239,213,152,  8, 16,202,216,185,220,210,132, 89,136,179, 89, 25,149, 18, 22, 95,  6, 18, 17, 17,103, 83, 55,207, 14,
- 81, 36,198,160,110,  0, 42, 28,144, 73,152, 13, 72,205,170, 82, 72, 33, 62,185,185, 99,203,203,217, 12,204, 32,  8,122,209,207,
- 17,  9,151,222, 30,185,  9, 35,161,184,155,130,  7, 70,145,106, 59, 12, 58,244,145, 37,151,215,122, 98,183,220,167,  4,132, 21,
- 83,118,  2,176,146,222, 51,  4,254,235, 95,253,243,  2, 12,178,189,105,110,223, 23, 29,231,218, 60, 74, 55, 70, 36,  1,236, 59,
- 14,247,160,177,177,177, 92,238, 39,232, 68, 92,216,149, 99,184,124,212, 60,  1,  2,122, 26,182,131, 78,154,186,168, 23,  1, 20,
- 73, 70, 37,147,141, 77, 56,119, 48,176, 82,199, 42, 35, 10, 26, 73,  6,123,176,145,187,105, 26, 47,180, 35, 78,158,240,254, 37,
- 99,223, 12, 66,  4, 34,161,189, 90, 22, 74,  2, 21,201, 65, 75,232,138,198,  0,252,184,122,184,207, 69,238,255,251,242, 36, 43,
- 47, 20, 54,155,205,216,243,183,175, 62, 28, 44, 23,  7,  7,  7, 33,  4, 83,157,212,241, 63,254,167,175,191,243,236,193,124,182,
-168, 39,211,155,171,219, 47,190,243,221,237,221, 13, 49,  9,145, 57,236,227, 46,163, 67,170,188,148,236,105, 16, 12,142,158, 77,
-193,133,100, 52,194,178,  0, 24,236,135,141, 62,110,111,138, 95, 16,  0,139,113, 23,239,159,153,238,174, 57,237, 86,151, 57, 15,
- 44, 21,  7, 25, 25, 79, 76, 14, 20,234, 22,  1, 89,194,168, 98,  5,  7,207, 20,196,251,158,136, 37,132,161,239,222,191,249, 96,
- 92, 29, 28, 29, 29, 60, 60,252,248,230,125,223,247, 20, 91,192,200,168,183,103,111,128,235, 24, 69,164,114, 34,  4,200,125,175,
-253, 77,136,213,102,187,253,112,118,254,241,252,114, 72,249, 79,255,244, 31, 47, 39,113, 72, 67,153,197, 85, 85, 92, 28, 60,224,
-230, 96,117,115,190, 60,126, 84,181,245,249,233,  9, 34,166,237, 93, 74,125, 30,186,201,236,209,176, 93, 15,253,206, 53, 15,221,
-250,226,228,165, 26, 70,  9,221,110, 85,183,245,203,119, 31,159,159,158,246,185,215,148,135,156,133, 57,165,161, 79,125, 19,235,
-110,232, 17,160,169, 99, 82,187,184, 93, 45,167,203,229, 98,190, 91, 93,214,205,100, 72,249,238,238, 44, 48,  3,137,129,212,117,
-221,111, 55, 18,171,166,158,152, 27, 19,109, 54,235,108, 46,177, 65,183,171,219,219, 12, 30,171, 26,192, 93,251, 32, 21,154,174,
-239,110,154,118,174,195, 22, 60,115,168,116,216,180,211, 67,137,147, 97,216,170, 38,  0, 24, 82, 94,109,119,131,218,162, 93,212,
- 34,117,211,244,187,213,250,238,170,105, 91,145,112,176, 92,244,221,110,215,245,179,233, 36, 15,195,144,146,170, 13, 41, 87,245,
- 20, 72,204,114,223,247, 40,245,108, 50,  3,160,213,110,163,230, 77,172,126,240,211, 63,250,226,251, 63, 18, 22, 32,239,119,187,
-221,122,115,254,241,253,183, 95,127,245,252,197,139, 87,239, 63,188,254,120,250,225,236, 28,221,127,240,236,211,127,252,243, 63,
-251,252,201, 83,103,140, 85,117, 56,159,124,241,112,218,242,112,241,241,227,187, 87, 47,135,148,214,219, 93,103,250,242,219, 23,
-183,119,235,215,175, 62,110, 46,111, 30, 78,154,182,169, 80,  8,172, 80,  4,  9,  9, 12, 44,171, 35, 82, 21, 42, 10, 98,154, 83,
- 74, 35, 34,144,152, 89,136, 66,249,192, 23,175,145,129,187, 89,209, 28,149, 17,171, 48,152, 90, 45, 92,138,148,110,229, 87,162,
-186, 49, 33,145, 48,  2,128,152,233,160,234,  0,194,224,133,223, 91,206,128,209,165,201, 81, 66, 29, 36,101,  5, 55, 52,100,102,
-  3, 18, 98,199, 18,197,182, 33, 15,227,145, 10,168,102,102, 57,134, 80,254, 78,149,134,160, 48, 27,162,165,236, 96,229,212, 40,
- 30,  4, 97, 50,244,113, 43,133, 52,118,220,203,225, 86, 44, 58, 68,132, 66,136,149,  4,  5,200,230,140,192,  8, 41,167,156, 19,
-  0, 85, 65,152, 73,  1,209, 65,  8, 28, 89,136, 74,103, 86, 88, 16,128,137,108,140,218,219, 40, 90, 64,148, 80,194,254,131, 38,
- 45,255,211, 66,199, 18, 98, 36, 49, 47,191, 18, 10,137,158, 16,131,200, 77,151,118,219,213,225,124, 30, 75, 55,106,156, 64, 35,
- 34,106,  6, 98,144,192,200,236,230, 10,134, 72,194, 84,184,235,232, 94,198,107, 64, 20,  3,151,165,183, 16,133, 32, 10,  8,102,
-  4,174, 89,213, 45,231, 44, 40,  1, 93, 11,189,196,247,164,147,251,209,138, 23,102, 26,209, 72,176, 28,235,152,182,143,105, 23,
-242, 56,248,126,156,130, 37,238,200,228, 14,251, 32,149,237, 71, 30, 80, 55,205,197,249, 10, 15,102,100, 96, 94,232,230, 25, 28,
- 44, 57,162, 33,147,141,231,214,  8,138,  3, 40, 82,139,113, 66,131,192, 37,  3,238, 18,213,148,241, 30, 92,199,128,186, 39,147,
-177,147,238, 49,153, 86, 18,174,102,128,196, 44,204,136, 89,139,191,207,113,172,146, 22,143,248,253,100,198,144,144,152,205,188,
-100, 43, 17, 16, 49, 12, 74, 63,250,209,247,190,121,249,225,221,187,119,135, 71, 15, 38,147,249,226,248, 72, 85,207, 46,175,255,
-237,191,255,245,163,199, 79, 82, 63,236, 54,183, 92,215, 10,105,232,119,128, 88,  2,181,166,  5,118, 77,229, 13,198, 13, 76, 93,
- 34,151,146, 19, 48,146,123, 78, 61,138, 16,130,165, 68, 60,254,145,202,232,  9, 17,193,117,127, 65,128,145,125,140,232,166, 36,
-140, 44,110, 70, 34,224,108,123,  1,226,184, 49,134,226, 83,119,102,215, 33,113,211,186, 38, 44, 22,202,170,  2,137, 14,150,214,
-119,182,187,  5,136,174, 10,166,204,194,161,252,124,135, 52,164,164,216,134,170,219,110,154, 89, 32,  7, 53,239,119,183,101,177,
- 53,228,126,219,117, 67,202, 85,  8,  7,109,216, 93,190, 85,108,195,100,174,121, 23,227,  2,144, 79, 63,188,237,119,125,218,222,
- 52,213,242,203, 63,248,233,199, 55, 47, 79,222,254,174,158, 30,144, 84,136,149,129,  1,122,183,186,232,182, 29,202, 84,208,130,
-224,132,105,187, 94,125,184,190,209,236, 66, 65, 68,251, 60,220,174, 86,179,201,164,170, 99, 91,197,249,100,114,183, 94,179, 80,
- 96,233,250,225,239, 95,191,172,  3, 30, 78,219,100,151, 18,154,166, 57,170, 68,239,174,175,166,  7,143,234,192,237,100, 34,161,
-233, 82,159,250,181, 89,116, 77,187,190, 23,137, 21, 35, 80, 64,199,126,187,201,  0,149,240,174,219, 49, 97,159, 85,250, 93, 12,
-177,223,173,153, 47,164,154, 66, 74,193,185,169, 39,169, 95,175, 54,155,235,235,147,200,205,225,100,145, 92,145, 67, 78, 67,172,
-230,253,144,186,110, 59,157, 31, 95,223,221, 14,221,122,179, 89,  5, 38, 68,182,156,169,110, 17,112,183,189, 90, 44, 31, 13,253,
-182,110,106, 52,179, 97,123,244,228,179, 93,191,107, 22,139,103,159, 61,123,240,244,177, 83,216,238,182, 58,116,155,187,245,229,
-213,199, 15,239,222,191,251,240,225,205,201,233,217,197,205,106,187,249,242,217,231, 63,253,242,139,131,249,193,106,155,110,119,
-221,227,163,195, 71,173, 29,206,233,246,230,226,253,219, 55,237,180, 26,192,  6,205,203,135,139,183,167, 23,175,223,124,168,131,
- 28,183,173, 72,  9,124,  3,  0,178, 16,  7, 41,  9,105,102,140, 21,141,158,226,100, 14, 40,194,170, 94, 42,220, 33,132,172,150,
- 29,177,180,120,204,120,116, 55,131,151,127, 71,  7,128, 24, 56,155, 21,123,176,144,171,249,254,147, 12, 96, 70, 68,217,114,202,
-169,239,135,194,160,138,194,196,130,132,213,216,200,103, 97, 30,242,224,138,134, 78,192, 70,142,110,177, 10, 68,  2,217,138,107,
- 45,  4, 49,179,253,122,140, 74,219,209,  0,  0,177,140, 82,211, 48,144,155,132,176,237,123,243, 92, 94,100,147,154,163, 16, 19,
- 33, 37,119, 70,172, 57,168,171, 22,180, 11, 11,  3, 23,233,178,128,168,155, 32, 83, 69,105,112,207,230,144,171, 88, 73, 33,245,
- 19, 69,226,  4,102,102, 21,143,125,159,192,236,238,166, 90, 34,122,196, 66,224, 54,118,104,152,152, 82,202, 80, 84, 36,224,136,
- 24, 88, 40,134, 62,101,207, 10,  4,106, 42, 82,230, 60,128,228,219,148,239,238,110,230, 77,221, 54, 77,249, 73,185,131,255,255,
- 84,189,215,151,101,201,117,167,183, 93,196, 57,231,186,244, 89,174, 13,218,192, 53,  0,130, 67,209,138,196, 12, 37, 74, 90,212,
-112,104,158,134,212,155,254, 73, 45,189,105, 73,163, 53, 67,105,196,161,  8, 52, 97, 26,109,202, 87,102, 86,250,235,142,137,216,
-123,235, 33,206, 45, 80,111,  0, 26,171, 58, 51, 43,239, 57, 17,123,255,126,223,135, 94,134, 16, 34,236,101,181,166, 89, 85, 99,
- 21, 76, 65,179,150,191, 17, 69,  8,194,149,112,175, 94, 22, 36, 66,136,  8,217,156,  1, 18, 80,159,147,166,161,169,107, 85,227,
-127,255, 87,255,227,  8, 98,124,103, 64, 26,143,240, 59, 54, 11,254, 38, 27, 78, 72, 68,193, 11,166,166, 20, 10,162, 32,145,219,
-200,146,100, 34,192,119,143,153,113, 35, 58,178, 67,129,136,237,230,230,126,127,190, 55,238, 10,137,139,173,123,228, 16,  4,122,
- 39,118, 29,255,205,238,132,100,160, 59,103, 83,193, 64,234,168, 41,228,176,171, 35,141,180,176,209,216,  7,136, 72,130,  4, 68,
-130, 92, 46, 35,133, 86, 81,184,138,160,128,140, 52, 22,109, 75, 55,130,129, 10,147,236, 29,125,172, 72,164, 16, 81,144,217,221,
-170,192,179, 58,254,236, 87,223, 44, 22,243,189,253,163,130,196, 58,216,159,255,211,231,191,116,247,143,222,127,239,228,209,131,
-203,203,183,179,217,188,223,182,177,174,217,199,133,  5,115, 24, 51,151, 14,196,140, 92,252, 34,239,118,186,227, 70,193, 77,193,
-205, 85,181,239, 28,180, 60,230,125,132,184,209, 40,131,100, 26, 99, 14, 88,102, 48,198,194, 34, 81, 36, 74,172,138,212,189, 76,
-186,204,168,158,206,137,176,188, 25, 98,221, 88, 74, 40,236, 14,200,  1,180,183, 65,157,194,249,155, 55, 57,219,193,233,131,163,
-211,195,179,231,175, 33,196,118,189,204,219,155, 46,217,252,240, 33,186, 74,168,203, 97, 72, 29,187,205, 77, 16,101,225,219,155,
-229,249,229,237,221,102, 83,215,147,255,238,207,254, 26,136,185,154, 16,241,252,232,116,113,240,240,237,217,139,229,249,215,251,
-167,143,231,123,251,  8,116,255,246,217,118,211,237, 29, 62,244, 60,104,214,249,252, 40,229, 62,183,155,183,231,175,238,239,175,
-182,219,251,201,108,159,  0,108,216, 92,221,222,252,236,233, 43, 71,209,156,  8,129, 16,171, 32,109,206,168,120,189, 90,214, 85,
-188, 95,111,134,156,131,240,188,153,116, 89, 47,175,111, 79,247, 22,179,201, 36,229, 60,169, 39,195,176,110,234,137, 35,247,253,
- 96,154,203, 26,142, 44,153, 42, 83,189,191, 88, 16,146,147,228,212,151, 58,116,144,170,164,193,170, 42,106,182,217,116, 58,108,
-239,102,123,199,170,154, 21,145, 72,132, 83,191, 94,109,215,142, 20, 83, 90, 28, 62,210,156, 40, 84, 33, 68,  4,200, 57, 15, 67,
- 27,235, 41,168,130,231,216, 44,204, 76,115, 18,198, 72, 58,169,154,166,170,182,247, 23,166,221,102,121, 43,213,164,239,214,235,
-187,179,197, 98, 95,154,248,254,199, 31, 77,103,179, 48,153,130,234,242,246,234,254,246,230,245,139,111,190,126,246,244,229,217,
-235, 87,231,151, 23, 55,119, 93,215,254,248, 59,223,251,201,143,127,119, 90, 87,219,237, 82,170,248,241,123, 71,159,125,231,253,
-200,126,246,250,229,213,229,249,225,163,211,181,229,103, 79, 95,206,166,147,167, 47,207,222,188, 56, 63,110,154,195,102, 30,133,
-128,198, 81,167, 16, 69,150,194, 58, 68,  0,  3,151, 50,199,128, 34,118,116, 98,  9, 33,136,  8, 16,211, 40, 85,  3,181, 84,142,
- 71,230,230, 56, 94,208,  1,144,  2,170, 21,128, 24,160, 89,233,  8,142,151, 98, 70,115, 23, 66, 69, 65,112,181,180,220,180,253,
-208,149, 95,248,166, 42, 15, 77,158, 53, 53,160,108,251,174,124,250,199,130, 44,141,149,198,114,122, 29, 93,110,224,234, 16, 36,
-148,153,  0, 49,243, 72, 14,192, 29,150,170,216,235,148, 16,179,101, 64,102, 68,225,242, 44,114, 53,152, 84,177, 10, 33,171, 26,
- 64,148,192,200, 40,129,131,  8,115, 73,183,112,145, 25,143,228,153,210,185,161,192, 36, 33, 34, 11,  0,140,159, 38,119, 66,246,
-145,219,  2,133, 79,238, 14,230,102, 89,137,  9,145, 56,200,144,210,200,188, 65, 68, 32, 17,  6, 26, 79,159,187, 73,  7,186,121,
- 96,146, 32,125,182,235,213, 42,160,157, 30, 28, 73, 12, 37,177,142, 72, 54,198, 14,137, 74,211,  5,129,  2, 49,138,170,149,210,
-168,186,103,117, 68,172, 88,114,105,232,  3,104, 78,234,128,  0, 33,  4,117, 72,169,213,172, 49,132, 40,146, 77,165,144, 35,188,
- 40, 81,105,204,  6,154,217,  8, 13, 54,220,145, 97,202,211,200,220,  7, 40,131,110, 34, 34,  4,  3,196,162,120,197, 17, 12, 89,
-  6, 19, 37, 52,  9,142,232,136,196,140, 57, 15,140, 68,168,217, 81,132, 44,239,106,170,132, 84, 66,221,185,232, 62,160,152, 90,
- 13,160,248,  0,132,196,124, 76,206,184, 39, 87, 47, 67,157,157,159,111, 55,212, 41, 47,  5, 65, 82,  0, 43, 44, 72, 80,176, 98,
- 28,  0,244, 18,  0, 66,  0, 10, 12, 12,144,189, 36, 81, 68,138, 38, 79,203,204,222, 77,203, 44,173,252,235,145,184,164,119,147,
-193, 71,159,188,255,193,211,151,207, 94, 60, 59, 57, 57, 61, 56,121,188,183,127,224,150, 62,120,252,240,127,253,223,255,254,  7,
-223,255,222,201,233,254,235,103,207,194, 71,159,180, 93, 55, 95, 64,118, 37,  4,  2,115,237,  1,101, 92, 92,141,203, 27, 40, 21,
- 39, 40,233,119,205, 72,100, 89,  1,193,114,118, 53,  3,119,  3, 14,145, 36, 32,178, 91, 46, 87, 59, 31,209,171,239,  2,172,  8,
-224, 34, 66, 20,202,231,174,  0, 54,205, 11, 69, 58,  8,187,102,231, 72,150,147,230, 36,177, 86,119,  6,  7, 96,174, 88,189,143,
-245, 44, 91,139,232, 34, 49, 78,103, 55,175,222, 16, 59, 73,104,151,183,243,189, 35,105,166,106,217,242, 48, 12,125,234,213,117,
-136,181,152,218,182,107,219,161,235,186,238,228,248, 68,132, 52,231,146,190,154,204, 22,183,183,151,125,215,214,251, 15, 31,188,
-255, 73, 12,184, 93,221,172, 90, 67, 14,195,176, 77, 41,247,237,218,161, 95, 93,191,110,102,  7,205,226,232,232,228,189,156,186,
-246,254, 38, 19,105,183,121,246,230,108,185,221,198, 32,204,148, 20, 67,140,132,152,214,235,229,144,212,237,250, 46, 11, 19, 33,
-181, 93, 95,133, 88,  5,190,184,189,249,135,175,191,254,201,236, 95, 77,234,104,154,219,182,111, 26,234,135, 13, 58, 74,172,212,
-208,135, 62,214,139,245,237,219,189,163,163,105,228,155,126,227,161,233,123,103,142, 96,195,208,183, 36,  2,  2,140,184,183,152,
-119,237,  6,144,133, 25,160,  2, 34,215,116,125,183,108, 66, 51,107,166,179,197,209,166,170,153,209, 45,128, 15,166,104, 68, 41,
-119,161,154,  4,137,221,208,130,153,118, 43,166, 48,157,238,117,237, 18,133,177, 84,237,129,179, 51,199, 73,234, 90,  4,142,243,
-227,106, 62,121,112,242, 96, 50,155,187,230,246,254,166, 93,111, 94,189,126,126,115,119,119,117,125,123,189, 92, 93, 94,223,174,
- 54,155,110,232,191,255,193,251,127,240,217,103,155,245,181,204,142, 62,252,214,183, 63,120,114,184, 63,175,110,175, 46,174,206,
- 47, 58, 77, 55, 55,203,231,151, 55, 81,232,250,126,121,246,230,178, 66,120, 56,157, 78, 38, 21,  9,155, 90,  0, 84, 53,102,  2,
-240, 12, 10, 64,204,145,216,146,105,118, 47,128, 57, 67,140, 49, 16,146,249,200, 42, 41, 65, 94, 83,125,215,187,  6, 36, 38,  0,
-  5,  0,138,129,186,161,117,  0,176, 28,165,178,242,153,195,226,254,180,130,  4, 30,  0,132,204,213,186,109, 63,228,108, 57, 33,
- 82,227,209, 50, 76, 39,140, 36,217, 12,  0, 39, 85, 61, 88,  6,119,137, 66,128,134,216, 15, 57,  8,131,  3,137,184,186,162,  6,
- 32,113,103,137,102, 89,193,  8, 17, 89,212,213,221, 69, 36,103,181,241, 74, 14,228,168, 38, 64, 84,177, 24,130,102,  3,183, 40,
-164,154, 85, 51, 17,135, 66, 51, 20, 42,104,240,228,142, 88,132, 84, 86,140,224,229, 40, 64,204,165,152,154,178,199,200,230,224,
-134, 85,164,172,217,  1,208,156,145, 11, 35,217, 44, 27,184, 16,  2, 71,119,  3,244, 97, 72, 37, 15, 97, 68, 37, 38,231,134,192,
-104,102,  8, 72, 65,176, 16,145,203, 77, 60,235,114,181,246, 60, 28,236, 47,140, 16,204,144,201,178,185, 15, 18,  3, 98,116,205,
-221,208, 49,115, 64,206, 58,246,  4, 16,209, 44,  3,208,164, 14,230, 88, 94,108, 65,100,200,102, 64,194,228,136,106,158,251, 14,
- 11,162, 31, 57,144, 32, 41,255,237, 95,255,229,168,205, 40,203, 77, 87,252, 13,200,203, 71,156, 97,193,200,140,227,130,145, 44,
- 38, 66, 84,198,234, 80, 22,239, 94, 66, 72,196,  5, 85, 52,226, 14,169, 68, 99,202,176, 29,101,189, 90, 41,201,162,174,199, 83,
-187,249, 88,195, 65, 42,184,204,194,109, 40, 44,183,119, 14,115, 34, 65,112,179,140,224, 84,142,222,196,  8,246, 14, 20,143, 99,
-197, 11, 24,145, 73, 80,200, 71, 55, 97,185,115, 32, 34,186,230,  2,231, 39,100, 48,243,221,184,125,199,211, 44, 46, 13, 96, 34,
- 96,218,129,  4, 12, 49,224, 14,244, 79,196,199,123,139,207,127,249,213,100, 50,221,223,219, 55,181,245,118, 89,  5,121,254,252,
-213,118,219,126,240,228,209,131,  7,239, 93, 95,158, 45, 14, 14,115,202, 28,  2, 19,169,230,172,153, 57, 72, 96,179,  2, 65, 26,
-139,187,204,  2,200, 96, 14, 68,160,217,205, 76,251,178, 87, 32,166,157, 73,149,223,169, 19,  0,138,237, 10,128, 72,132,199, 37,
- 56, 18, 33, 23, 19, 86, 97,106, 34,130,103,197,216, 52,211,137,131,  3,185, 52,181,165,150,235,202, 29,202,124,115,220,164, 56,
-222,222,172,179, 99,195,126,252,224,244,249,151, 95,231,140, 28,  4, 93, 66,136, 65,196, 65, 17,  8, 67, 52,128,225,238,141, 14,
-247,211,166, 73,217,223, 94, 94,159, 95, 93, 95,221, 92,255,193,239,253,233,199, 31,124,124,127,115,150,141, 79, 30,127,216,183,
-219,183,231,111,  4, 82, 93,215, 39,143,222,191,191,185,186,191,189,201, 78,218,109,167,135,167,194, 18,171,169, 33,108,215,247,
-158, 83,169,158,213,117,115,119,127,103,166,243,233,222, 63,126,243,236,237,253, 61,186,153,121, 70, 67,128,148,108,211,110, 10,
- 21,206, 29,204,189,138, 33,155,170, 25,128,207,154,201,186, 79,131,230, 39, 71, 39, 81,236,228,224,176,237, 90, 85,213,220,229,
-108,154,218, 62, 39, 79,121,189,186,173,170, 89,197,216,245,109, 55, 12, 70,209,135,142,131, 76, 39, 51, 32, 88,212, 53,135,176,
- 90,223,131, 67,144, 56,164,222, 85,239,215,183, 93,238, 15, 38,147,189,189,195,242, 73,  8, 18, 28, 28, 72,214,171,251,106, 50,
-  5, 75,154,250,186,153,110,182, 43,  3, 14,174,  8, 57, 84, 77, 64,148, 16, 99, 83, 51,210,122,179, 76,234, 15, 78, 31,169,106,
- 93, 55,135,199,135, 31,127,255,179,163,211,199,211,189,133,229,225,234,237,249,219,139,179,103, 47,158, 63,125,241,242,217,155,
-179,151,231, 23,231,215, 55,171,182,203,105,248,236,211, 79,254,245,239,253,235,233,116,222, 76,154, 15, 31, 31,125,255,211,247,
- 16,242,139,175,190,188,189,186,186,190,191,159,158, 28, 17,230,179,139,203,171,171, 27,237,134,147,102, 50,173, 42,145,130, 89,
-183,146,142,149, 16,220, 45,187, 17, 50, 35, 32,129,154,155,  3, 26, 48, 18,  7,137, 65,144,104,100,100,168,  1, 86,139,141,129,
-  0,  0, 32,  0, 73, 68, 65, 84,130,102, 43, 63, 85, 87, 31,143,169,227,120, 26,213,180, 27,  6,  5,175, 37, 32, 98,214,156, 71,
-128,107,185,146, 82,249,133,170, 99, 52, 53, 32, 31, 52, 13,154,163,132,170, 10,117,172, 38,117,237,  4, 64, 28, 40,102,183,140,
- 14,232, 33,  8, 33,179, 68, 83, 39, 22, 66, 32, 39,135, 34,105, 98, 97, 33,225,  2, 50,171,132, 99,224,148, 85,147,149,222,103,
-105,214,151, 47, 64,193,  3, 75, 93,213, 90, 42, 38, 12,133, 62,130,  5, 53, 72,100,142,117, 21,203,183, 15,  0,140, 24,130,148,
- 67,150,186, 23, 77,102,137,249, 23,201, 39,135,  0,142,234,198,194,133,123, 85,202, 49,  6,227, 80,186, 28,195,145, 71,205,131,
-153, 34,129, 68, 65,146, 64,104,170, 36, 92, 54,137, 72,104, 69,208,198, 50, 42,166,221,251,172, 55,203,245,193,108, 82,135,  9,
- 51, 57,163,102, 39, 68,137, 21,  0,164, 46,149,162, 25,146,104,233,237,  7,113,  3,117, 21,  9, 84, 76,182,142, 33, 50, 66, 24,
- 33,187, 68,238, 10,132,238, 20,  2,165,148,  5, 33,134,104, 14,201,141,255,167,191,249,203, 82,187,161, 82,161, 45,163,115, 55,
- 48, 32, 10,165, 41, 90,198, 44,  5,150,160, 58, 98, 91,  0,188, 76,155, 16,138, 48,218, 70,  7,105,105,155,218, 72,161,132,209,
-198, 81,210,136, 76,104, 87,183,235,211,147,147,194,224, 38,  2,116, 64, 97,166, 66, 46,251, 23,  3, 34, 64,  0,167,119,246,110,
- 70,  4,125,215,123, 42, 80,223, 17,152, 75,236,230,160, 80,216,198, 68,164,154, 76,211,216,218, 66, 20,198,194, 86, 52,  0,116,
- 35, 65, 36,216,153, 89, 70, 80,194, 56, 47, 49, 64, 66, 22,242,146, 54, 26,153, 55, 69,162, 66,102,190,127, 56,243, 33,189, 58,
-127, 59,169,235, 16,107, 85,101,146, 38,208,255,251,171, 95,255,238, 15,191,255,222, 39,159,228,180,101,137, 87,111,207,231,211,
- 89,187,188, 45,149, 49,102,114,135,178, 47,114, 51,176, 50,196, 50,183,177,245,228, 14,166,185, 16,140,115,210, 80, 85, 59, 87,
- 54,239,232,207,229,255,166,196, 28, 88,180,  8,249, 70, 99,206,248, 93,143,164, 26,  0,  7, 15,205,172,142,226,  6, 82, 85, 96,
-234,206,163,188,187,164,238,119,192,157,179, 23,111,186,118,179,191, 63, 63,122,116,250,242,233,203,238,254, 13,112,133,  4, 20,
- 26,142,141,169,113,168, 72,104,216, 44,  1,117, 72,155, 73, 61,233,250,246,252,234,230,250,246,254,230,246,250,191,249,211,191,
-  8, 54,228,172,205,116, 18,154,250,246,234,173,160, 15, 67, 63, 63, 56, 61,121,242,173,151,223,124,241,250,233,151,110,196,161,
-  2, 77,195,230, 46,107,191,189,123,187, 56,122,172,219,229,122,121, 59,217, 59, 98,200, 57,219,225,209,233,237,242,230, 63,252,
-244,243,118,232,199,220,106,105, 84, 70,169, 99,213,245,131,169, 57, 66, 29, 99, 55,244,  8, 88,135,202,213,137,169,  9,241,226,
-246,110, 82,135, 71,251,251,136,218,109, 54,183,203,123, 96,  1,203,154, 53,212,245,222,116,166, 28,250,190,173, 98,112,228,108,
- 94,  9, 91,234,205,180,226,200,238,205,164,  9,145,235, 48, 35, 48,  9,161, 79,195,221,122,233,200, 39,251,167,164,202, 18, 36,
-212, 89,125, 24,218,205,250,114,232,250,102,190, 87,197,144,183,247,200,  1, 92, 83, 74,211,233, 52, 52,117, 93, 79,133,165,237,
- 55, 34, 34, 92,  5, 22, 66, 48,144,110,187,110,154,230,232,244,248,131, 79,191,189,216, 91,196,186,218,172, 86,175,159,125,243,
-236,197,139,215, 23, 23,175,206,206,222,188,189, 60,191,186,218,182,253,193,124,254,227, 79, 63,253,254,123, 79,126,240,233,119,
-  7,205,145,253, 71, 63,250,206,241,126,115,117,254,242,205,243,231,113, 62,169, 79,143,159, 63,125,113,116,184,247,236,252,252,
-245,171,139,125,146,189, 73, 45, 92, 70,186,160,142, 33, 22,154, 58,189,147, 43,141,193,129,221,196,148,152, 72,  4, 11,166,131,
-  9, 12,  8, 73, 53,149, 87, 62,193,120, 20, 34, 38,179, 81,167, 60,104, 54,205, 66, 28, 37, 32,104,241, 52,215,129,213,156,136,
- 10, 21, 88,152,193,161,207,217, 77,  5,133, 88,  8, 48,136,236, 77,167,117, 83, 35, 18,  2, 23, 28,121,209,125, 76,170, 74, 21,
-115, 46,167, 58,100, 24,235, 47, 92,248,142, 65,178,153, 32,146, 16, 19,162,131, 89,130, 29,174,150,  9,137,216,220,221,140, 40,
-148,216, 95,185,241, 75, 96,112,114,  7, 33, 98,102, 32,138,165,211,102,227,104,133, 17, 29, 10,218, 23,118,243,  0, 39, 34,  4,
- 74,160,194, 44, 44,229,127,103,102, 68, 23, 17, 24,187, 54, 62,226,176, 16,152, 24,144,203,  4,149,152,153,196,199, 33, 15, 56,
- 64,168, 98,153,120,144,160,148,182, 36, 82,209,109, 19,120,114,127,117,121, 51,139,116,188,127,224,194,110,134,136, 49,114,140,
- 85,223, 15,174, 86,236, 87,238,238,121, 64, 17, 34, 42, 24,125,166, 17,  6,142,224, 66,108, 88, 90, 92, 32, 66, 57, 27, 33,  5,
- 18,164, 50, 37, 19, 18,  2,132,192,108,102,242,206,145,100,136,224, 86,182,172,227, 42, 23, 12,208,137, 75,131,171,  0, 29, 93,
-  2, 58,228,145,176,172,  9,  1,136, 25, 10, 75,169, 28,230,205,128,118,114,214, 29, 76,168,252,124,221,108, 54,155,194,245,178,
- 27, 58,118, 37,178, 49, 97, 20, 16, 21, 28,209, 70, 17,108,233,124, 42, 32,169,103, 64,102,  0, 55, 68, 39,112, 29,149,212,174,
- 99,239,137, 81,205,118,137,124, 99,  4,181,130,193, 33, 64,116,  5,231,241,241,233, 96, 14, 84,166, 28,  8,200,176, 43,235, 22,
-217,110, 57,161, 51,  2,160,230, 81,120,  4,232,136, 10, 36, 56,234,169,176,107,211,247,191,253,225,215, 47,207, 95,190,122,249,
-237,201,124, 62, 91,160,227,199, 31,125,252,244,229,235,255,243,239,255,225,244,193,195,201,108,255,235, 47,126,249,224,225,123,
- 93,187,201,105, 80,160,138,104, 32,140, 36, 37,111,137, 68, 57,103, 82, 55, 71, 65, 41,163, 41, 32,112,203, 57, 39,116,  4,205,
-169, 39,137,149,185, 51, 58,184, 97, 16,215,194,199, 23,112,207,166, 35,108, 64, 11,156, 33, 16,243, 14,121, 63,254, 58, 86,177,
- 33, 22,140,194, 34,169,237,136,201,138, 92,197,203,219,133, 88,  8, 18, 58,168,185,203,100,110, 41,213, 85,213, 78, 14, 65, 38,
-105,123,131,161, 54,197,126,121,198, 85, 67,213,158,  8,211,116,186,185, 87, 85,107,219,126,211,117, 67, 26, 66, 12,211, 40,171,
-213, 70,152,166,211, 73,187,221, 14,171, 43,106,102,177,170,247,142, 78, 87,183, 87,195,102, 21,154, 57, 11,111,238,206, 86, 58,
-196,208,204,246,142,193,141,208,103,135, 39,213,108,127,189,110, 45,111, 48,136,153, 62,123,249, 66,129,102,205,244,226,234,109,
- 93,215,133, 82,  8,230, 65,100, 49,155,174,214, 27, 68,236,135,148,213,220,180,169,227,164,153,108,186, 77, 53, 13,123,211,217,
-255,245,243, 95,109,187,238,163,195,121, 37,161,132, 43,234, 42,152,170, 33, 13,253,186,174,234,204,210, 42,228,172,154,  6,144,
- 88,215,245,208,110,144,156,221,186,174,229,206,129, 36,185,166, 54,145,165,105, 12,117,211, 16,100, 64, 31, 82,175, 57,101,195,
- 80, 79, 28, 98,202,221, 60,196,245,245, 69,108, 38,147,122,202, 28, 99,149,200,  7,203,230,161,114,181,170,154,149, 19,202,122,
-125, 55, 12,219,106,114, 88, 53,123,167,239, 61,122,248,228,201,116,182,232, 55,203,243,215,207,206, 94,189, 62,187,120,123,113,
-123,119,115,119,119,121,191,218,180,237, 65,221,124,231,147, 15, 63,124,252,164,169, 99,223,175, 57,196, 79,222,127,248,248,116,
-127,232,150,175, 46,206,215,155, 85,159,252,242,242,170,190,185,190,188,186, 94,109, 54,235,251,245,227,249, 60, 20, 53, 18, 56,
- 58, 82, 73, 52,162,140,199, 18, 80, 36, 36, 16, 53,117,179,210, 44, 66,216,181, 49,202,227, 14, 72, 34,244,125, 42,241, 18, 48,
-119, 46, 43, 55,  6,240, 16,130, 35,108,219,142,129, 40,  4,203,218,167, 65,136,137,164, 10, 96,238, 18,130,187, 51, 50,153,153,
- 57, 17,162, 82,  8,  4,128,145,163, 72, 36, 84, 38,180,241,108,103,105,232, 67, 44,158, 84,206, 25,  8,169,138,204,130,230,104,
-230, 12,  0,110, 28,163,103, 69,178, 24, 72,192,145,176, 31,178,106, 18,146,119, 22, 33, 70,200, 14, 34,  1,208, 60,155, 21, 27,
- 27,141,231,189,209,135, 60,254, 80,208,  0,204,129, 16,152, 72,213, 92,112,  7,  5,  3, 87,183, 29,124, 28,  5, 39, 40, 41,171,
-186, 10,202,136,188, 53,200, 57,155,141, 93,246,146,216,241,172, 10, 30,  2, 59,  4, 40,221, 47, 68, 68, 86, 53,100,162, 82,237,
- 47, 58, 16,  7, 66, 50,  1,114, 47,169,108, 36,190,187,223,214,228,199,251,  7, 78,168, 41, 23,236, 46, 34, 12,125, 63, 82, 74,
-  0,134,148,235, 40, 70,177, 60, 63, 67, 36, 51,176,156,  1,140, 16,144, 88,221, 32,121,168, 36,101,203,217,132,209,140,212, 51,
- 19,163, 84,134,217,157,221, 53,229,164,166,226,230,200,229,175,  0,  0,204,138,104,142,104,167,197, 24, 21, 76,184, 19,192,113,
- 32, 79,  5,249, 40,101, 71, 90,152,239,133, 66, 94,108,161, 59, 52,226,206, 39, 90,182, 19, 86, 64, 99, 49,144,182,109, 95, 71,
- 86,195,192,239,152,137,187,  3,185,187,187, 18,160, 26,136,144,  1, 10, 10,128, 22, 36,188,102, 39,114,244,114, 61, 49,119,128,
- 92,166, 48, 86, 16, 60,229, 95, 15, 64, 44,193, 77,157,157,202,202,156,128,128, 25,203,109,130,119, 60,130, 82,203,  6, 87,  3,
- 66,216, 25,167, 10,210, 43,131,  9,160,  3,227, 59, 31,172,153,154,197,102,254,253,111,127,240, 79, 63,127,126,176,255,230,193,
-163, 15, 88,170,253,195,147, 31,125,239,123,255,219,223,255, 63,255,213,143,191,254,228,187,223,117,240,131,163,147,203,203, 23,
-200, 81, 66, 68,142, 72,226,106, 32,240, 46,116, 84,118, 96,238, 78,204,230,142,217, 10, 54, 71,123,  5, 55, 75,  3,132, 26,137,
- 93, 13, 36,184,250,191,184,213,112,185, 52,218, 59,218, 37,226,152,110,130, 18,115, 98, 66,145, 16, 20, 48,198,144,218,222, 13,
-176,137,144,179, 35,128,161,155,162, 80,185,215, 72,156, 48, 13,221,242,206,225, 81, 86,  5, 14,192,128,213,132,  1,134,190,175,
-247, 78,153, 99,187,221,138, 80,187,220,178, 59,130,175,182,109,151,134, 62,231,217,116,159, 53,229,188, 57,126,239,211,237,182,
-239,218, 84, 77,246,185, 94, 68,134,163,  7,143,214,247,247,106,218,174,174, 39,211,  3,205,253,222,131,247,105,176,148,  7, 87,
-247,193,218,110,123,176,191,104,215,171,170,217, 75,195,230,230,230,234,233,249,219,166,110, 14,103,179,245,118, 85,133, 42,105,
- 42, 94, 89,115,143, 33,212,161,218,244,219,166,169,221, 53,185,223, 45,215,245, 73,112,164,235,229,234,112, 62,157,212,213,151,
-175,206,186,182,251,240, 96,111,177, 55, 13,132, 39,139,253, 77,223,175,218,237,182,221, 74, 77, 49,198,126,  0, 17,202,  2,  8,
-144,114, 15, 76,224, 57,229, 33,152, 99,140,203,212, 11,242,233,124,193,204, 67, 50, 96, 34, 51,181,212,200, 92,135,101, 93,205,
-204,187,249,100,214, 49, 84, 85,157,234,169,170,222,223, 93, 30,157,190, 31, 67, 29,121,114,117,121,150,219,190, 34,168,166,139,
-166,138,174, 67,136,117, 96, 58,122,242,112,186, 63, 63,121,240,164,174,234,245,205,229,171,215,207,158, 61,127,121,118,121,125,
-123,191,186, 95,111,174,239,239, 45,231,143, 78,246,126,239,123, 63, 48,226,161,223,112,213,124,242,201,119,190,253,233,  7, 65,
-240,234,229,179,139,179,203,193, 18, 52, 53, 82,122,245,236,185, 43,106,202, 77,109,139,195, 69, 25,137, 16, 65, 54, 98, 30,225,
-236,234,170,134, 33,144, 57,128,122,225,254,101,208,146, 64,246,114,195, 35,226, 64,166,208, 89,  6,203,129, 37, 33,228,156, 66,
-140, 10,  6, 64,181,  4,116, 75,110, 41,229, 32,194,194,105,232,  1, 53, 48, 23,201,  6, 35, 25,122,118,175,153,213, 61, 89,145,
- 78, 80, 29, 74,137, 26,171, 42,106,214,164, 94,170,120, 96,104,  0,192,128,140,234,198,142,  8,196,194,224, 48, 12, 41,136,236,
-158, 27,140,238,192, 36,129,201,205, 85,135,148, 11,222,124,112,171,163,168, 66,210,162,214,  3, 33, 30,178,103,135, 81, 59,228,
-227,127, 34, 17, 46, 31,100, 83,181,  2, 58, 70, 68,214,172, 68,187,211,156,131,  3,134, 74,202,  5,130,136,137,204, 13,200,204,
- 29,212,149, 70, 74,250,152,104,  1, 64, 46,211,255, 12,  0,206,  2, 77, 93,245,106,166, 25,156,204, 50, 87, 12, 25, 77, 45,198,
- 74,213,  4,208,128, 28, 52,185,149,166, 15, 11, 33,210,122,219, 14,185, 61,217,223, 51,  7,204,218, 76, 38,125,206,160,166,189,
-  1, 32,  6,198, 76,217, 83,168, 88,213, 76, 29,133,192, 69,179, 33, 32, 69,241,236, 92,158,131,238, 28,176, 27, 20,208,234, 74,
-250,  1, 34,187,121, 51,164, 62,  4,239, 21,  1, 70, 61,105, 81,193,225, 40, 76, 68, 46,127, 27,101, 71,237, 69,223,236,230,  8,
- 68, 76, 12,174,110,  6,164,197,144,142,166, 32, 82,228, 77,254, 27,159,198, 59, 10,217,111,196,208, 80, 80,127, 96, 78, 76, 68,
-216,212,149,153, 11, 49, 22,213,159,146, 23,128, 39, 48,162, 35, 56,162,115, 89, 41,188,187, 79, 20, 90,129,107,129,206, 19,  9,
-120, 46,143,227, 17,  8,108,138,200,  8,163,145, 21,203,177,151, 16,172,172,139, 29,161,100,244, 11,203, 12, 71, 42,227, 40,144,
- 53, 47,138, 83,247,130, 49, 40,192,221, 48,102,103, 11, 74,167,100,106, 12, 28,179,234, 39, 31,125,240,213,243,179,139,243,243,
-189,131,227, 73, 51, 93,183,219,135, 15, 30, 62, 62, 61,252, 95,254,143,255,244, 63,159, 28, 54,147,197,155, 23,207, 31,127,240,
-248,234,205,107,102, 17, 33, 55, 51, 80,203,169, 24, 73, 88,196,  0, 65,117,188,152,186, 35,139, 64,157,144, 24, 45,119, 93,209,
- 52,137, 48,114,220, 73,195,116,164, 34, 23,166,252,232, 62, 25,193,206, 56, 50,131, 20,128, 11, 14,193, 77,153, 37,247,189, 15,
- 29, 86,209, 53,193,160,192,108,253, 22, 37,146,  8,  0,184,102,242,140,  4, 97, 50,147,201, 76, 98, 20, 81,  3, 16,105,210,246,
- 30, 24,195,244,160,219,172,128,188,109,187,126,115, 27, 98,  5,140,171,237,198,134,164, 41,205, 23,199,117, 61,225, 89,213, 13,
-105,221, 39, 75, 93, 53,221,203,214, 79,247,142, 99,  8,106, 58,217, 59,124, 88,205,114, 82,174, 14,114,223,131, 41,152, 57,113,
- 66, 55,199,251,251,187,147,211,  7,203,219,219,205,242,246,238,250,106,147,242,219,235,243,166,122, 60,105, 38, 67, 74, 65, 68,
-205,  1, 28, 13,204,117, 58,157, 40, 89,223,103, 85, 96,196,236,126,123,191,137, 18,  3,162,  3,238, 77,231,142,240,242,230, 90,
-136,226,164,222, 91,204,212,146,165, 36, 66, 33, 78,182,109, 91,155,166,182, 91,183,247,179,189, 83, 55,243, 80, 87,  8,109,223,
- 17,210, 54,117,158, 83,110,183, 15, 14, 14, 55,155,123, 51,152,204, 15,  2,  7,100,153,198, 25, 34,187, 97,183, 90,198,201,124,
-190, 56,246, 13,119,171,101,140,149, 35,247,166,235,237,221,222,252, 96,181,186,203, 89,171,122, 26,  5,187,190,243,212,181,155,
-155,189,195,147, 71, 31,127, 58,153, 79,246,247,143, 35,194,205,197,171,103,207,159,191,120,245,250,213,219,183,183,247,203,219,
-229,170, 29,210,188,150,223,255,193,143,143, 23,115, 99,  9,213,164,  2,255,157,207, 62,249,232,227,199,171,235,219, 23,175,158,
- 65, 32, 58,156,222,126,243,234,120, 86,221,111,187,155,171,213,241,180, 57,158, 77,  2, 81, 45, 98, 96, 93,118,100, 12, 60, 66,
-141,  0, 81,161,216,174, 75,185,194, 10,105, 73, 28, 74,222,  3,137,136,  4, 17,204,212,129, 24,144, 66, 72, 41,169, 26, 49,103,
-205, 33,132,170, 18, 52, 77,110,  8, 24, 43, 41,212,  0,  4,100,150, 52,100,183, 44, 18,156,209, 82,170, 42, 65, 96, 27,134, 66,
-163,170,132,218,172,129,  8,  9,135,148, 53,103,148, 82,197, 35,119,143,145,220,105, 72,137, 35,  5, 10,160,158,221,208,113,132,
- 59, 10,169,142, 20,115, 68, 24,122,205, 41,177, 20, 61, 27, 50, 50, 69, 73,125, 50,115, 97, 20,230,148,181,207,  3, 49, 86,129,
-209,160,207,138,  8, 21, 81, 54,199,209, 26,104,102,206,  4,204,156,212,  8, 29,120,100,  1, 23,112, 13, 19, 13,230,129,  3,128,
-165,161,175, 39,181, 57,112,208,146,138,134,113, 42, 93,240, 90, 46,129,221,201,114,166,128, 18, 42, 53,216,118, 67,153,198,184,
-230, 16,196,140,132, 12, 24, 16,172,140,162, 84, 53,165,140,239,198, 58,228, 76,190,110,251, 58, 72, 85, 69, 71, 38,162, 97, 24,
-  8,201,  0, 49,  2,170,105,118,  2, 19,145, 33,165, 18,145,100,226,100, 10,110, 33, 70, 80, 76,150,145,168, 72,104, 53, 91, 19,
- 17,101,178,109,251,200,146, 53, 39, 29, 28, 49, 37,  5, 55, 32, 32,163,170, 38,221,244,252,183,127,243, 23,136, 94, 34,231,163,
-181,179,224,250,119,109,161,  2, 46, 64,  7,100,148,130,200,  4, 43,206,168,146,100,218, 89, 64, 97,236,158,142,208, 94,192,127,
-129,120, 41, 27, 90, 40,113, 65,130,109, 55, 76,167,147,146,213,  7, 47,203,107, 42,153,152,  2,207, 42, 73, 33,102,193, 82,157,
- 47,143,177,242,180,221, 93, 49,  9,101, 44, 92,185, 58, 24,143,108,173, 50,174, 22,  0,231,241,116, 91,250,159,176, 27, 56,161,
-131, 16,218,152, 47, 26,177,198,180, 75, 43,226,200,177,183,194,246, 26, 49,  1, 14,  8, 62,120,185,240,185, 75,168, 38, 21,125,
-241,205,203,138,121, 54, 95,  8, 11, 16, 76,131,252,236,139, 47, 31,156, 30,255,241, 31,255,201, 55,191,254,220, 73,134,161, 11,
-165,244,140, 72, 44,136, 78, 28, 36,196, 50, 94, 14,194,136, 50, 38,151,208,  1,164,100, 67, 37, 70,169, 42,150,138, 99, 45, 81,
- 70,106,194,206,190,234, 56,150,120,223,185, 38,199,151, 16,122,137, 84,130, 57,133,106,118,112, 12,224, 88,  0,205, 54,250,182,
- 65,196, 52,203,100, 66,132, 96, 54,180,237,197,203,179,118,187, 57, 56,125,180,127, 56, 63,123,113, 54,116, 27,196,104, 58, 12,
-237, 38, 84,117, 78, 67,191,185,219, 44, 87,174,234,233, 46, 84, 21, 17,190, 62,123,115,189,218,220,222,221,126,252,225, 39,223,
-249,248, 83, 71,186,189,189, 71, 79, 58,172, 60,171,154,205,231,243, 88, 87,171,155,243,155,179,111,230,243,253, 42,152, 97,204,
-125, 23, 24,182,203,155,102,118,184,190,191,137,161,210,172,169,111,207,206, 95,111,251,237,203,243,243,151, 55,247, 65,228,250,
-238,118, 59, 12,219,109, 59,169, 38,165,146, 32, 32,229,196, 80,133,  0,  0,253,208, 23,197,109,223,247,106, 26, 99,197,132,219,
-190,223,155, 78,131,212, 23,119,183, 19,161,121, 85, 53,177, 74, 67,151, 12, 17,161, 27,210,102,187, 33,176,166,170, 99, 12,132,
- 54,105,166,197,  6,147,  0,  1,112,194, 52,141, 49,153,129,219, 98,255, 84, 24,  7, 29,136, 48,  6,206, 67, 74, 41,183,237, 38,
-132, 73, 93, 85, 44, 53, 73,236,186,117,201,207, 78,154,217,124, 18, 87,155,109,172,103, 64, 50,164,109, 63, 36, 34, 90,236, 31,
- 28, 63,121,252,240,225,163,217,100,106, 58, 92,189,125,243,213,211,103, 95, 62,125,246,226,236,252,252,242,230,122,117,143, 14,
- 63,252,214,135,127,240,233, 39,123,139,253,205,118, 21,132,190,251,237,111,253,209, 31,253,238,222, 94,115,117,246,230,155,175,
-191,  0,  9, 91,180,175,190,126,186, 93,183,183,247,203, 87,223,188, 60,156, 78, 15,167,211, 42, 10,  0,149,155,188,136,148,222,
- 80,233,156,184,  2, 49,169,169,187,150,176, 29, 51,141,170, 81, 44, 24,118, 34, 41, 55, 84, 18, 17,119, 27,178,149,  5, 25, 17,
-138, 68,  2, 24,  6, 29, 17, 43,204,133, 73, 48,202,209, 10, 10,195,177,100, 27,132,216, 84,135, 33, 19, 99,249, 67,221, 65,136,
- 75,131,143,  9, 57, 72, 29,164,244, 31,203,116,222,202,209, 36,169,149, 76, 98,  1,237, 49, 17,162,154,151,248, 32, 18, 20,138,
- 12, 49, 51,113,100,108, 38,196, 12,110,  6,110,197, 47,148,114, 86,117,145, 17,163,224,136, 34,130,196,227,133,188, 64,234,125,
-100,172, 91,249,230, 72,202,216, 23,118,157,111, 34,140, 65,220,192, 13,152,197,204, 11,122,182,184, 46,204, 33,231,236,217,198,
-254, 60, 35,  3,141, 30,134, 29,140,135,139,110, 72,184,244,219,205, 60,231, 84,118,168, 35, 92,171,188,119,221,  0,144,200,174,
-239,219,156,250,199, 71,199, 18,171, 50,222,160, 18,157, 96, 44, 52, 97, 36,  2,194,156, 51, 17, 74, 96,  4,204,170,196, 68, 44,
- 59,139, 27,  2, 98,202, 58,174,226,128,204,149,  0, 82, 78,230, 10,238, 69, 61,173,166,104, 30, 16,213,161, 75,189, 20, 46, 57,
-148,124,236, 59,241, 16, 24,  2,141,204,  1,216,  1,249, 93,221, 17,202, 36,216,208, 11,134,146,120, 23, 63, 87, 32,222,205,102,
-156,118,235, 85,  3, 45,175,  0, 40,151,109,182, 16, 48,111, 50,161, 91,113,184, 18, 34,216,136,138,223,233,141,202,142,220,221,
- 60,165,145, 58,134, 82,158, 97,  5, 44,236,224,128, 54, 46, 13,112,252,  2,193, 13,140, 92,208, 45,227,206, 72, 58,230, 80,136,
-212, 20, 28,220,148,133,124,124,165,149,128, 13, 58, 58,168,  2, 49,144,153, 35, 59, 32, 35,170,145,176,131, 33,102,247,113, 69,
-235,232,136,226,  0,223,250,240,189,215,175, 46,159,189,126,189,119,116,122,124,112, 60,228,116,120,116,242,209,227,199,127,255,
-159,255,233,147,247,159,204, 14, 78,187,245,122,211,182, 77,108,204,198,223, 99, 36, 25,221,229,229, 70, 88,238,143, 76,105,200,
- 60,198,151,194, 24, 30, 34,118, 36, 22,  6, 51, 51, 37,100, 22,210,108, 37,226,227,  8, 76,130, 12,174, 62, 42,253,136,  2, 22,
-220, 27,  1,  3,145,132, 42,166,190,  7, 55,116,  2,114, 20, 97,150,212,117, 82, 53,136,168,109, 79,130,  6, 56, 12,131, 90,206,
-121,  0,112, 10, 50, 12,109, 85,113,234,219,122,182, 31,235,250,238,230,162,221,172,211,160, 16,132,  9, 37,136,153,247,125,118,
- 51,115, 60,168,130,  8, 95,221,109, 73,162, 19,181,155,139, 24,115, 53, 91,196,170, 78, 93,207, 28,166,123,  7,174,221,197,211,
-159,206, 30,126, 70,177,202, 67, 27,226,116,232,183, 33,134,170, 10, 60,  9,  8,118,116,242,208,146,254,211,175,190, 94,183,173,
-106,142, 85,125,125,127,217,246, 29, 35, 45,246,102,160,108,168,163,155,209,113,214, 76, 82,233,  8,102,171,170,208, 15,185,237,
-251,131,249,236,106,185, 92,109,214, 85,172, 76,253,243,215,111,212,108,218, 52, 68,146,186,252,224,248,192, 29,134,102, 50,227,
-188,152,206,215,109, 50, 75,132,118,151,  7,205, 57,109, 54, 33, 68,101,234, 52, 75, 53,  5,224, 62,117,145,188,150, 70, 45,109,
- 87,173, 84,205,116,126, 80, 87, 13,199,208,247,171,118,187,241, 48,161, 80,187, 57,176, 19,134,183, 23,103, 32,181,196,202, 28,
-215,203,117, 29,235,199,239, 63, 62, 57, 57,217, 63, 60, 66,130,229,205,117,219,109,159,189,120,243,197,179,103, 87, 55,183,151,
-119,119,247,171,245,195,195,131,127,253,163, 31, 46, 38, 21, 98,216,182,221,147, 39,143,254,240, 15,255, 96,182, 55,187, 57,123,
-253,246,197, 43,170,164, 53,171,192,191,254,229, 87,183,171, 13,171, 47, 98,245,222,209, 17, 34, 25,162, 21, 91,  3,148,150, 56,
- 56, 18,144, 23, 87,133, 19, 22,127, 61, 18, 33,163, 20, 57, 76, 49,113,176,101, 51, 36, 42,151,114, 70,212,148,152,131,144,185,
- 27,139, 20, 18, 84, 57,200, 19, 82,206,137,208, 74, 63,221,205, 84,141,  4, 20, 52,132,128, 14,157,246,132,224, 74, 49,144,187,
- 39, 29,132,136,145,204,119, 68, 39,  2, 17,  6, 36,  6, 36,194,156, 70,213,154, 32,230,114,229, 54, 99,137,229,168, 84,172, 32,
- 37,196, 65, 14,217,115,145,183, 89,  9,116, 40,136,160, 57, 48,  9,244,222,165,196, 33, 84,130,185, 48,164,152,193,156,208, 17,
-  9, 28,187,161, 39,148, 16,131, 59,100,176,194, 44,  1,112,  5, 45,167, 79, 69,140, 81,  0,217,114,202,217, 16,133,  3,152, 57,
-149,  7, 17, 96,168,234,161,239,221, 44,103, 85, 65,231,152,250, 97,218,230,166, 26,241,173,101, 58, 33, 18,134, 60,  8,113,172,
-106, 53, 53,119, 36, 10, 33, 20, 82, 74,113,110,131, 38,224,236,224,236,184,105,245,118,181,124,255,112,143,130, 12, 73, 53,229,
- 80, 69, 14,  1,204,221, 13,171,106, 72,189, 14,137,133, 57,  4,200,166,217, 68, 48,114,116,194,220,182, 18,  5,153,115,  2, 51,
-101,230,148,180,138, 76, 84,126,224, 86,248, 96,142,230, 68,  6, 10,  0,217, 92,125,168, 36, 84, 18,248,111,255,234,223, 22,188,
-  4,130,145,196, 18,105,247,223, 96, 99,220, 45,151,102,177, 67,129,179, 48,150,226, 37, 33,243,152,163, 25,  5, 67,133,162,190,
-227, 12,239,216,140, 59,146,243,248,230,244, 24,248,254,110, 57,159,205,137,208,137,220,157, 75,244,222,169, 48,136,177,212,247,
-203, 11,  1,125,135,141, 20,119, 27,209,232,163,119,148,113,244,131,148,222,  6,150,238,217, 46, 86, 50,106,194,139, 43, 29,208,
-203,124,  9, 11, 58,125,196,178,235,142,130,  9, 64, 99, 90,157,145,129,128,169,152,177,199,253,  9,128,161, 19,145, 20,202, 57,
-146, 27,242,147,135,135, 95,125,253, 18, 29,231,  7,251, 37,149, 22,  9,126,249,213,211,195,197,252,247,255,248, 79, 89,252,201,
-183, 62,  6, 75, 67,159, 37,196,113, 13,129, 94, 74,  6,166, 94,202,124, 86,128, 97,101, 54, 88, 38, 93,128,194, 34,177, 54, 45,
- 27, 32, 41, 60,168,178, 62,197,194,147, 46,135,148, 49,236,244,206,233, 42, 68,232,142,194,113,236,223,231, 68,147,154, 56, 32,
-139,182, 27,  4, 96, 97, 27,  6,138, 21, 32,181,171,246,226,237,205,208, 15,135, 71,  7,199, 15, 14, 95, 61, 59,115, 16, 64,  4,
-142, 66,182,221,220,  1,  5, 27,202,245,183, 21,204,205,100,218,181,237,243,215, 23,155,174, 95,109,214,191,255,227,223,137,177,
-238, 84,171,186,217,110,182,142, 74, 50,109, 22,  7, 15, 30,191,135,  0,200, 28, 66,163, 82, 85,211,125,145, 10, 88,  8, 40, 86,
- 49, 15,195,116, 58, 31,134,141, 43,133, 56,177,220,159,189,126,246,205,213,165, 57,108,219,109, 63, 12, 65,120,221,118, 67,202,
-154,117, 82, 53, 76,187,139, 10,  0, 19,215, 85,181,221,118, 41,167,194, 74, 83,205, 65, 24,  0, 55, 67,234,115, 58,156,207,213,
-248,110,189,221,111,164, 31,146, 33, 12, 67,222,110,151,  7,243,153,231,182,213, 84,197,166,215,244,118,121, 43,192,  7,211, 57,
-  7,  1,162,170,170, 73,234,162,192,117,  2,194, 88,178,166,243,197,  1,152,170, 42, 17,230,148,  2, 85,235,118, 11,224,192,113,
- 58,169,137,176, 31,134,118,181, 58, 56,122,220,181,119, 65,234,201,116,250,254,183,222,127,242,228,201,241,131, 39,200,184, 94,
-223,191,189, 56,127,254,252,245, 23,207,158,189,188,184,184,190,187, 27,134,244,195, 15,159,252,249,239,253, 94,141,116,183,186,
-147, 88,127,255,179,239,252,228,223,252,  4, 65,159,127,241,243,182,235, 14, 63,122,239,171, 95,127,121,116,122,216,131,254,242,
-139,167, 13,242,233,222, 94, 16,174, 98, 33,111,163,  3,198,200, 68,193,193,134,156,133, 68,132,163, 84,230,214,165,158, 74, 60,
-128,202, 30, 30, 75,112, 86, 42,210,221, 66,140,  9,  5,195,224, 57,198,138,  0,128, 40,196, 88,254, 81,182, 44, 36,  0,160,102,
-204, 92, 14,188, 99,163,  5, 16,208,103,117,227,  0,170, 25,221,  4,  2, 51,155,155,102, 37,  4, 34,204, 96,104,238,  4,117,224,
-193,193, 29,155,170,118,192,156,179,155,197,170, 22,192,193,178,234,144,213,  3, 11,128,169,187,  8,163, 35, 35, 40, 64, 49, 79,
- 16, 11, 83, 49,  2,138, 26, 40, 50,123, 80,132,161,119,115,107,154, 72,200,155,148,104,  7,  1,136, 65, 12,209, 13,250,156,144,
-160, 14, 21,160,113,144, 29, 66,203,119,174,185,210,123, 97,  9, 65,115, 46,113,240, 40,236,  4, 68,200,140,229,248,203,228,224,
-216, 37,133,189,189,227, 15, 63,118,162,233,209,254,182,239, 60, 13,149,132,242,136,231, 42,152,102,102,138,177,241, 34,133,  5,
- 10,129,205,157,133, 98,168,145,137,136, 68,  2,185, 27, 88,202,249,102,189,158,197,176,183, 88, 40,129, 48, 85, 85, 99, 96,238,
- 26, 67,148, 24,135, 52,184,186,  4, 97,  9,102, 90, 80,  5, 33,196,108,234, 73, 41,112, 54,232,219,174,174, 36,214,181,185, 49,
- 99,224, 80,172, 80,224, 86, 70, 82, 37, 89,164,  6,105,232, 34, 83, 12, 81, 36, 12, 89,249,239,254,230,223,149,155,203,168,152,
- 48, 55, 47, 46, 36, 42, 48,229,241,244, 75,165,  4, 84, 18, 47, 69, 41, 50,190,  0,138,102,200, 84,113,  7,186,255,205,240, 32,
-251,  8, 57, 68,128,209, 38,141,194,114,115,119, 23,235, 70,202,216,164,136,149,199,151, 45, 20,120,157,255,102,182,236,102,134,
- 40,  5,248,136,192,224, 90, 52, 78,224, 86,172,176, 99,207,110,215,204, 31,149, 91, 35,210,101, 71,151, 87, 45,119, 81, 87, 21,
-166, 29, 14,186,132, 94,199,187, 23,224, 78, 38, 69, 64,130, 96, 14,  6,158,179, 23,196, 40, 16,113,112, 52,128, 92, 42, 12, 33,
- 78,132,245,215,223,188,152,207,102,211,217, 66, 85, 69, 36,117,253, 23,223, 60,253,206, 71,143,154,217,222,211, 47,254,249,213,
-235,179,217,164, 97, 33, 34,118, 85,150,186, 84, 67, 72,  4,119,248,156,113, 40,  8, 94,138,178, 68,236,  8,110,137,136,199,236,
-100,217,250, 35,192, 24,231, 31,191, 57, 83,123,167, 83,  4,  0,  0, 67, 98, 68,169, 38,211,122, 58, 51, 55, 10, 97, 44, 34, 32,
-131, 25,215,117,217, 68,129, 59, 50,101,213,155,183,183,128,188,152, 53,251,135,123, 95,127,254,179,156, 83, 30,218,178, 92,108,
-183,219,118,179, 74,195,192,210, 68, 78,149,216,100, 50, 91,175, 86,231, 23,111,239,214,155,190,239, 62,251,214, 39,235, 28,154,
-233,193,116,214,104,234,209,114, 61,153, 30, 61,122, 63, 72, 76, 67, 87, 46,145, 55,103,111,246, 15, 79,134,187, 55, 85, 93,117,
-171,107, 98, 86,245,170,153,185,235,221,197, 11,115,208,212,255,226,203, 95,127,125,113,217, 84, 53,184, 95,223, 47,137,  1,129,
- 82,202, 41,107,100,170, 98,133,227, 26,197,  1,161,212, 77,187,161,119,  3, 38,202,170,219,174,175, 66, 96,166,229,106,125,114,
-112, 52,155, 86, 73,253,205,213,125, 19,  4,137,186, 52, 12, 89,217,237,126,185,204, 40,119,109,219,246,105, 94, 77,132,  5, 17,
- 24,189,138,145,128, 85, 19, 19,228, 62,183,219, 21,179, 68, 65, 70,234,251,126,181, 93, 71,230,126,187, 76,106,219,110, 45,113,
- 98, 72,129,104,187,190, 95,223, 95, 87,147, 61,142, 97,187, 93, 70,  9,199,167,199,239,127,248,240,209,163,247, 66, 93,117,219,
-213,253,253,213,171,231,175,159,191,126,243,229,203,215,207,222,156,173, 54,237,209,108,246,147,223,250,193,191,250,244,187,219,
-161,223,164,116,184,191,255,147, 63,249,253,143, 63,253,240,250,226,205,179, 95,253, 42,206,103,241, 96,246,171,159,255,242,238,
-126,121,125,183,252,197,207,190,124,114,120,112,180, 55, 33, 42,149,204,157,224, 30,177,232,109,136,136,153,132, 66,193,252,154,
-231,114,220,226, 29,228,  5,  9, 11,253, 36,231,172, 59, 84,118,193,248, 49,145,170,230,156,153, 48,231, 60,168, 85,204,204,108,
-106, 99,  6,112,247,108,124,247, 73, 14, 33,164, 60, 56, 88,202,137, 72,  0, 32,171,  5, 41, 59, 87,178,172,194, 12, 68,197, 48,
- 19, 89,  2, 99,182,162, 55, 34, 44,122,107, 51,115,235,186, 54, 48,  3,148,103, 42,  0,144,250, 56, 76, 41, 42, 77, 38, 52,181,
-130, 39, 35, 70, 32,108,219,108,169,112, 99,112,200,102,238,  2,196,196, 10, 24,136, 71,214, 58, 88, 25, 40,101, 27,112, 76,206,
-193,152,108, 30,143, 79, 20, 99, 44,172,180,130,180,101, 36,  3, 39, 66, 97,212,108,106,227,136,118,221,246,188,183, 56,253,240,
-195,215,175,207,126,241,249, 47,117,232,  6,135,161,109, 39, 76, 37, 33,  3,  6,196,140, 72, 67, 26,136,184,142, 21, 10,231,148,
- 74,241,189,132, 80, 89, 68, 85, 83, 30,  8,168, 27,172,107,219,147,189, 61,138,  1, 29,153, 48,229, 30,220,202,  3, 54, 21,174,
- 53, 97, 78,  9,192,153, 69, 66, 64,112,115,  3,116, 18, 54, 51, 52, 11,149, 56, 16,  2, 72, 12,106,224,166,170, 94,222,145,  8,
- 32, 18,  3, 65, 55, 40,130, 51, 19, 11,153, 58,130,105,118,254,219,191,250,139,114,235, 39, 34, 40,110, 39, 44,250,164,241, 27,
-222,  9,162, 10, 72,160,244,160,  0, 28,184, 44,251,192, 10,218,144,136,220,  0,242,120,133, 25,161,137,163,103,124,204, 74,150,
-147, 38, 11,231,190, 85,140, 77, 32, 96, 66, 26, 17,  6, 99,223,169,156, 84,137,  0, 73,136,118,211, 69,212,  2,189,113, 99, 70,
-112,163, 93,135,179,240,139,127,211,159, 45, 30, 13, 23,220,181,148, 70,142, 36, 90,121,203,149,166,214, 72, 10,222,169,172,199,
- 79,196, 88,133,  2,164,209,137, 87,102,124,192,132, 72, 94,244,214, 60,210, 48, 16,193,204,247,231,147,179,243,183,203,213,102,
-177,191,215, 76,102,  6,214, 84,225,151, 95,127,211,109,183,191,253,219,191,181, 89,221, 29, 28, 61, 58, 57, 61,190,191,190,110,
-166,115, 68, 50, 51, 34,161, 81, 15, 89,122,218, 12,163, 40,158,222,121,177, 97,100,254,184,103, 29,241, 14,  0,174, 90,190,141,
- 29, 63,109, 12,137,151,  2, 55,114,160,114, 23,113,111,230,123,210, 52,174,234, 90,198,127,228,110,204,  2, 14,150,148,  8,213,
-140,  0,134,110,184, 95,174,171,201,100, 50,173,143,222,123,120,241,242,213,182, 85,228,144, 54,215,201,121,115,249,114,200,192,
- 97,226,158,154,104,211,105, 83,207,246,110, 46,175,222, 92,190, 93,110, 58,176,252,225,123,159,196, 88, 31,157, 60,212,148,182,
-247, 23, 44, 18,235,186,105,154,155,139, 87, 57,219,226,240,232,246,229, 47,110,175, 47,165,158, 69,242,197,193,131,118,115,159,
-213,235,201,140,114,187,217,172,235,217, 65,168,234, 77,187,250,249,151,191,126,121,121, 53,153, 76, 98, 85,119,221,118,211,118,
-204,148, 82,114,176,110,200, 44, 88, 87, 77,153,166, 33,161,186,243, 56,136, 76,229,173,172, 94,134,242,142, 64,109,223,214, 49,
- 62, 60, 62,185, 90,222,247,195, 80,  7,100, 32,116,157,206,230, 30,235,117, 55,228,182,159, 68, 86,237,212, 97,179,109,  1, 16,
- 29,134, 60, 48,  7, 51, 95, 45, 47,103,243,253, 89,211,112, 96, 52,239,115,150, 88,245,125,127,115,115,141,104, 36,141, 84,149,
-112, 68,235, 84,109,182,127, 84, 85, 53, 73,156,207, 22,143,223,123,252,224,225,241,124,190, 24,210,176,186,191,123,115,246,230,
-217,179,151, 95,191,124,241,213,139,151,175,222, 94,244,195,240,221,  7,199,127,248,217, 15, 30, 30,157,172,214,183,125,238,255,
-228,143,254,240,119,126,239,183,173,239,159,125,241,139,126,232,223, 92, 94,118,195,246,243,207,127,169,174,151,175,222,  6,243,
-227,189, 89,211,196,210,207,200,238,129,199,250, 76, 89, 67,141, 45,118,226,146, 81, 99,161,162, 51, 67, 26,  9,168,238,227,156,
- 56,171, 21,155, 88, 54, 67,  0, 70, 76,217, 68,  8,  1,133,169, 79, 57,229, 36,194, 99, 52, 15,137,  9,133,201,220,  9,108,188,
- 89, 50,185, 90, 63,100, 65, 43,169,110, 71, 80,240, 74,216, 71,140,107, 25,242, 19, 17, 79,235,134,168,100, 21,160,220, 77, 75,
- 90,180,124,196, 66,  8, 69, 93, 29, 99, 32, 14,128,165, 40, 68, 14, 72,142,129, 17,198,171, 54,150,165,145, 59,164,108, 34,236,
-160,105,116,191,130,  0, 50, 11,  2,150,180,123,249, 34, 89,100,220,157,130,149,250,163,170,250,144,251, 33,187,153, 89,102, 47,
- 39, 81,218,177, 16, 32, 48,227, 46, 45,170,102, 44,140,174,125,202,105, 50,121,244,254,251, 63,253,233,207,255,241,167,159,111,
-218,237,237,122,141,142,219,161, 61,153, 76, 41,136,132,192,210, 32, 26, 22,141, 38,128,153, 26,128,169, 18, 51,193,184,137,244,
- 17, 65,195, 14,112,185, 92, 78, 34, 77,103,179, 18, 25, 47,179, 70,115,207, 89,153, 41,112, 96,102, 43,207,207, 49, 42, 81, 78,
-183, 96,166,132, 32, 49,142, 51,132,194, 60, 40,210,214,242,100, 34, 34,192, 32, 92,164,165, 44, 72, 28,213, 64, 45,187, 25, 34,
-171, 41,255,251,191,254,183, 35,131, 19,  1, 92,203, 73,121,231,158, 53, 24, 97,133, 64, 59, 93, 86, 41,185, 50,142, 43, 73,  4,
- 26,  3,167, 59,242,139,163,185, 25,145,  3,252,102,156, 15,217, 74,204, 31,  8,136,208,115,191,237,243,108, 49,113,117, 32, 67,
-167,221, 49,116,172, 30, 16,130, 32,171,155,131,141,  1, 24, 36, 66,231,209, 27, 98,165,149,244, 14, 30, 89,106, 84,227, 94,165,
-252, 87, 30,215, 61,229,246,224, 72,110, 99, 84,114,  7, 87,240,119,192, 25, 66, 32,122,215,168, 69,183, 49,145, 96,232, 69, 37,
-136,  8,133, 19, 91, 82, 70, 37,203,233, 14, 34,113, 58,169,126,249,229,243,166,106, 22,139, 57, 35,106, 78, 85,160,255,251,167,
-255,252,157, 15,158, 12, 67,191,186,191,155,237,237,245,221, 22,176,200, 61,136, 88, 28,129,144, 29,128,136, 17, 75,124,200,223,
- 37,147, 67,  8,190,251,109,165, 81,217,190,219,107,104, 42, 91, 96, 98, 26,239,220,184, 83,211,240, 88,103,115,208, 73,179,143,
-  8, 33, 10, 32,  2,104,145,113,199,197, 47, 76,  0,  0, 32,  0, 73, 68, 65, 84,195,248, 66, 40,160, 78, 34,166,110,219,157,191,
-122,189,190, 95,205,102,179,227,211,163,103, 95, 61,237,146, 78,234,122,179,188,202,198, 64,229,202, 41, 81,112, 90,195,222,209,
-233,100,186,215,110,150,111,206,207,151,171, 21, 75,252,173, 31,255,164,170,136, 73, 55,219, 13, 87,147, 88, 77,167,251, 39,251,
-135, 15,150,119,183, 55,183,215,148,182,179,131, 19,237, 59, 53,219, 59, 60,105, 55,203,205,166, 77,125, 91,133,234,249, 23,255,
-153,171,249, 98,113,220,109,238,239, 87,203,175,207,223,100,131,182,221,204, 39,115,100,124,123,117,221,118,189, 35, 16,146,  1,
- 12,195, 16, 67,140, 18, 75,134, 23, 25,205,188,142, 49, 74,220,246,189,219, 88,196, 31, 82,142, 44, 76,156, 52,149,157,206,221,
-182,237,134, 97,209, 76,246,246,231,153, 48,245,  3,154,  7,118,142, 77,219, 13,128, 24, 34,103,215, 62,229,108,144, 85, 75,110,
-162,106, 26,  4, 77,253,160, 57,  3,147,165, 52,168,239,237,159, 90,110,251,118, 53, 91, 28, 48, 34, 19, 79,166,243,161,223,110,
- 55,203,147,147,147,135,143,143, 22,  7,  7, 36, 52,116,253,106,181, 60,187, 56,123,245,250,213,211, 87,103, 79, 95,189,121,123,
-115, 51,171, 39,127,252,217, 15,190,245,232,  9,177,220, 93,159,125,255,  7,159,253,215,127,252,147,211,  7,  7,103, 95,127,211,
-110,239, 19,249,245,205,237,254,201,225,170,237,159,125,243,  2,187,116,180, 55,221,155,213, 33,160,144,164,108, 36, 20, 72,138,
-212,162,216,208, 10, 94, 27,129,193, 93,221,153,216,204,204, 29,193,  8,139, 11,201,  3,133, 33,231,119,147, 83, 51, 35, 36, 34,
-206, 57,215,117, 40,115,155, 97, 80, 70, 12,145, 45,229,162,244,  9,204, 62,218, 24, 80, 77,199, 90,148, 91,145, 27,147,  8,131,
- 24, 96, 12, 66, 88, 74, 36,132, 36,136,164,230,204,197,116,138,217,181, 92,248,153, 48, 23,233, 23,151,135, 17,187,155,112, 25,
- 50, 11, 19,  0,161, 57, 48, 35, 11, 23,252,139,169,  2, 16, 49,169,101,115, 51,164, 32,140,128,142, 76,129,  3, 34,  2,  7, 22,
- 20,  6,166, 33, 27,168,198, 58, 20,149, 31, 16,151,192, 68,249,250, 33, 27, 54,149,236,239, 81,172, 86, 41,117,195, 32,133,167,
-130,  5,125, 67, 14,224,166,169,172,223,  0,208,173,235,251,165,218,209,227,199,103,111, 46,190,126,254,188,109,183,136, 56,159,
- 78,159, 60,120,176, 89,175, 30, 76, 26,  9, 53,135, 24,234,198, 77,205,141,193,179,101, 64,175, 66,  3, 80,208, 91,192,132,229,
- 83, 35,196,128,112,115,187,178,212, 29,238,239,129,200,238,172,  6, 14,142,132,194, 50, 10,190, 67, 69,140,132, 98,106, 65, 56,
-134,224,238,170, 90,226,207,150, 45,134, 64,196,234,198,  8, 33,134,241,178,174, 30,138,239, 19,220,220,152, 80, 88, 10, 79,145,
-169,220,227,176, 79,  3,255,221,223,252, 37,140,205, 93, 26,145, 38, 59, 17,202,  8, 34, 52,103, 14,227, 81, 24,119, 17, 61,220,
-157,140,145, 70,155, 94, 57,180, 23,150,123,161, 32,  2,185, 41, 16, 65,185,106,  1, 18,151,165,144, 85, 85,120,251,246,246,225,
-195,  7,102, 61,161, 56,184,155, 34,122,129, 19, 20, 70,174,249,136,198,216,189,210, 71, 47,221,142,216,131, 72, 50,126,197,165,
- 39,108, 90,152, 57,  6,133,251,232, 64, 96,  6, 89,177,200,174, 93,109, 20, 66,  1,140,175,167,157, 68,157,208,144,  5,118, 47,
-138, 17, 86,  7, 56,154,196,203,189,115,188, 47,  8,241,  8,241, 45, 89,170,253, 69,115,119,123,123,117,187,156,205,231,147,201,
-196,  0, 68,112,189, 92,159, 95, 94,255,183,127,246,223, 47, 22,245,249,217,249,124,239, 96,187, 90, 86, 85, 61,170, 85, 88,118,
-120, 63, 65,230,130, 22,  0,211,221, 76,109, 55, 90, 42,129, 35, 47,223,206,187,  6, 22,151,125, 54,208,  8, 21, 37, 34, 98, 46,
-119,175,210, 47,159,236, 29,196, 88, 59,112,121, 67,  0,179,229, 97,204, 18,140, 71, 24, 68,164,213,221,242,252,205, 25, 56,238,
-237, 79, 15,142, 31,188,252,250,153,171, 74, 12, 73,217,109,200, 41, 33, 73, 53,157,138,200, 98,198,251, 71, 15,145, 56,245,253,
-203,151,175,174,238,238,231,243,253,239,126,244,109, 32, 72, 67,110, 22,135,100,158,134,237,226,224,144, 72, 54,235,229,230,246,
-250,230,250,162,158,204,174, 94,127,209,109, 87, 67,183, 78,155,101,156,236,121,185, 75, 54,115,244,108,214,181,119,111,127,241,
-213, 87,255,241,167,159,207,167, 83, 98, 90,109, 86,125, 26,110,238,151,  5,233, 92,130, 66, 69,103, 60,169,235,192,226, 35,216,
-159, 28,188,156,165,218,126,200,234, 72, 92,196, 41, 85,172, 20,124,219,181,136,120,176, 88, 76,154,201, 98,222,172,187, 36,  6,
-185,221, 58, 34, 32,101,205,106, 46, 34, 85,172, 42, 17, 68,234,251,158,133,205,116,218, 52,125,187,149,170,169, 10,154,124, 72,
- 64, 20, 24, 35,113,219,183,205,100, 42, 68, 34,149,153,  3, 41, 32, 60,254,240,131,247,223,123, 50, 91,204,193,181,111,187,213,
-242,254,242,242,237,171,243,203, 47, 95,188,122,126,126,190,221,110,191,251,222,251,127,246,187,127, 24,172,223,118,221,180,230,
- 63,252,147, 63,250,225,143,127,123,232, 54,111,190,249,245,228, 96,177, 66,248,197,175,190,  0,160,231,175,206,222, 60,125,125,
-188,152,236, 47,102, 84, 76,200, 14,170, 26, 67, 96,228,178,101, 41,251,134, 24,100,132, 61, 33,148,252,137,153, 49, 11,142, 53,
- 69, 39, 96, 66,206,154,136,208, 70,105, 54,140,212, 95,  9, 85, 37,217,220, 82,  6,196,186,138,102,110,250, 78,134, 67,142, 92,
-  8,220,194, 40, 34, 41, 37, 36,182,  2, 88,103, 86, 85,119, 15, 68,166,166,154, 10,251,186,196, 99, 98, 93, 87, 18,  1,193, 65,
-131, 68,115, 69, 34, 53,  8, 34, 33, 72, 20, 33,100,115,  8,204,229, 33, 80, 38, 11,136, 68,238,196,130,200, 64,152,179,149, 64,
-114,161,165,238,208,169, 36, 18,202,169, 62, 27,136, 68, 98, 48,115, 75, 78, 34,196,156,205,136, 88, 36,128, 89,249,128, 32, 82,
- 78, 42,  7,179,230,193,195,151, 23,151,157,170,212,245, 42,229,205,144,153,176, 22, 14,204,  6,102,  6,230,185,180,190, 37,178,
- 14,105,173,105,241,240,244,118,217,254,227, 79,127,182, 92,111, 75,152, 45,198, 96, 14,236,237,147,131, 35, 96, 38, 68, 22,202,
- 57,107,206,150,141,152,  0, 11, 21,197,133, 24, 68, 10,112,133, 28, 84,109,185,222,220,222,223,159,238,207,170,166, 81, 53,220,
-217, 49,  2,  5, 70, 84,  7, 66, 39,150, 66, 81, 44, 70, 13,162, 48,228, 84, 76, 44,229,239,184,174,130,170, 17,130, 16, 19,203,
-120,209, 66, 38,  2,  3, 74, 67, 22, 44,  1,254,210, 82,245, 16,248, 29, 56, 32,165,196,127,251,215,255,142,198,  7,115,113,217,
-141, 18,163, 50,193, 86,203, 84,110, 33,227,131,145, 60, 59,162,150, 50, 49, 73,145,107,192,187,208, 98, 73, 53,150, 33,199, 72,
- 91, 30,179,150, 35,231,177,200, 54,  2,243,197,229,245,225,201,177,148,223, 92,244,157, 57,116, 28,195,149,120,209, 59,113, 42,
- 34,113,241,  8,150,211, 72, 54, 42, 43,249,113,164,225,102,201, 13,118, 35,176,221,168,103,167, 28,249, 23,226, 18, 32,  2,121,
- 23,156, 28,169, 46, 72,129,  0, 25, 32,188,163,199,143,177,202, 29, 91, 14,  1, 13,138,173,155,161,160,233,137,202, 23, 73, 28,
- 31, 62, 60,121,254,252, 53, 16, 77,166,179,102, 50, 25,134, 20,132,190,252,250,217,233,225,126, 30,250,171,235,183,119,119,183,
- 68, 30,171,186, 60,224,202,142, 98,231, 27, 68, 64,176, 33,149, 83,120,169, 44,143,160, 55,215, 66,254, 43, 99, 36, 87, 43,186,
- 75, 26, 65,209,255,191,183,222,120,255, 33, 66,  8,243,227,135,229,231, 55, 94, 67, 10,148,172,236, 78,204, 41,198,180,221, 74,
- 29,215,171,237,229,249,165, 14,219,197,254,193,209,233,131,151, 79, 95,164,172,105, 72,125,219,173,111,222,  0, 79,117,243,182,
-154, 29,245,235,187,246,254,245,222, 98, 65,  0, 47, 94, 60,255,217,175,191,216,172,183, 31,125,252,221, 15,222,255,176,219, 46,
- 93, 83,179, 56, 78,195, 22, 89, 42,219,174,111,222,128, 52,104, 90, 87,245,245,229,197,124,255, 84,152, 86,247, 43, 71,105,215,
-171,102,182, 87,  9,197,201, 52,167, 14,101,210,117,195, 47,190,250,213,197,106,243,244,197,203,189,197,220, 29,210,144,238, 86,
-235,145,183,231,227,164, 42,187,166,148, 38,245, 52,136,248,110, 83,239,  0,129,163, 35,180,125,251,174, 66, 55,228, 97, 82,213,
- 72,152,205,126,248,233, 71, 76,248,249, 87,207,183, 93, 55,175, 66,172,107, 51,  3,146,178,191,  6,  5, 98,110, 87,119,186, 43,
-226,215, 49, 70,166,182,221,198,216,  8, 67,144,186, 14,146, 77, 65,147,123,118,207,194,129, 89, 36, 72, 96,108,166,211,111,125,
-250,201,163, 71, 79, 66,140, 67, 26,218,174,189,191,187,251,242,217,179, 95, 61,253,230,155,151,175,223, 92,188, 93,212,211, 63,
-248,236, 71,191,243,157, 79, 38,179,197,171,103, 95,124,250,201,183,254,135, 63,255,243,253,253,253,231,191,252,231,118,187, 92,
-117,237, 23, 95,126,245,242,155,103,147, 73,243,236,215, 79,107,131,147,253,121, 93, 87,174, 70,132, 89,157,152,133, 67,136, 12,
-192,229,227, 23,162,  8, 48,129,140,177,246, 50,145,196,146,192, 51,  0,160, 34,102, 24, 13, 56,  0,136,234,202, 28, 25, 17,137,
-170, 88,  1,143, 79,124, 22,137, 49,142,127,172, 48, 88,  9,171, 80, 96, 78,158,139,193, 46,165,172,166,165,166,158,135,212,247,
- 67, 37,  2,  8, 99,149,164, 48, 55,152,128,104, 58,105, 88,202, 53, 31, 10,184,196,198, 79, 44, 87, 49,  6,150,108,134,204,187,
-157,  0,102,117, 34, 38, 38,112, 36, 17, 22, 81,  3, 22, 14,204,229, 83, 38,194,  8,  2, 88,144,225, 84,246,135, 76,196, 66,230,
-154,213,  9,203,189,151,144,208,204, 75, 40, 82,221,  0,129,  3,187,186,154,206,159, 60,185,223,180, 95,127,249, 84,115, 98,150,
-219,251,165, 17, 34,139, 19, 72,  9,203,144,148, 19, 15,160,229,148,135,156,113, 58, 27, 12,159, 63,127,121,187, 90,169,101, 48,
-127,242,240,228,241,163,199,151,215,111, 63, 60,220,219,159,237, 67, 73, 97, 26,228, 97,240,157,156, 90, 40, 20, 73, 81,105,147,
- 49,242, 48,162,228,253,250,110,133,174,139,253, 57, 51,131,123,178, 92, 30,196,163, 68,176,212, 17,188, 76, 30, 32,196,160,217,
-218,190, 19,198, 24,162,  2, 86,204, 14,144, 76,105,100,107,210,238,105,198,224,218, 15, 10,150,130,112,118,207,217,145,128,145,
-204, 60, 59,148, 62, 48, 34,230,172,252,119,127,253, 23,239, 48,181,229, 83,130,229, 39,189,227, 90,189, 83,102,240, 78, 83, 14,
-  4, 99,148, 22,  1,139, 72,174, 80,120,202, 16,185, 44,115,124,151,185, 46, 83,136,241,143,  7, 68, 48,117,102, 89,223,223,106,
-152, 44, 38,149,155, 35,128,144, 56,148, 28,149,191, 75,221,140, 70,234, 82, 62,246,119, 39,239,119,231,145,200, 99,100,189, 76,
-240,129,138,241, 17, 11,212,134,184, 68,125, 74, 27, 23,129,  9,153, 73,118,128,117,112,119, 55,203,133,129, 74,229,116, 11,101,
-158,232,239,156, 37,190,243,126, 56,130,  1,238,214,  5,227, 35,150, 16,220, 76,155,166, 18,242, 23, 47, 94, 47,246,246, 98, 85,
- 85, 85,221,118,237,102,189,185,190,190,250,193,119, 63,253,228, 59,223,185, 58,123,241,254,  7, 31, 93, 93,188,142,161, 25, 61,
- 57, 37,199, 35, 76, 64,174, 14, 52,182,195, 70,  6, 82,201,134, 90,  1,246,152,143,212, 72, 51, 24,249, 27,  5, 68, 51,178, 85,
-119, 28, 30, 68,100, 38, 51, 88, 28, 28,149,  1, 44,184,  1,209,216, 35,  6,114,  3, 20,113,207,224, 32, 44,119, 87,119,119, 55,
-119, 89,243,193,225,241,193,201,226,236,213, 89,215, 14,155,229,101,151, 90,164, 41, 87, 65, 98,147,123,219,172, 46,254,195,127,
-250,143,255,240, 95,254,233,243,159,255,244,191,252,236,243,203,187,251,164,233, 71,223,251,221,131,163,135, 92, 53, 20, 23,195,
-230, 54,181,247,113, 54,223, 59,121,184, 89,173, 40, 86,221,102,189,188,127,219, 76, 23,195,230,126,187,188, 93, 28, 62, 90,222,
-189, 69,150,186,158,222, 95,190,238,218,141,166, 97,177,127,188,222,220,253,243, 55, 79, 89,228,236,250,250,110,185,100,166, 24,
-  4,157,134,212,219,  8,141, 40,215, 24,202, 57,101,213,166,174,130,132,221, 55, 12,230,214,132,255,143,169, 55,251,177, 45,185,
-206,252,214, 16, 17,123,159, 49,231,155,119,190, 85,117,107, 96,145, 44,138, 67, 73,108,146, 18,  7, 73,109, 11, 26, 72,169,219,
-109, 73,221,104,184,209, 15,134, 97,192,126,243,191,100,216, 64,195,176, 13,195, 48,108,  9, 80,183,221,118,183, 68, 81,226, 88,
-243,157,115, 30, 78,230, 25,247,222, 17,107, 45, 63, 68,156, 44,189, 93,178, 88,200,203,147,251,196, 94,177,190,239,251,125, 94,
- 64,155,174,203,231,156,168, 38,179,135,251,123,119,183,183,167,203,213,217,197,117,191, 55,154,204,175, 85, 99,191,234,101,230,
-129, 74,146,148,174,174, 47,178,236,148,136, 45,165,126,175,234, 87, 53,  0,132,224,205, 52, 38,109,154,102, 54,159, 48,234,173,
-205,173,221,221,189,157,173, 61,118,161,141, 93,168,195,237,251, 15, 31, 60,126,253,246,157,187,200, 20,155,213,116,122,245,242,
-224,229, 47, 63,252,244,233,171, 87,167,231,215,211,233,244,209,254,173,255,228,219,223,189,127,123,135,125,208,216,126,231,251,
-223,125,255, 55,190, 57,187, 56,189, 60, 59, 58,191, 56, 89,116,177, 30, 15,125,  8, 47, 62,125,222,206, 86, 91,227,225,112, 80,
- 97, 89,252,113, 50,115,236, 56,167, 65,  0, 50,205, 42,132, 42,243, 86,147,  9, 17, 99,142,171,130,186,181,171,192,196, 20, 36,
-137, 57,199,153,194,  4,102,142,124,206, 62, 49,123, 85,209, 36,196,236,  8, 85, 85, 68, 85,129,185, 88,205,204, 20,137,193,160,
- 14,190,237,162, 33,120, 42,242, 90, 76, 41,169,152, 89,238, 84,206, 28,115,114, 92, 87,158,208,213,222,173,145,168,104,144,227,
-232,232,216,  1,160,115,164,146, 61,151,132,128,236,179, 11, 30,156,203,239,  6,246,161, 38,231, 16,160,170,  2, 50,171,105, 76,
-234, 28,154,129,137,  9, 24, 57,151, 68,136,153, 61,145,101,209,  8, 67, 85,  1,114, 65, 56,  1,128,168,100,109,137,139, 63,159,
- 20, 23,210,180,200,207,159,189,154, 76,231,147,171,235,243,203,137,130,142,  7,195,235,197,124,213, 70,116, 28,  8, 29,168,247,
- 62,207,175,177,233, 58,230, 48,222,252,249,  7,159, 30,158,158,128,161,169, 18,113,221,235, 93,205, 22, 53,200, 59,247,239,147,
-115,  0,172, 42, 93,138,148,133, 17, 53,239,188,161,137,149, 74, 44, 51,200,104,107,239,221,124, 21,231,243,249,173,237,141,170,
-174,146, 90,236,186,224, 42, 34, 66,162, 12,129,202,198,246,162,246,  1, 74, 18,  3,169,234, 32,  6,170,209, 57,159,151, 20, 25,
-197,115,131,141,101,164,164, 81, 69,156, 99,118,216,117,130,102,204, 84,101,124,  2,  0,170, 33,145, 42,152,196, 40,137,255,244,
- 71,127, 88, 42,233,138,160,154,199,237,140,113,207, 14, 60,203,139,247, 53,234,203, 40,135,126,138,173, 97, 61,185,175,231,204,
-188,174,206,219, 98,202, 18,120,  9, 60,173,211,173,165, 14, 80, 23,173,108,109, 12, 37, 38, 43, 43,110, 83, 48,212,210, 21, 72,
-228,214,205,128,134,120, 51,178,150,217, 58,123, 94, 11, 26, 31,114,247,  8,150,165,  5, 17, 21, 95,189,  3,200, 77,193,133,131,
-137,159,155, 39,  1, 13, 21, 81,212,242,130,  4, 50,244,  6,215, 65,214,245,250, 41,123, 54,160,168, 72,153, 91, 99, 55,152,245,
-140,118, 22,181,221,237,205,167,207, 94, 69,177,254,112, 84, 87,125,231,168,109,154,159,126,248,105,205,221,254,254,206, 98, 54,
-255,248,195, 95,157, 31,191, 10,140,190,238,177,243,236,  3,177, 67,200, 45, 34,172,146, 84,  4,137, 75,240, 67,109,109, 57, 45,
-237, 58, 57, 65,199,107, 33,152,156, 47,191, 44, 94, 39,  6,212, 56, 56, 19,243,245,168,191,177,153,177,154, 26, 99,201, 70,100,
-174, 89,222, 43,117, 29, 34,115,229,231,215,179,179,195,195,148,236,238,163,135,163,205,209,171,167,175,186,110,217,174,218,212,
-169,167,  4,  0,  0,  1,152,122,220, 45,151,179,207, 94, 30,126,248,236,229,249,228, 26,193,  0,221, 55,190,242, 53,239, 43,212,
- 68, 68,177,185,  6,145,219, 15,223,214,152,212, 85, 34,214, 76, 39,189,193,184, 10,117,179, 90,176, 27,174,218,149, 25,110,108,
-236,116, 77,211,182,203,225,104,179,238,111,118,205,236,147, 79, 62,252,229,179,231,249,249,152, 92, 93,119, 49,153,218,206,198,
- 24,145,150,171,  6,214,215,152,252, 91, 78, 41,169,105,175,174,  3, 59, 85,181,242,234,197, 94,221,219,232, 15,135,189,161,129,
-142,251,245,107,251,123, 41,197,103, 71, 39,128,174,235,154,141,209,104,119,107,235,236,106, 42,169,171,124,157,105,209,170,138,
-190,114,206,123,199,  8,224,188,223, 26,141,103,243,105,138,157,239, 15,219,216, 69, 81,116,158,  9, 71,181, 75, 93, 28,141,199,
-203,118,117,189,152,111,237,237, 60,122,243,173,251,175,189,190,177,189,139,200,211,235,203,195,195,195,207,158, 63,251,232,211,
-231,  7,103,167,231,151, 83,231,232,155,191,246,213,175,127,225,109, 54,152,207,231,247,238,237,127,227, 27, 95,221, 24,143,142,
-159,127,150, 40,117,  8,191,248,228,179,189,205,141,195,243,139, 79,126,249,241,198,160,191, 53,234, 83,161,129,228,203, 98,  6,
-157,251, 12,228,102,202,197,108,200,142,204,178, 26, 68,134,150,123,125, 45,231,119,214,119,238,164,234,152, 45,143,216,217,211,
-134, 64,128,206,187, 36, 41,207, 68,140,148, 84, 76, 85, 83, 44,223, 40, 67, 41,166, 44, 66, 68,  5,160,220, 58,131, 25,231, 74,
-222,  5,206,200, 11,202,205,116,196,142,136,201, 57, 70, 36,209,168,128,149,119, 42,121, 61,146,145, 37,204,132, 49,199,115, 28,
-  1,  0, 51,  3,100,249,151,137,152, 43, 95,238,174,148, 61,135, 22, 37, 86,235, 43,133,138, 58, 31,216,145,103,102,239, 16, 73,
-147,196,100, 89,196,205, 59, 37, 98, 86, 80, 19,201, 58,115,169, 53, 67, 50, 85, 83,153, 38, 89,118, 58,157,207,155, 85,211,165,
- 14, 81, 99, 23,163, 72, 74,201,133,208,136, 38,226,202,129,  3, 67,132,174,137,139,148,252,198,232, 98,114,125,116,122,214,117,
-157, 35, 66,132,183,222,120,216, 38,157, 93, 95,125,229,209,221, 97,221, 47, 36,154,210, 83,103,142,125,130,114,196, 85,161,103,
-  0, 42,146, 36,  2,152, 39, 15,166,199, 23,147,205,158, 31,142,134,170,128,104,142,125, 89, 24, 48,  6,226, 76,205,117, 76,128,
-220,165,148, 99, 77,204,222,  0,152, 28, 33,139,196, 44,149,147,154,102, 39, 18,145,129,117,169,147,100, 68,168,102, 10,200,  8,
- 68,152,161,  5, 42,134,136,150, 50, 90,  1, 29,115,140,202,127,246,163, 63, 44, 13,117,  6,136,180, 70, 13,220,212,244, 25, 34,
-115,185, 94, 97,129,245,174,119, 41, 89, 40,200,128,150,242,156,173, 37, 12, 85, 64, 46,173,132, 57, 59,191,238, 87, 53, 34, 48,
- 68,239,252,233,233,209,206,173, 59,146,186,204,  3, 64,200,190, 32,204,203,250, 60,122,150,176,149,149, 12, 85,126, 67, 20,163,
- 75,166,246,174,215,180,140,  4,142,110,140,246, 88,108,129,134,146,241,110,192,197, 74, 77,159,215,196, 26,163, 65, 38, 80, 32,
- 50, 64, 42, 48, 28, 67, 36,203,183, 24, 64, 34,244,148, 77,186,229,103,223,124,167,104,253, 90, 37, 71,126, 52,170, 62,121,246,
-114,208,239, 87,117,221,239,247,235, 58, 44,166,211, 15,159,159,190,125,123,188,119,247,222,203,167, 79,190,241,205,127,244,226,
-179,143,123,253,126,127,180,157,219,169,204,178,233, 84,178, 11,146,202,235, 15, 11,180, 30,203,175,120, 45, 55,184,178,139, 89,
-123,224,136,125,233,154, 93,247, 30, 32, 81,232,143,171, 94,207,180,224, 76,193,  0,156, 67,100,141,137, 72,129, 28, 57,159, 59,
-160,175, 46,167,103, 39,167, 10,112,239,222,237,126, 21, 62,253,240,227,  4, 56,191, 60, 97,239,129, 61, 98,109,237, 60, 38, 29,
-247,181, 23,120,115, 52,232,247,122, 73, 82, 23,211,112, 56,252,250, 23,191, 38,113, 21,170,254, 96, 99,163,237,162,247,117,175,
-223,107,187,180,156, 28,167,118, 89, 15,119,134, 27, 91,166,182, 90,204,134,227,205,170, 55, 34,166,174, 89,228, 12,180,196,184,
-177,185,141, 93,252,241, 47,127,230,234,129,129,121,162, 69,179, 66, 38,199,212,180,109, 94,171,173, 37, 38, 92,191,188,177,137,
- 73, 84,  6, 85,133,192,154, 61,147,101,182,192,189,173,173,175,190,253,218,157,157, 29,  3,119,126,189,152, 45,150,200,214, 52,
-157,247,110,119,103, 43,248,234,233,241,177,103,232,215,189,202,249, 36,186, 22,184, 32,182,173,170,  5,143,222,133,170,215,  7,
-213, 94, 85, 17, 82,155, 98, 21,124,191,223, 31, 12,198,  4,208, 27,110, 62,120,231,157, 55,191,244,222,254,189,215, 67, 21,154,
-249,245,193,171,103,207, 62,123,250,228,229,171,151, 71, 39,  7,103,103,231, 87,215, 95,121,252,250,251,239,190,123,255,238,107,
- 81,210,214,206,206, 55,191,245,235,175, 61,186,127, 61, 57,107,154,217, 39,159,124,244,226,244,116, 62,157, 93, 78,174,143, 94,
- 29, 45, 39,179,157,209,112, 88,215, 55,222, 93, 34, 10,222, 37, 77,156,193,179,200, 88, 54, 84,107,110,117,233,207,225,181, 50,
-134,204,222, 51,235,122, 39, 73,228, 20,208,179, 47,137, 15, 36, 68, 82,149, 54,118,193,249,108,146, 17,137, 18, 59, 38, 16,133,
-224,  3, 50, 90, 30, 95, 40,103,103, 92,105, 66,101,  2, 68,102,242, 76, 92,204,  8,204, 46,228, 94,132,138, 93, 76,194,232,128,
-144,115, 43,142,170,130, 49, 51, 98,110,197, 96, 36,172,214,158, 22, 38,151,127, 83,196,236, 28, 35, 81,169,137,203,143,122, 82,
- 67, 32, 32,145,132,  0, 57,205,  0,104, 92,210,161,104, 42,128,192,193,103, 19,142,  9,146, 39, 48,131,148,208,231,141,129,187,
-209,226,  8, 41,153,  1, 98,135, 41,132,122,190,108, 22,171, 85, 82, 80,181,220,188,218,175,195,100,186,  0,128,  6, 81,201,192,
-120,217,  9,142, 71,211,101,243,243, 15, 62,158, 47, 22, 25,173,222,239,213,222,135,243,201,213,151,239,223,221,223,220,138,170,
-160, 72, 76, 42,160,166, 61, 23,216,249, 76,177,245,206, 35,115, 62, 91, 67, 85, 49, 51,170, 77,102,203,118, 53,223,218,222,240,
-189, 26,217, 35,113,215,117,206, 17,135,  0, 70,106,106, 42,142,208,  8,219,166,243,140,136, 44, 26, 93, 30,251, 50, 33, 17, 13,
-153, 68,196,214,125,212,162,154, 67,203,204, 78,147, 16, 97,  8,228, 66, 21, 69, 40, 59,199, 25, 21,208, 36,121,231,204, 12,243,
- 46,238,207,255,228, 71, 96,160, 32,165,200, 54, 79,182, 72,  0,192,174,108,191,168,240, 24,  0,128,202,122,187,228,101, 11,228,
- 29,203, 42, 60, 71,128,141,224,230,159,222, 48, 13, 21,145,137, 75,119,135, 25,212, 85,117,126,114,234,251, 27,126, 29,145, 42,
-131, 26, 25,185, 27,141, 49, 71,103,179,129, 68, 11,  3,  6, 74,176,215, 44, 99, 35, 53,  7, 74, 11,238, 38,163, 91,202, 95,201,
- 76,  1,137, 17,  5,184,172,186,217, 21,202, 78, 94,200, 19,123, 32,134, 66,154, 51,204,171,223,108,154, 41, 34,167, 34,152, 65,
- 78,237,  2, 49, 27,144, 34, 16, 16,231, 16, 22, 33,  0, 27,232,246,206,206,242,250,250,226,122, 62, 30, 13,201,133, 58,244, 24,
-245,195,207, 62, 67,115,  3, 94,190,124,241,106,255,193, 27,154, 58,141, 82, 15,135,196,206,135, 42,171,200, 25,129, 74,204, 89,
- 53, 45,141,103, 25,250,147, 93,237,133,136,161,107, 36,112,185,224,100,241,245,134,172,192,236,204,180, 63,218,169,122,125,160,
- 92, 69, 70,150, 18,128,165,166,201,175,  8, 83,115,217,184,214,181,147,201,252,228,213, 11,235,150,175,191,243, 14,123,247,252,
-201,139,235,211,  3,209,174,238,111,197,100,177,155, 85, 85,237, 29,250, 16, 25,157,119, 46,166,238,252,106, 10,128,183,239,220,
-121,247,241,187, 10,145,156, 71,224,118, 62, 55,196,224, 56, 25, 46,103, 87, 93, 27,  1,124,187,188, 88, 45,103,139,217,213, 96,
-180, 41,113,185,154, 28, 57,  4, 96, 95, 85,149, 11, 30, 36, 61,249,236,131, 31,127,244,113,236,186,121,211,204,166, 83,  1, 11,
-176,126,  6,208,242,155, 45,198,  8,107,135, 93, 78, 47,116,109,151,204,250,253, 62,234, 90,212, 55,243,204,119,246,198,151,211,
-249,197,245,162,170,170,173,205,209,254,214, 78,219,118,215,179,105, 47,212,103,147, 11, 48,245, 92,157, 92, 93,143, 67, 80,144,
-202,123,  2, 76,210,121,230,182, 93, 25, 81,191,234, 85,193, 87, 85,127,181,184,114,190,118,228,137, 45, 37,107,147,116, 41,237,
- 61,120,244,230, 87,190,126,251,225, 27,195,141, 45,105,227,114,118,249,228,201,147, 23,175, 14, 15, 78, 79,159, 31, 28, 30,157,
- 93,116, 93,247,107,143,223,122,124,255,158, 26, 59,166,119,223,120,248,245,175,191, 71,218, 93, 28, 61,127,249,244,137, 16,  8,
-232,214,230,240, 39, 63,254,153,182,114,107, 52,220, 24, 13, 60,121,200,161,142,210,245, 75, 73,173,114, 21, 33,106,238,226,201,
-206, 63,242, 57, 41,152,123,148, 68,133,153, 21, 17, 84,193, 52,105,110,246,241,106,150, 84,234, 16,136, 25,193,114,102, 71, 84,
- 77,181, 87,247,  8,172,137, 89, 51, 67, 34, 74, 38,136,236, 61,  3, 96, 29, 42, 17, 81, 85,199,156, 97, 91,236, 24, 50, 38,  9,
-161, 72,150,128,204,148, 52,121,199,142, 93, 20,245,142,242, 77, 57,127, 71, 99, 18, 52,242,129,131, 39,  1, 76,146, 16, 13,201,
-  1,176,169,  8, 42,152, 18,187, 42,120, 66, 80,133,220,149,  9,142,186, 54, 17,147,115, 78, 36,130,129,247,174, 77,137,137,122,
-117,149, 13, 67, 34,146,109,136,136,  6, 70,206,121, 35, 51, 66, 38,151, 13, 43, 76,228,216,137,170, 98,206,189,  2, 35, 16, 96,
- 39,118,113,117,237, 60,189,126,239,254,178, 89,165,152, 16, 76,212,174,174,175,199,131,254,112, 56,156, 45, 27, 64, 55,139, 66,
- 33,184,224,143,143, 79, 46,174,167, 34,137,  8,251,117,245,248,181, 71,199,151, 87,247, 55,134,111,221,221, 71,176,192, 30,157,
- 67, 38,118,232,157, 19, 64, 83,173,122,181,227,144, 36,105, 74,228, 28,  5,103,162, 68,144,196,206, 46,175,110,109, 15, 55, 54,
-119, 93,168,136,188, 74,116,228,216, 57, 51, 75, 49,153,168, 35,108, 58,149, 24,123,117, 45,  6,160, 90, 85, 61, 85,200,192,112,
-  3, 35, 36, 53, 69, 85,207,220, 73, 76, 49, 49,179,247,190,105, 27, 53, 53,212, 42,184, 78,208,146,196,148,242, 36,152, 45,128,
-236, 57,195,229,234, 16, 90, 21,254,179, 63,254, 67, 64, 40,115, 47,131, 74,177,  9,146, 17, 18,169,100,170,250, 26,201,  5, 86,
-138,188,254,193, 94, 62, 31,165, 89,137,132,181,150,  9, 37,118,104, 72, 25, 32,130,  8, 32, 57, 64, 65,104,160,206,  7,137, 93,
- 84, 28, 13,107, 64,159,255,165,220,134, 90, 56,186,133,115,150,117, 95, 51, 53,162,245,202,  4,177, 44,202,243,215,  3, 72, 52,
-229,211, 63,159,205,  8,154, 55,249,159,163,211,197, 64,129,214,247,144,124, 74, 26, 57, 36, 95, 40,146,197,169,175,121, 85,165,
- 57,172, 91,218,150,180,252,191,101,202, 23, 20,206,197, 38,235,183, 24,229, 69,166,218,120,212,127,121,120,236,125, 85, 85,189,
- 42,  4, 23, 66, 77,250,211,143,158,108,247,253,151,190,250,222,225,171,163, 71,111,191,115,118,124, 52,222,216,113,190, 42,246,
- 76, 43,142, 87,  0,  2,226,178, 13, 67, 64,226, 27, 76,155,153,170,  8,136, 42, 96,161,142,220,  4, 17,242,146,162, 92,147,192,
- 68,135, 59,183,217,179,118,109,142,229, 81,229, 76, 44,187,116,164,139,161, 87,105,236, 76,162, 37,189,184,156, 45, 22, 77, 24,
-108, 62,122,252,168,109, 86, 31,252,253,143,167,167,175,122, 27,183, 37,117,132, 22,234, 13, 12, 53,168, 90, 55,117,206, 37, 73,
- 23,147,233,197,228,122,177, 92,125,233, 11, 95,249,194,151,223, 71,100, 49, 52,176,184,154,223,122,240,104,255,193,155,231,  7,
- 79,102, 23, 47,124,168, 92,175, 47,221, 74,218,153, 52,215, 73, 36, 54, 77,175,215,159,205,174, 57,244, 24, 89, 99,179,152, 77,
-254,238,131,159,190,154, 76,135,253,126,215,117,203,182,109,219, 40,160,102, 38, 73, 37,105,126, 30, 21, 44,137,220,136, 64,121,
-156,104, 99,231,144,122,189,218, 76,107,239,111,109,143,198,131,193,241,233,229,217,228,170,137, 93,215,117,154,196, 57, 26,246,
-122,139,166,105, 98,155,162, 36, 85,239,160, 75,118,181,152, 87,132, 62, 84,140,138,232,242, 84, 91,247,  6,102,170, 73,230,243,
- 75, 48,246,222, 87, 33,204, 23, 75, 51,219,191,125,231,189,111,188,255,248,139,191, 54,218,216, 68,194,217,229,233,217,225,171,
- 39,207,158,188, 56, 56,120,254,234,240,197,193,201,233,100,178, 51, 30,127,227,205, 55, 95,187,119,111, 54,155,222,187,115,251,
-215,191,241,222,131,251,119,206, 79, 14,154,213, 28,  7,189,143,159, 62,175,157, 63,155, 78, 62,251,224,233,102,175,190,179,189,
-105,104,249, 41,228,226, 68, 35, 98,  6,  4,239, 88,138,146,136,162,178,174,199, 89, 55,187, 16,218,231,104,223,162, 70, 17, 48,
- 19, 38, 17,199,158,185,236, 42,136, 93, 76,217,150, 13,165,246,192,128,215,193, 37,102,118,236, 51,186, 60,  4, 23, 83,  2, 49,
-118,107,237, 14,114, 83,118, 46,187, 84, 88,247,120, 56,196,224, 93, 38, 63,  6,239, 12,129, 28,177, 39,176,245,201,193,148,146,
-170,145, 15, 85,224,192,236, 68, 68, 82, 71, 76,140,204, 46, 16,162,228, 75, 61,  2, 17, 37, 85, 85,101, 66, 68,144, 36,153,254,
-139,  4,204, 14,145,147,198, 20, 37,223,  4, 68, 21, 12, 44, 26, 82,142, 62, 98, 38,164,243, 58, 33,152, 93,193,180,254, 90, 19,
-185, 64,200,200,192,216,116, 93,  8,161,107, 83,240,174,233, 98,142,  8, 24, 88,219,182,117, 85, 13,135,131,179,139,203, 65,191,
-126,117,114,246,226,240,168,156, 98,132, 91, 91, 27,200, 46, 46, 23, 95,125,120,183,215,235, 25,144, 88,102,205, 35,128,  3,208,
-224, 42,  0, 16, 81, 85,  1,196,170,242,165,240, 19, 80, 13, 46,166, 83,135,186,187,187,171, 68,  6,230, 66,197, 33,  0, 65,238,
-120, 34,114,162,169,235, 58,102,240,206,229,149, 50, 82,182,132,150,190,114, 19, 41, 59,122,114,130,192, 72, 92,  2, 48,226,200,
-229,190,204, 92,183,204, 68,196, 46,171,181,165, 33, 46,103,184,136,137, 72, 69,156, 81,  6, 99,230,238,173,188,221, 32, 80,203,
- 48,252, 50,200,230,187, 34,193, 77, 95,105, 25,117,129, 32,195, 52,179,133,116,109,227,206,144,159,245, 61, 32, 39,217, 44, 71,
-168,114,161,  5, 51,155,217,198,120,120, 50,153, 33,142, 51,139,147,145,204,  4, 29, 65,150,  3, 51,248,203,138, 22,105, 37,220,
-129,235,  6,162,252, 56,  2,161, 19,205,232,211,146,245, 65,  2,180,181,238,  4, 69,190,128,204,230,202,243,176,100,131, 60, 50,
-179,164,132, 38,235, 96,238, 58,133,101,152, 35,162,134,134,  6,140,206, 32,183,218,100,217, 62, 39, 49,114,196,200,149, 14, 66,
- 64, 49, 27,111,110, 62,186,183,127,120,114, 49, 24, 14,189,115,131,193,232,141,199,111, 29,156,156,253,221, 39,135, 15, 30,221,
- 57,124,249,100,213,174, 16, 45,198,198, 73,133,236, 16,179,197,202, 64, 20, 28,131,105, 70, 45,151,129, 29,233, 31, 72,  2, 98,
-  6,204,222,192, 84,  5,145,214,136,102, 40,216, 31, 81,231, 56, 10, 34,128,116,157,  1,147, 99, 48,213, 85, 99,230,184, 14, 42,
-145,131,215,156,153, 66,118,189, 26,236,136,152,177, 91, 16,210, 98,114, 53, 61,122, 49,186,251, 24, 24,217, 56, 54, 43,147,171,
-173,251,111,205, 47, 94,144, 26, 32, 55,171, 70, 68, 76,177,139,205, 59,111,189,139,224, 22, 87, 19,244, 20, 23, 83, 53,  9,152,
-150,147,147,233,233,115,195, 42,166, 84,  3,104, 90, 93, 93, 28,246,  7, 27, 33, 84,189,254,230,201,179, 95, 12, 55,246, 70,155,
-123,179,243, 87, 72,210, 25,158,206, 86,207, 95, 30,248,135,247, 87,171,101, 18,201,215,210,124,150,172,145,212, 56,118,189, 85,
-215, 45,155,166,164,162,181,116,190,156, 76, 46,204,244,139,143, 31, 17,200,209,197,213,116, 25,209, 36,248, 42, 89, 90,181,171,
-166,109,150,205, 98,216, 27,222,221,187,117,116,126,153, 52,174, 86,171, 20,171,187,251,123,109,108,143,102,139,205,141,113, 23,
-213, 48,133, 48,242, 85, 13,154,144, 67,  4,168,122,155,205,106, 49, 95,173,146, 65,175,223,127,237,141,183,222,250,210, 23, 71,
-219,219, 85, 93,167,102,113,117,117,121,121,118,118,118, 57,121,241,234,224,224,236,252,228,226, 10, 76,222,189,255,224,173,123,
- 15, 36,117,108,242,131,223,250,214,195, 55, 94,139,203,217,197,201,243, 15,127,245, 33,143, 70, 85, 21, 22,203,197, 47,126,126,
-170,177,219, 25, 15,250,245,  0, 16,217,149,234, 32,133,  0,  0,142, 17,152, 98, 18,  3,200,  1,212,148,149,152, 98,205, 54, 34,
-114,142, 37,  9, 88,134, 97,229, 86,103, 68, 70, 77, 42,  6,204, 46,105,100, 98, 48, 52,208,212,166,188,216,149, 36,  4,185,132,
- 11,213, 12,208,188,243,106,224,152, 50, 78, 82,196,  0,137,125,190,251,103,176, 23,198, 46,  1,162,168,121, 70, 17,  3, 54, 95,
-170,239,204,123,135,153, 52,204, 25, 84,198,236,208,136,216, 44,198,232,125,  8,117, 37,162, 73, 51,  6,  7, 29,251,242,158, 54,
- 35,176,220, 74,  6,  6, 64,230, 12, 98, 30,106,136, 75, 91,131, 42, 66,118,223,  3,146,115, 62,115,187,141,137,  9,173, 43,130,
-170, 97,217,220, 50, 25, 42, 18, 48, 34,  1,118,154, 37,226,114,217, 35, 87, 89,188, 53, 24, 17,242,213,244, 26,  1,246,247,182,
- 87,177, 75, 41,129,105,211,196,182,237,136, 56,171,  2,139,229,106,181,106,  1, 44, 56, 78,104,143,238,220,173,  6,253,143, 63,
-254,244,219,111,190, 54, 26,141,162, 49, 59,  0,233, 20,146,168,  5, 87, 27,  4,  5, 19, 81,246, 76, 68,102, 16,147,229,150,104,
- 83, 49, 37,233,186,173,209,176,204,150,204,132,138, 68, 92,215,150, 36,182, 77, 76, 45,  3, 24,174, 17,229,  8,170,146,245,218,
-220,127, 10,  6,228,125,183, 90, 49,  3,147, 15,228,146,197, 14,  0, 12,170,224, 82,210,130, 56, 70, 11, 33, 36, 81,  4,171,124,
-136,109, 68,208,188,244, 82, 49,239,193, 33, 17,123,254,179, 31,253, 17,174,239,253, 89,  7,229,245,159, 36, 11,137,246, 57,153,
-232,166,196, 47,239,206,214,177,126, 88,247,129,174, 21, 90, 43,204,195,236,135, 33,102, 66,179,108,236, 45,224, 73, 51, 85, 14,
-124, 53,185, 30,141,134,156, 93,182, 25, 18, 95, 60,131,121,239,128,165, 58, 96, 61,201,100, 47,124,190, 53,100, 73, 10,144,114,
-207, 97,105,175,  6,202,137, 80, 88, 67,139,242,  8,204,232,179, 93, 60,159,250, 89,184,227, 18, 94,203,181,117,153, 64,147,  1,
-188,186, 86, 97,105,221, 52,136, 88,214,141,185, 51, 47,255,124, 42,127, 88,239,114,204, 96, 52,168,159,191,120,165, 70,195,209,
-136,209, 85,161,  2,144,103,175, 78,182, 42,247,181,247,191,222, 44,151,239,124,249,107,121,219,228, 10,127,137, 85, 20,188,195,
-242,238, 85, 83, 41, 43,254,155, 79, 23,214, 54, 32, 40, 19, 90,142,170,174, 97,157,108, 57,207, 76,152, 84,199,219,251,228, 28,
- 17,107,106,193, 72, 21,128,208, 87,158,156,183, 24, 77,204,  5,111, 41, 97,229, 46, 78, 46,175, 38, 23,  0,114,239,193,195,179,
-231,159,156,156,157,187,225,134,181,141,117,201,168,234,143, 70,182, 60,107, 22, 87, 33,176,169, 46,151,171,179,203,203,147,171,
-137,153,125,239,123,191,191,156,207,187,213, 89, 24,236,  1, 86, 91,251,247,247,238,220,157, 78,206, 63,250,201, 95,110,223,127,
-123,235,214,163,174, 91, 57,215, 71,163,225,230,118,175,238,169,152,196,102, 48,218,188, 60,125, 90, 85,195,203,147,231,179,229,
-114,176,177,  3, 68,159, 60,123,218,175,  7, 77,215,181,146,184,200,115,132,255,  0, 33, 84,  5, 47,162, 41, 38, 66,  2,  2, 83,
-136, 42,227,186,247,181,183, 30, 45,151,205,193,249, 52, 38,225,155, 98,118, 64,  5, 19,176, 36,105,217,180, 73,100, 60, 28, 44,
-155,166,141,157, 99,106,186,118,119, 99,227,114,182, 76, 41,237,110,110, 24, 64,191, 10, 76, 84,213,181,180,171, 80,245, 76, 90,
- 67, 68,246,161,238,255,250,183,190,245,218, 59, 95, 24,141, 54,152, 93,183, 90, 29, 29, 30, 76,206,206, 95, 29,157,124,252,228,
-233,179,227,227,139,201,164,118,244,149,219,187,119,119,119,  0, 97, 99,107,248,253,239,126,123,111,127,111,114,252,234,224,249,
-211,165,234,249,244,106,107,115,243,167, 63,254,249,106,209,236, 14,123,227,222,  0,114,234,192, 50,199, 57, 75,100,234,157, 55,
-192, 36,169, 10,181, 67,143,136,201,  4,115,199,178, 99,  0, 11,158, 85,243, 76,134,236,  3,227,250, 43,167,229,102, 67,136, 10,
-249, 16, 68, 48,107,150,109,168,188,222, 36,179, 77, 29,114, 22, 51, 29, 81, 62,197,152,193,178,  9, 26,  9, 12, 68, 77, 82, 36,
-210,174,233, 98,140,162,198, 55,122, 47, 80, 93, 87,109,148,224, 24, 50,177,  5, 81,132,206,123,  0,  0, 32,  0, 73, 68, 65, 84,
- 89, 36, 47,237,153,216,221, 20, 79, 34,145,  1, 72,206,221, 19,122,199,107, 11, 47, 25, 18,136,114,112,192, 57, 33,143, 96,104,
-162,  8,148, 63,  4,  4, 98,159,155, 66, 44,137, 58,231,138,  4,  5,192,128,158, 89,  1,201,113,102,183, 50, 51, 82, 89,231, 50,
-231,238, 76,208,148,152,184,147,104,136, 46, 31, 19,204,129,160, 38,215,247, 78, 64, 79,175,166,219,155, 27,247,111,221,190,158,
-205,213,196,212,218, 46,166,148,222,123,231,157,208,239, 29, 28, 30,167,204, 47, 81, 24,244,235,179,201,244,205,205,225, 27,247,
-111,147,171, 12,133,152, 68, 84, 13, 42, 87,231,143, 52, 71,141, 56,120, 80, 52, 77,204, 62, 95,163,153,248,114, 54, 35,208,241,
-104,131,170, 80,140, 64, 49, 58, 79, 38,218,197,174,107, 59,239, 93,211,118,106,169, 10, 46,199, 24, 85,210, 77,229,  6,123,111,
- 96,146, 18,152, 57, 23,192, 49,168,169,169,  3,  0,162,166, 77,160,185,248,  1,  0,192,121, 44, 27, 99,211, 46,117,154, 79, 85,
-179,186,118,  0,108, 40,162,202,127,254,199,127,160,240,249,190,165,220,249, 57, 51, 22,214,241, 85,179,172,  7,174, 95,  2,152,
-223,  3,185,211, 99,125,137, 44,151,165,162,244,229,127,148,173,226,136,133,170,140,159,187,206,205,192,177, 91,204,231, 85,175,
-239,185, 88,172, 16, 13, 52,111,246,114,105,158, 17,223, 24, 94, 74, 17, 32,226, 77, 51, 93, 70,226,100,188,251, 58,218,207,235,
-188,233,250, 16,167,130,197,192, 27,133,216,138, 23, 94,172, 96, 85, 33,223,118,214, 50,  2, 23,199, 56, 56,  0,151,205,254,132,
- 30,201,209,205, 70, 36,203,155, 57,151,148, 11,165, 16, 16, 48, 73, 28,109,222,246,245,248,131, 95,253,116,115,115,183,174, 66,
-148,212,175,235,139,203,203,227,203,249, 55,127,227, 27,253,241,214,100,114,213, 46,151, 33, 84,206,249,242,145, 56, 42,204, 79,
-205, 45,175, 14, 49,135,241,180,108,214, 51, 86, 19,  1,209,200,249,130, 91,115,174,128,131,214,111, 63, 83,  1,170, 70, 91, 91,
-218,182,232, 56,159,  4,106,144, 73, 71,210,180,165, 59, 29,141, 66,109,109,119,240,244,233,124,222,244,250,189, 59, 91,131,131,
-167, 79,206,167,139,204,209, 19,242,113, 53,185,117,255,241,236,250,210,108, 53,236,247,218,182,107,150,171,227,243,201,197,100,
-210,171,195,155,247, 31,163,175,145, 56,137,178,227,205,141,225,120,123,235,244,248,132,123,163,237,157,123,205,234,106,181,152,
-163,164,222,230,174,103,127,121,242, 34,174,230,211,217,180,109, 87,  0,140,152, 66, 53, 60,159,156,133,241,246,195,123,247, 47,
- 47, 46, 63,126,246,164,242,222, 33, 50,145,128,229,165,110, 25, 81, 12, 84, 44, 56, 82,145, 70,  4,  0,234,224,239,223,218,121,
-116,123,255,131,151,  7,159,188, 58,236,215,189, 42,  4,195, 28, 53,179, 27, 23,110,126,217, 70,233,186,182,243,204,171,174, 83,
-180, 85,211,173, 86,203, 65,191,183,138,210, 52,205, 32,240,104, 48, 96,196, 16, 92,191,215,119,236, 98, 39,189, 65,253,224,254,
-131,127,244,155,223,191,253,224, 97, 93,215,136,176,152, 93, 93,158,157, 30, 28, 31, 62,121,241,242,163,231,207, 95,157,158,199,
-174,187, 61, 28,188,182, 53, 98,135,219, 91, 91,223,252,141,111,252,230,119,190, 67,100,151, 39,135,234,232,232,226, 92, 37,246,
-122,189,167,207,158, 99,219, 61,216,219,206,198,176, 44,121, 22,252, 23,187, 42,244,188, 15,249,187,234,124, 64,  0,  5, 77, 18,
-  1,128,128, 96,173,226,171,154,130,101,127,177,230, 66, 78, 34, 53, 17, 75,149,243,162,106,152,235,241,172, 75,106,  4, 85,  8,
-102,249, 65,202,144, 55,202, 59, 22, 38, 66,178,252,252,198,  4,104,196, 62,111, 71,  8, 76, 85,187,197,178,137, 34,222, 59,230,
-108, 70,177,236,152, 19, 53, 79,148, 85, 47, 19,209,164,196,121, 19,205, 64,168, 38,128,134,142,242, 46, 37,251,184,156,203,128,
-132,156,124,  4, 34,204,  4,221,124,145,206, 61,186,136,232,153,162,154,119,236, 40,168,106,236, 50,180, 43,  0,162,105,121,117,
-  1, 32, 58, 42,126, 13,  4,199,156, 93, 24,148, 53, 54,  2,231,179,120,139,235, 46,161,252, 21,206, 57, 45,116, 76,149, 11,163,
-224,170,224,231,171, 38,106, 34,128,126,213, 91,181, 93,  8,110, 52, 28,189,241,248,209,238,173, 91, 32, 73, 13, 98,215,189,249,
-218,195,227,139,235, 13,167,191,254,214, 99, 10, 61, 68, 74, 93,  4,  0, 31,152,128, 65,213, 12,136,152,157, 51, 68, 19,205,221,
-155,121,177,236,217,181, 81,174, 38,215,187,155, 27,190,223,255, 60, 21,132, 16, 99,148, 78,178, 25, 64, 82, 98,151, 43,  6,139,
- 22,201,204,153,114,136,196,  0, 20,187,142,  9,153,153,153, 52, 74,222,201, 73,134,223,230,106, 11,196, 98,160,146,252, 14,  7,
-134,114,187, 65,  2,239, 60,  2,138, 41,  3, 68, 49, 87,130,146, 37,166,143,160,166,  0, 12,153, 65,145,111, 83, 10, 72,101,196,
- 95,239, 64,193,200,  4,254,193, 18, 30,  0, 13,  5,115, 83,199, 77,205,  7,162,161, 67,144,172,117, 90, 81,192, 51, 38,201, 68,
-  5,188,227,249,162,169, 93,223,146,130, 83, 52,128,164, 96,  0, 46,107,152,168, 55,  6,110,  2, 68,191, 46,227,206, 58,110,  2,
- 91, 51, 80, 11, 99, 62, 15,238, 89,157, 84,  4, 82, 81,205,117,126,  6,196,133, 93,134, 55, 64,156, 53,196,191,224,149, 29,129,
-228,179, 59,228, 75, 16,146,154,121, 66,188, 41,250, 40,174, 33,  3, 68,116,134,134,166,136,140,108, 38,169,235, 92, 53, 24,108,
-222,126,255,254, 59,207,158,126,250,226,229,179,119,222,121,199,208, 66,221,123,251,141, 71,127,249,239,255,195,223,253,244,163,
- 31,252,227,239,189,122,250, 23,183, 31, 62,  6, 77,109,183,236,245, 71, 10,198, 72,104, 42, 34,235,212,  1, 32,170, 33,152,154,
-105,102,159, 74,206,155,169, 42,138,250, 16,138,125,126,253,247, 95,179,173, 41,248, 96,201,200,123,  0, 67, 70,235,196, 57,151,
- 61,148,138,232, 42, 15,  8,150,242,208,199, 73, 49, 54,203,197,242, 44, 54,247, 19,  7, 32,239,136, 17, 24, 36,109,239,222, 21,
- 85,114,  3,182,  5, 32,155,170,128, 78,231, 11, 81,189,179,115,119, 99,188, 53, 91, 92,139, 73,175, 55,168,  6,189,237,253, 59,
-104,230,124, 24,111,223, 53,228, 80, 13, 17,  3, 72,215, 45,231,203,213, 84, 76, 12,171,205, 91,247,156,171,219,217,249,106, 57,
-237,141,239,172,212,227,114,182, 92,204,239,223,189,253,252,213,203,195,139,139,173,241,120, 88, 85,216, 38,201,156, 82, 34, 21,
- 51, 80, 38, 66,197,186, 10,169,105,239,223,218,221,218, 24,159, 92, 92,254,248,163, 79, 12,128,152, 46,167, 87,204,155, 85,168,
-140, 45, 37, 51,176, 92, 70,155, 82,202, 93, 45,209, 18,  2,246,235,170, 21,241,140, 33,132,166,109, 30,220,190,243,234,244, 84,
- 52,121,118,183,118,182,151,139,101,175,223, 55,149,189, 91, 59,239,189,255,205,123, 15, 95,175,  7, 61, 51,136,237,234,106,114,
-121,125,117,241,252,197,193, 71, 79,159, 31, 95, 78,166,243, 89,223,225, 87, 30,220, 11, 68,203, 46,190,247,165, 47,126,251, 55,
-191,211, 31, 14, 47, 78, 94, 94,156,157, 54,236,207, 79,143,175, 39, 87,243,101,179,156,205,119,250,189,189,205,205, 12,116, 35,
- 51, 50, 48,  3, 38, 32,231,178,119,183, 75,202,235,185,  8,203,194,179, 24,182, 50,253,149,204,152, 80, 17,187, 38, 18,145,115,
-206,  0, 50, 57,  0,201, 37,145,192,100,  6, 73, 68, 65,131,227, 60,203,231,163,217,146,174,115, 75, 12,140,142, 72,172,148,178,
-250,192,196, 36,201,136, 17, 29, 37,233,242, 96,232,125,240,193, 33, 18,173,235,141,215,248, 40,200,186, 72,222,105,112, 33,116,
- 16, 20,218,224,218,217, 12, 64,168,206,  7, 96, 36,181,104,154,215, 41, 42,186,166, 90,149, 53,102,197, 28,213, 20,160,246, 46,
-138,136,118,128, 22,106,  7,138, 41, 37, 46,215,116, 64, 34, 16,141,173,248,224, 29,130,  8,100,203, 10,153,199, 76, 23, 65,202,
-241,248,146,118,230,236,158, 52,114,214,243,204, 14, 82,212,164,214,135,234,158,115, 85,224, 23,103,151,227, 81,191,174,  7, 77,
-108,119, 55, 55,238,220,190,235,156,251,244,227, 79,106,239, 94,127,120,111,212,175,187,164,221,114,246,222, 23,223,  8,189,126,
- 66, 86, 21, 23,124,182,140,136,116,236, 93, 46,223,179, 66, 89, 54, 85,203, 86, 81, 21, 72, 34, 87,215, 83,239,160,234,215,101,
-147, 68,136,  0,171,182, 69, 16, 71, 92,122,203,205,145,165, 46,111, 32,215,133, 76,184, 94,248,138, 36,102,  2, 36, 69,180, 84,
- 44,112,200, 14,  0, 48, 69,206, 80, 19,200, 41, 51,  5,242,  8, 70,204, 77, 76,166,137,128,  8, 32,197, 84, 10,155,137,  1, 34,
-255,233,143,126, 15, 20, 53, 87, 31,225, 90,182,187,241,128,131,130,102,215,140,102, 96,241,122, 23, 65,166,166,104,165,138,163,
-132,102, 11, 26,184, 60, 20,121,179, 97,101,157,  3,184,102, 47, 32,168, 25, 35,129,153,164,110,214,116,219,195,129, 34,100, 74,
- 39,130, 21, 21,116, 77,218,202,115,153,138, 33, 26,173, 27,166,178, 19,188,  8,148, 76,104, 25,226,142, 80, 66, 82,153, 94,157,
-191, 53, 69, 36, 69,176,194,222,231, 98, 18, 42, 24, 59, 45,175,172,  2, 48,206,151,190, 50,249, 91,246, 78,  2, 80, 89,121,230,
-235, 76,126,230,145,114,154,143,  9, 37,181, 92,111,236, 61,120,211,249, 10, 13,238,236,223,253,217,223,255,141,175,234, 81,191,
-175,192, 85, 85,117,203,197, 71, 79, 95,126,225,241,235,231,103, 71,174,234,213,189,170,157,175,216,251, 44,250,131,152,169,101,
- 72,228,141,229, 40,251,235,173,120, 37, 17, 84,  9, 29, 51,101,101, 41,235,186,153, 16,130,136,200,  4, 98, 68,174, 55, 28,151,
-158, 15, 69, 75,137,168,112,182, 65,209, 85, 65,163,  2,152,198, 40, 93,119,248,226,229,197,241,179, 10,245,141,119,191,124,126,
-181,154,175,146,165, 86,208, 13, 55,183,  6,155,219,147,147,  3,105,102,117,109,190,242,179,233,244,242,226,234,197,225,225,245,
-116,242, 59,191,253,195,123,143,222,186,186, 60,100, 21, 52, 25,239,221,185,117,231,206,245,197,217,229,249,113,206, 63,155,193,
-226,250,148,129, 86,177,139,106, 33, 12, 24, 52,181,141,175,122,243,197,213,173,253,  7,171,197,100,145,244,213,241,209,197,197,
-  5,169,221,190,181,255,242,213,193,108,181, 68,196,162, 56, 33,  3,192,160,223,223,223,222,189,189,123,103,123,115,235,222,222,
-254,155,247,111,205,218,246, 87, 79,159, 79,151, 43,206, 56, 83,196,100,210,181,113, 80,213, 12,200, 76,162, 89,158,135,130, 26,
- 33, 96,  8,204,  8, 96,109,151,  6,189,122,127,123,247,106, 62,143, 41, 14,250,189, 89, 19,137,169, 95,247,  7,117,237,188,123,
-243,237, 47,124,231,119,127,111,255,254,163, 80, 85,102,208,182,139,139,179,179,147,163,163,143, 62,123,250,139, 79, 63, 59,188,
-184, 92, 53,139,253, 97,255, 11,251,183,201,204,147,253,254,239,253,238,183,190,251,253,249,244,242,229, 39, 31,  8,225,213,108,
-118,113,126,118,120,112,220, 53,237, 70,229,247, 54, 55,123,253,192,142,196,114, 79, 16, 39, 21,239, 28, 51, 87,189,218, 84,141,
-172,242,204,134,185, 65, 35,123,116,147,  8,179, 99,228,104, 49,231,206,197, 64, 85,153,200, 57, 78,162, 25,118,167,150, 55, 56,
- 40,170, 98,185, 84, 47, 24,  1,  1,128, 90,  8,  1,212,186,216,121,231,138,167,146, 73,237,230, 69,  3,102, 70,236, 66,240,102,
-166,162,142, 89,213, 68,165,246,  1,144, 28,241, 77,222, 28, 12,156,163, 28, 94, 34,114,206, 59,116,236, 28,151,168,170, 35,211,
-148,186,200,128,196, 46, 11,253,249,219,106, 37,141,143,150, 84, 36,101, 11,140,153,101,163,181,152,185,224,188,207, 90,130,  6,
-207,107,194, 45, 33, 97,210,242, 27, 52,131, 76, 76,203, 24,250,156,255,178, 44,101,  2,100,  8,176, 38, 41, 75,121,  3, 99,244,
-236,216,115, 29,252,112,128,149, 19,  3,  0,204,107, 16,172,136,118, 55,250,211, 85,247,252,240,104,123, 99,227,141,215, 31,237,
-221,189,189, 92, 46,159, 62,125, 62,185,154, 14,  7,253, 47,125,233,139,231,151, 23,253,186, 26,142, 55,217, 52, 16,113,168, 68,
-149,188, 51,  1,231,189, 39, 76,166,  6, 80, 85, 85,166, 94,102,129, 76, 85, 65,117,217,164,249,124,186,183,185,225,235, 58,111,
- 41, 36, 99,191,184,116,143,132, 80,153,154, 20,253,147,208, 32, 73,182,129,186, 60,134,122,  2,224, 92,186,157,231,104,134,130,
-106, 81,203,  7,102,249,143,130, 72,206,135,252, 81,139,  8, 19,  6,114, 64, 28,147, 16, 90, 86, 55,137, 76, 12,249, 95,252,147,
- 31,221, 48,186,114,108, 30,204,242, 17, 88,224,234,229,100, 46,139,153,245,  6, 39, 51,187,176,152, 17,139,240,153, 45,225,185,
-119, 15, 16,208, 74,223,213,141,143,114,205, 17, 91, 63,109,196,120, 61,155,239,237,237, 88, 20,200,145, 75,164, 18,208,192, 82,
-149,151,127, 48,229,166,214,178,251, 70,181,124,115,  5, 67, 68, 45,205,126,184, 94,196,148, 69, 13,150,134,244,178,195,200, 95,
-164,146,191, 42,122,112,217,  5,216, 77,165,120,118,180, 56, 68,203,193,238,124,217, 55, 48, 98,198,108, 97, 44, 27, 80, 82, 75,
-217,217, 32,210, 57, 55,220,125,248, 54, 35,105,106, 65,213, 48,253,245,191,255,127,212,116,184,177,225, 92, 80,176,126,229,159,
- 61,125, 78, 68,239,191,255,181, 20,187,222, 96,180, 90, 78,  1, 92,240, 30, 76,129, 29,160, 49,115,214,174,215,229,176,229, 99,
-203,151, 20,118,  1,153, 51,159,207,214,159, 99,158,247, 12, 12,129,204,160, 55,222,235,109,140, 76,  5,209,105,219,144,119,232,
- 40, 83,130, 75, 88,192,140,208, 82, 23,197,240,201, 71,159, 76,206, 94,109,109,223,122,253, 75, 95,121,241,242,224,228,248,  8,
-201,213,129,187,249,  5,170,196,110,201,222,215, 53,152, 89,187, 88, 30,157,159,191, 60, 57,107, 99,247, 91, 95,255, 13,244, 21,
- 80, 29,  6, 91, 85,191, 87,245,250,227,205,205,233,213, 36,198,214, 98,219, 92,157,248,254,118, 85,241,106, 58,211,148,130,247,
-109,187, 20,177,254,160, 47,178, 26,141,247,147,201,103,159,254,234,114,177,250,234,151,191,222, 31, 12,  8,181,223,171,151, 93,
-115,122,113, 97,136,129,243, 70, 88,115,113,193,108,181, 92, 46, 23,155,227, 90,165,253,232,249,193,229,108,158, 36,  3,101,233,
-230,138, 40, 34, 41,197, 80,213,185, 95,190,104, 63,249, 86,171,226, 61, 43,114,112, 60, 30, 15,251,117,189, 49, 28,137,196,235,
-233,188,223,171, 31,222,190,125,116,121,217,182,205,189,253, 91,223,249,222,119,191,250,205,223,234,143,199,192, 36, 93, 92, 92,
- 95, 92,156, 30, 31, 28, 29,253,234,227, 79, 62,124,242,252,236,106,106,113,245,214,222,222, 27,123,183,146,200, 23,190,240,230,
- 15,255,228,159,238,222,218, 57,124,246, 25,247,170,147,201,164,105, 87,189,141,209, 71,159, 61,117,141,222,218, 24, 85,149, 87,
- 64,  4, 18, 67,199,172,102, 68,202,142,217,185,124,212,  2, 99,134,136,230,130,209,236,212,  2, 32,239,216, 74,160,130, 24, 81,
- 77, 37, 37, 68, 82,179,182, 75, 55,115,189, 11, 14, 12, 36,138, 22,151,  0,170,165,252,  7, 51, 72, 41,154, 41, 59, 78,144,193,
-147,152, 73, 71,217, 66,135,144, 31, 34,146, 46,102,183,177,130, 85, 85,189, 46,201, 10,236, 41, 15,194, 76,132,185, 64, 14,144,
-156,175,170,128,136,196, 76, 88,252, 28,  0,156,213, 53,188,113,  4,168,154, 40,231,176,120,161,200,  2,123, 15,107, 39,111, 18,
-113,149, 99, 36,208, 12,151,  2,199, 62,139,132,107,232,  2, 81, 70,238,  0,102, 30,132,137, 38, 85,186,169,111, 91,167,251,243,
- 89, 73, 84, 98,152, 24,152,129,144,192,123,116, 30, 29, 53,204,154, 12,165, 83,116,222, 28,178,227, 10,177, 66,155,182, 29,162,
-171, 43,239,157,235, 98, 92, 46, 27,231,120,103,111,107, 58, 91, 93,158,159,221,187,125,123,149,116,209, 53,163, 16, 92, 38,197,
- 18,186,172,130,136, 57,207,140, 20, 69, 66,  8,154, 23,168, 10, 20,156,154, 93, 94, 94,247,  2,245,135, 67,100,151, 79,137,146,
-250,  7,117, 76,  6,164, 73, 96,237, 58, 37,200,115, 41,  1, 90,148,164,106,206,177, 33,153,228,141,157,178, 15,185,186,199, 12,
- 12,244,134,189,149,119, 40,204,  4,134, 73, 69, 77, 42, 31,114,175, 96, 30,219, 13, 32, 37, 97, 71,193,251, 46,138, 43,162, 79,
-198, 32, 40, 32,170,  1,129, 74,126,241,139, 38, 64, 52, 19, 38,159, 67,244,249,204,213,108,156,  2, 44,165, 85, 57,182, 90,154,
-158,208,  0, 52,  1,115,238,154, 65, 51, 43,117, 26,  5,217,152, 97, 55,  2,128,190,234,147,158, 45, 35,  5,135, 38, 37,163, 87,
-102, 88, 69,163, 66,231, 45, 37,171,150,145,121,104,217, 72,161, 37, 13,149,225,106, 57, 44,244,249,221, 14,129, 24, 98,202, 33,
-175,  2, 28, 37,128,148, 52,207,238,185, 35,204,  4,136, 28,129,101, 57,193, 76, 12,  0,185,  3,  3, 99, 71,166,107,112, 61, 65,
- 41,241,138,  8,140,249,218, 12,140, 76,160,209, 87,227,237,187,111, 16, 65, 59,159, 57,246,203,118,254, 63,254,247,255,195,183,
-126,251, 15, 63,250,229,223, 28,159, 28, 62,188,247,186,103, 30,110,108,189,245,214,227,127,251,215,127,251,205,247,127,109,114,
-113,118,122,114,210, 52,203,221, 77,  8,193, 87, 85,207, 36,145, 15,152,109, 64,170, 55, 96, 28,145, 44,183, 18,  2,178,243,102,
- 70, 76,196,168, 98,150,148, 42,135,136, 38,  9,179,133, 70,193,213, 85, 94, 85,170, 68,170,188,175,130, 36, 49, 81,  3, 50,139,
-146,148, 60,202,170, 67,213,110,185, 92, 94, 29, 18, 18,135, 10,136,201,132, 92, 61,218,232, 49, 50,244,234,216,172, 92, 53,114,
-212,144, 11,210,197,216,165,233, 98,217,180,237,176, 63, 28,247,  7, 64,182,115,107,239,250,244,116,122,113,112,247,193,107,177,
-105,  1, 25,212, 37, 97, 85,110,151,179,171,147, 39,231,167,135,183,110,191,214, 45, 47,134, 27,251,206,135,213,252, 98, 53,187,
-212,129,138,129,186, 65,183,188,250,201,207,255, 54,  4,119,112,112,184, 92,206,123, 92,189,245,240,209, 98,177,200,101,144,128,
- 32, 42,  6,112,127,111,183,223,247,151,147,249,241,229, 68, 36,245,171,106, 80,133,139,233,180,211, 82,199,152,159,220,121,215,
-202,213,100,119,123, 19, 17, 53,139,226,201, 12,161,174,  7,142,176, 75,169, 87, 85, 49, 37,231, 61,160, 13,251,195,126,221, 63,
-191,190,138,233,120,123, 99,235,119,190,251,157, 31,254,254, 31,246,134, 67, 81,  1,208,213,244,122,122,117, 62,185,184,122,121,
-112,240,233,179,103,  7,167,231, 87,211,249,237, 81,255,254,214, 46,139,214,189,250,143,126,244,  7,111,188,249,230,229,241,225,
-139, 87,  7,110,107,227,232,228,232,240,240,104,181,138,139,217, 98, 84,247,182,247,198,204,148, 84, 52,165, 80, 85, 73, 58, 43,
-231,100,  6,170,172,  3,122,  8, 41,137, 18,105, 82,116,152, 33, 76,154, 47, 31,  0,136, 20, 37,113,169, 52,241,201, 18,130,229,
-  6,100, 85, 12,193, 73,210,152,132, 88, 61, 57, 84,136,102,142, 29, 25,164,168, 49, 69,246, 44,162, 46,167, 33,203, 85, 29,137,
-157,153,130, 26,  7,111, 81,164,139, 84, 48,115,232,200,153, 73,191,223,235,186, 78, 76,  8, 60,168, 49,161,152, 24,144, 67,207,
-206,161, 65,210,228,156, 71, 70, 84, 51,129, 36, 74,222,192,128,137, 85, 81, 44, 91,182, 45, 91, 78, 85, 18, 18, 59,207,146, 80,
-215,252, 44, 32,242, 76, 32,160,166, 34,210,171,107,201, 14,123,  3, 34,210,117,172, 50,247,197, 58, 31, 76, 33,197, 14,  0, 50,
-114,129,152,129, 12,196, 24, 44,198, 84,240,184, 25, 92,152, 49,226,142,209,186, 64,209, 59,232,162, 52, 77, 52,243,  0,129,200,
- 48, 25, 33, 38, 67,100,255,218,107,143, 38,147,233,249,229, 21,145, 27,142,122,111,189,249,134, 72, 34,199, 63,249,201,207,150,
-171, 85, 29,194,178,237,234, 80, 53,241,242,245,157,237,126,168, 82, 50, 37,201,102, 21,149, 14,209, 85,222,199, 24,115,190,132,
-  3, 74,146,182, 73,166,105, 60,218,  6,192,148, 26, 34,118,174, 82,  5, 34, 37,116, 41,117,206,177, 82,134,185, 27, 57, 70, 81,
-199,104,106,121,132, 71, 87,224, 94,121,131,103, 70, 41, 38,135, 64,204, 32,178, 74, 17, 68,123, 85, 63,111,134, 29, 81, 82, 81,
-211,186, 10,146,160,137,157,169,120,231, 16, 33,154, 18, 66, 29,156,  0,116, 81, 84,147,195,155,105, 49,247,106,100,211,119, 54,
-156,103, 99, 36,  0, 81,126,  3, 75, 54,164,128, 89,169,146,128, 12,155, 65, 48, 33, 38,149, 28, 57, 53, 84, 99, 15,153,167,187,
-238,218,131,178,204, 95,183, 89, 32,187, 60,252, 14,106,119,122, 53,127,109,175, 78,154, 76, 81, 83, 71,174,206, 26, 59, 25, 16,
- 26, 96,  6, 54,  2,230,179,111,141, 30, 54,211,114, 69, 64, 99,204,216, 72, 66,206, 14, 91,  3, 53, 49, 64, 69,164,226, 27, 42,
-228,132, 82, 32, 96,172,104,  8,196,229, 70,137,165, 95,132,  0,  1, 36, 33, 25,104,126, 15,100, 14, 67,105, 74, 42,252,100, 53,
-  3,197, 92,112,233,135,155,183,223, 32,164,184,156,131,129, 72,250, 95,254,167,255,249, 75, 95,251,205,111,255,167,191,187,152,
-158,125,252,225,207,199,131,173,205,237,109, 31,252,195,135, 15, 62,123,246,226,127,255,191,254,239, 63,254,131,223, 62, 58,124,
-177,104,250,183,239,221, 61, 63, 63, 53, 52, 71,156,137, 19,107,255,169,113,240, 41,  9,128,229, 88,  4, 34,169,  8, 59,199,236,
-  0, 12,201,188,167,194,248,225, 96,160,  6, 74,236, 66,  8,228,189,153,211,182, 69,246,177,109, 16, 29, 18,128, 36,141, 29, 57,
- 75, 81, 76, 20, 68,150,167,199,169,107,155,118, 73,161,135, 76, 70, 21,  0,196, 78, 18, 64,111, 56,108,103, 83,212,206,247, 34,
- 65, 47,106, 90,181,205,245,124, 17, 83,220,191,117,123, 25, 19,205,231,179,233,108,113,121,184,185,255, 58,251,222,201,241,209,
-233,233, 17,167,213,114, 58,217,186,253,184,153,207,183,239,188,189,177,251,168,139,173,165, 97,108,174, 16,250,237,226,170,234,
-141,201,249,197,108,122, 57,159, 29,157,158, 84,190, 82,137,163,209,198, 98,181,218,217, 30,134, 58, 60, 95, 45,147, 73, 82, 85,
-209,141,209,240,222,222,222,178,107, 63,124,126,232,  0,  8, 77, 16,187,212,121,230,241,112, 56,153,206,242,149, 43, 63, 95,  8,
-184,138,237,116, 62,223, 30,143,172, 45,170,180,129, 73,138,139,174, 13,193, 15,251,155, 87,211,121,211, 52, 75,102,  1,168, 42,
-119,103,119,119,111,111,231,191,251,111,254,219,119,223,253,210,233,100, 18,219, 85, 74,113, 62,185,188,154,156, 93, 93, 93, 63,
-121,241,226,227,231, 47,207, 46,174, 84,226,227,221,141,135, 59,219,201,224,225,131,187,191,255,195, 31,122, 71, 79,126,245,211,
- 38,197,179,139,179,233,179,167, 81,116,190,106,108,214, 60,218,221,206,166,149, 36,102,  8,222,135,148,132,145,213,140,217, 49,
-113, 82, 81,128,202,251, 85,215, 48,112,118, 19, 43,  9,129, 47,161,105, 83, 64,  8, 62, 52,171,150, 24, 21, 57, 73,155,119,146,
-132,  4,144,178,111, 98,213,116,206,177,247,142,  1,197, 84,192,152, 80, 37,  9,  0, 33, 85,149, 23,177,218,185,108,126, 43,212,
-116, 36, 85,113, 33, 88,138, 42,209,202,127, 99,236,  8,173, 88,144, 99,234,156,119,165,233, 23, 73,147,  1, 97,  8,193, 59,238,
-146,186, 92,150,160, 10,134,228, 72,146,178, 35, 80, 96,246, 98,130, 88, 44,  2,228,243,166, 94, 28,115,206,166, 18, 49,130,137,
- 42,121, 66, 64, 17, 53, 80,231,208,161,139, 93, 66,196,  4,234,202, 62,129, 68, 75,169,  5, 38,212, 46,229, 27, 52, 50,229,  6,
-100, 64, 32,114,169,107,147, 73,134, 52,176,247,197,251,231,156, 74,  2, 75,192,232, 67,165,113, 41, 17,155,200,189, 94,  8,190,
-110,218, 68, 72, 34,178, 84,  9,183,246, 23, 71,167, 79, 95, 29,136,200,201,217,121,175,170,222,251,226, 23,134,155,227,167,159,
- 61, 91,204, 23,201,244,233,203,163,126,191,218,123,109,251,244, 98, 18,245,242,222,214,214, 70,237, 29,113,211,117,193, 59, 71,
- 85, 39,218,172, 26, 98, 46,175, 61, 49, 77,178, 92, 45,234,202,187,186, 86, 77, 72, 30,129,146, 36,199, 94, 84,146,180,236,156,
- 65, 41,164,  3, 64,206, 99, 57, 64,178,232,216,105,174,  3, 71,  0,209,224,170,100,162, 41, 17,160, 33,161, 42,152, 57, 37,116,
-156, 36,101, 68,101,215, 53, 36,234,152, 82,236, 16, 40, 56,175,192,170,  6,146,152, 28,104, 82, 64, 73,209, 33,154,170,203,114,
-142,153,228,159,173,182,166, 44, 20,249,145,214,149, 46,101, 35,175, 80, 62,112,  0, 53, 40,247, 52,195,108,176, 45, 74,167, 21,
- 95,100,201,193, 18,165,181, 57,102,109,219,194,117,103,148,234,246,206,238, 39, 47, 14,117,255,109,131, 14,  9,141,216,202,168,
- 93,188,178,144, 41,  8,154,255, 93, 93, 47,170, 63, 79, 58,149,158,115, 43, 55,136,172, 44,107, 17, 39, 11,238, 88,138, 38,  2,
- 37,222,151,143,135,108,176, 65,180, 92,197,183,182,118,194, 58,150, 10,107, 36, 66,126,150, 81, 13,145, 13, 20,114, 16, 66, 13,
-125, 53,222,189, 71,177,105,151,173,137, 86,131,141,191,252, 63,254,215,189,253,123,223,253,193,183,210,197,217,251,191,254,237,
-103, 79, 62, 57, 63, 59, 25, 12,122,193,247,234,190,188,247,238, 59,255,238, 63,252,245, 55,190,246,149,199,111,190,243,225, 47,
-127,118,120,248, 28, 68,125, 21, 48, 12,146, 68,  2,133,146,108,178,216,197,188,150, 50,203,  4, 52,135,148, 93,112,100,166,142,
-110,100, 57, 48,135, 40, 12,160, 92, 85,206, 59,137,157, 22,215,148,100, 74,120,198,138, 17, 15,173, 93,105,155,208,179,166,164,
-  6,198,  1,184, 71,161, 39, 73,144, 16, 45,197,136,131, 81,189,184, 60, 73,171, 69,127,188,133,148, 12, 48,117,113,177,106,154,
- 54,154,217,195,187, 15,183,111, 61, 60, 63, 63,233, 22, 87, 91,251, 15,170,186,106,150,203,197,116,  1,203,217,244,250,120,116,
-235,141,110,213, 88, 90,213,117,117,126,122,192,213,192,135,186,107,168,105, 91, 36,116,161,234,247,251,199,167, 71, 81,245,241,
-107,143,145,236,229,203, 87, 42,178, 61,222, 90, 54,139,174,107, 66, 85,205,175,174,198,195,254,131,237, 77,101, 58,189,184,188,
- 88,204, 29, 56,231,168, 19, 69,100,207,  8,  8,158, 97, 99,208,187, 94, 44,213,214,144,103,  3, 36,152, 46, 22,128, 48,170,250,
-217,207,100, 10, 28, 56,120,223,118,105, 50,189, 10,190, 74, 98,139,182, 37,128,157,173,205,127,246,163, 31,125,255,123, 63,216,
-222,221,155, 47, 86,150, 98,187,152, 95, 79, 46, 38,147,139,211,179,179, 39, 47, 94, 62,125,117, 52,157, 47,  6,193, 61,216,189,
-213,167, 56, 30, 13,190,247, 59,191,243,240,225,131,229,114,222, 54,221,193,233,  9, 59, 26,236,108, 30,158, 79, 46,142,206,118,
- 55, 55,246,239,237,139,152, 90,142, 31,194, 13,225, 54,  3,193,179, 77, 46, 83, 92, 10,195, 22,128, 40,219,190,185,140, 62,106,
- 46,176,154,182,177, 67,  7,132, 24, 37, 17,162, 15, 46,198,232,136,131,239,181,169,139, 34, 33, 91,105,205,  4, 12, 12,130,247,
- 49,198,130,255, 50, 19, 69, 48,136,146,214,248,170,210,196,228,152, 32,165, 82,152,144,157,111,197,230,  6, 42, 34,152,152, 92,
-  6,117,136, 25,  0,177, 39,135,  0,  4,146,249,163, 14, 77, 37,169, 17,  2, 36, 95,102, 66,204,142,142,252,157,163,117,151, 52,
-249, 92,184,157,143,108,179,114,207,117,168, 73,192, 52,248, 74, 64,116, 93,129,237,184,216,139,205,140,153,137, 81,146,230, 81,
- 14,205,229, 90, 80, 66,  4,  7,150, 52,197,  8, 32,158, 89, 76,193,204,196, 50,123, 54,198,232, 16,156, 35,199,144, 36,138,176,
-168,177,115, 49, 17,162, 16,162,153, 46,187,206,111,110,137,243,139,233, 76, 85,163, 74, 59, 91, 50,211,213,116,250,225, 39,159,
- 57,231,216,249,118,185, 48,132,249, 98,245,233,147,231,195, 94,223,143,194,243,243,243,253,241,120,191,223,243,181, 71,128,164,
-134,107, 21,  1,212,128,144,  1,163,225,170, 89,237,110,142, 17,149,156, 83, 17,  5, 33,100, 81,129,114, 78, 24,153,228,197,122,
-222, 74,229, 70,188, 16,156,198,148,  9, 91,249,168, 81, 19, 34,  2,231, 77,180, 19,241, 68, 62,120,  4, 18, 75,165,252,195,180,
-246, 33, 65,178,210, 90, 65,  6, 16, 37, 58,224,117, 53, 42,196,212,145, 90, 50,139,109,231, 32,111, 79,  0, 32,195,173,242,250,
-165, 24,192,243, 65,206,  8,150,169,211,156,249,184, 98,235, 68,106,238,228, 54, 80,  4,250, 60,113,153,203,230,208, 48,207,149,
- 88,214,223,248,121, 35,133,166,178,168, 87, 13,131, 81,144,231, 49,162,247, 65, 98,100,230,108,182, 89,159,222,154, 51,114, 55,
-164,119, 90,215,209,101,118, 11,103,172,174, 17,162,154,161,169, 41, 73,238, 19, 55, 21,203, 45, 45,165,126,210, 12,201, 50,254,
- 32, 99,118,  0,200,145,129, 17,128,150,247, 85,161,174,175,107, 87, 11,111,216,  0,243,164,  0,  4, 68,190,164,106, 57, 12,199,
-251,218, 53,203,197,220, 15,199,163,209,230,191,251,171,191,188,184,156,254,147,255,252, 15,218,174, 73, 77,220,216,217,249,193,
-239,253,254,255,246,111,254,205,230,246,245,214,150,235,247,  6,119,239,221,125,237,222,157,191,248,171,191,122,227,241,127,177,
-179,187,119,244,226,197,157,  7,247,167,215, 87,117, 61, 80, 85,  3,112,206,229, 16, 47,172, 59,230, 51,158, 41,151,100,153, 26,
-176,230, 88, 72, 33, 56, 32,162, 50,  0,  8,168, 67,100,132, 36,  9,185, 50, 19, 75,121, 41,134,154, 26, 14, 61,  0,177,152,144,
-193, 98, 34,102, 64,139,205,170, 10,190,223,171, 13,161,109, 22,236,168,215,239,199,216,116, 49, 58, 95,161,115,249,235,159, 98,
-154, 47, 87,162,  9,  8,135,195,209,124, 62, 79,177,233,245,123,104,104,106,221,114, 46,105,213,219,216, 80,109,110,221,189,127,
-121,116,188, 92,206, 42,231,130,235,117,205,140,137,171,193, 86,211, 44,118,246, 31,199, 24,153,194,209,229,213,197,100, 18,188,
-155,205,103,215,211,235, 46, 73, 29,194,106,181, 88, 54,171,219, 59,187,111,220,185,181,106, 87,103,147,235,235,197, 34, 37, 35,
-180,136, 38, 89,169,161,242, 92,169, 98, 21,220, 14,141,207,103, 51,209, 92,194, 11, 38,  8, 96,215,179,185,137, 13,122,125,  5,
- 37,196,174,139,109,106,  7,189, 30, 34,  3,194,173,221,189,147,179,211,247,223,123,239, 95,255,171,127,253,250,155,111,130,217,
-116, 54,107,154,213,245,249,201,249,197,217,244,106,242,226,240,213,199, 79, 94, 94, 92,207,230,203,213,237, 81,127,183,231,201,
-210,111,253,230,119,191,250,205,223, 72,109,119,240,236,227,176,181,241,234,197,171,131,163, 99, 95,251,203,143,102,155, 85,239,
-173,251,247,152, 89, 21, 68, 53,195,249,147, 40,103,252, 28,179, 99,140, 73,  1, 64,146,249,158, 79, 49,197, 36,158, 60, 33, 68,
-137, 72,140,197, 64, 12, 64,216, 69, 49,211,138,157,130,117, 34,158, 56,130,137,  2, 19, 39, 83,235, 58,  1,237,133, 10, 84, 20,
-243,105, 72,146, 84, 44,230, 47,128, 26,  4, 87, 42,203,186,152, 15, 92, 16,211,202,121, 32,180,220,111, 74,100,  6,  4,108,168,
-196, 36, 49, 33,  3, 50, 57,240,206,177,  2, 38,  3,231,200, 85, 30, 20, 84, 13, 80, 77,  5, 57,215, 49,172, 17, 82,  4,166, 74,
-182,214,165,160,180,167,154,  1,147,  7, 48,  0,201,237, 12, 41, 38, 23, 24, 12, 77,172,109,163, 35, 34,246,109, 23, 25,201,  7,
-175, 32,146, 52, 64, 70,230,130,115,206, 68, 76,  0, 20,140,243,183, 15,114,231,160,154, 90, 42,189, 29,153,185, 68,200, 38,201,
- 52, 37, 35,  2,172,189, 87, 77, 14, 99,229,114,127,189,151, 86, 75,213, 25, 34, 17,182,203,101, 12, 97,123,247,214,207,126,246,
-139,151,135,135, 49, 37, 21, 65,  4,102,254,232,201,179,233,108,246,246,107, 15,171,224,192,250,157,180, 49, 73,219,182,170, 18,
-106,159,146, 76,154,166,141,237,189,212, 15, 85, 48,246,128, 14,  8, 68,  5,193, 24,156,169, 94, 76,174,107,166, 94,175, 39, 98,
-206, 33, 58,151,186,148, 39, 69, 98, 84, 37,102,140,106,185,209, 84, 84, 36,198, 16,  2, 51, 24, 58,  5, 69,  2,109,219,  8, 70,
-  0,222,187, 76, 70, 69, 48, 66, 20, 19, 75,138,204, 38,108, 32,  4,192, 68,132,172,166,185,130, 77, 68,  1, 21,149, 12, 65, 85,
- 29, 25, 48, 27, 96,219, 44,243,161,199,127,250, 39, 63,164,210, 97, 93,204, 78, 57, 48,157,221, 54,249,151,154,243, 11, 57,180,
- 74, 72, 80,198, 98, 88,247, 73, 81,254,147,228,237, 48,220, 84,106,175, 43, 85, 97,125,192,150, 66, 84, 40, 29, 89,  8,204,232,
-171,126,106, 22,147,166,219, 28,244,242,123,  5,168,116,159,174,169,145,101,183, 15,  5,181,179,254,161,107,209, 22,203,146, 95,
- 76, 19,  2,231,102, 16,188,177,196,151,189, 83,185,103, 80, 38,209, 16,172,157,245,144,163,195,  0,104,106,170, 37,164,188,198,
- 18,195, 77,106, 22,202,118, 92,242,164,164,200, 27,183, 30,121, 77,171,217, 53,249,170, 55,222,253,201,255,251,127,254,127,127,
-251,203, 63,255,151,255,106,188,179, 25,187,148, 99,166,251,143, 31,159, 61,123, 62,185,186,232,247,  7,189,170,167,104,131, 94,
-245,183, 63,249,197,206,198,104, 56,168, 94, 29, 28,236,221,187,191,152, 78,217, 57,239,  3, 59,159, 49,127,228,124,126,163, 18,
-175,139,210,161, 20,129,100,  3, 46,220, 20, 40, 18,103, 66, 14,  2,114,168,123, 91,187,214, 70,118, 46,251,152,192,121, 48, 65,
-118, 96, 96, 77, 75, 76,169,107, 32,138,235,213, 23,231, 23,207, 63,251,164, 63, 28, 63,120,227,189,173, 17,191,120,246,172, 83,
-114,140,237,170, 35, 95,  3,122, 38,117,218, 58,246,211,217,245,179,131,195,139,203, 43, 81,248,238,183,190, 95,123,143,132, 41,
-105,215,197, 59,247,223,188, 60,126, 10, 85,125,242,233,207,118,239,188,102,139,163,147,163,151,224, 42, 80, 81, 75,131,205,253,
-166, 89, 17,121,102,215, 53,243,213,244,188,137,241,248,242, 98,185, 90, 94, 76,206,174,174,175, 13,144, 17, 23,171, 37,162,219,
- 28,140,238,239,110,158, 76,174, 62,120,250, 98,217,118,193, 85,227,225, 40,132,138,  8, 85, 12, 10,150, 35, 99, 47, 80, 13,123,
-253,126,143,221,172, 89,150,141,253, 58, 90,209,106, 36, 68,231,188,169,130,105,  8, 97, 80,247,154, 20,  3, 57,145,248, 47,126,
-244,195,255,250,191,252,175,118,239,221,  1,128,166,109,103, 87,215,179,139,179,179,243,227,131,131,131,143,158, 61,253,224,147,
-103,151,243,165,117,221,163, 33,239,143,199,227,205,241, 63,255,103,255,244,203,223,248,250,241,243,207,140,186,167, 79, 95,254,
-205,127,252,137,105, 90,182, 93,119,189,218, 29,141,182,199, 67, 98, 84,179,140,177, 69,  4, 53,169,216, 27, 64,237,157,168,117,
- 73, 17,136,179,105, 93, 37,143,109, 73,147, 38,115, 57,203, 77, 64,132, 14, 72,146, 34, 50, 33,181,154, 16,160,242, 14,153, 60,
- 58, 51, 97,230, 20, 35, 19, 57,162, 54, 70, 65, 97,100, 34,146,164,209, 20,  1, 99, 74,222,185, 64, 20, 85,193,160,252,101,136,
- 42,239,188,247,146, 84,  5,144, 64, 82,110,228, 32,212, 12, 81,209,236, 82, 70,  2, 98,  6, 34,239,188,243,204,196,177, 19, 42,
-109,204,202,159,127,188, 64,200,236,  8, 16, 25,185,208, 78,144, 76,164,116,153,113,105,236,203,171,234, 20,163, 39,  6, 68, 83,
-141, 41,121,231,139,139,142,137,153,204, 18, 24, 50,162, 34, 56,239,192, 76, 98,  4, 66,199,108,152,255,158,142, 28, 49,179, 98,
-126,121,  3,  0, 56,226,204,163, 66, 77, 64, 36, 41, 33, 17, 57,236, 82, 71,132,206, 99,221,247,206,145, 34,169, 16,115, 64,118,
-160, 22,219,102, 42, 54,190,251,112, 54,155,191,122,246, 98,190, 88,154,  8, 34,238,239,237,142,135,163,243,211,179,199,219, 27,
-177, 93,184, 80, 63,184,127,187, 93,197, 36, 34,102, 41,165,249,124, 57, 26,244,183,183,183,142, 47, 39, 11,145, 10,201,179,137,
-161,169, 32, 24,168,154,232,178,137,179,249,116,107, 60, 10, 33,212,189, 30, 50,117,177, 69, 67, 67, 65,228,124,  6,170, 10,136,
- 73, 23, 59,137,181,115, 64,212,197, 46, 38,113,  4,222, 85, 49,137,170,  5,207,156, 91,225,  0,200, 49, 32, 39,233, 24,  9,217,
-139, 38, 66, 12,228, 82, 18, 53, 13, 62, 83, 55, 65, 74,230,  3,145, 80,162, 48, 81, 39, 98,217,139, 99, 70,200, 49, 41,255,243,
- 63,249, 35,  6, 34, 96, 68, 99,162,155,162,189,140,172,203,  8,  2,184, 97,138,  1, 98,190,114, 26,222,164,159,214,227,110,158,
-254, 13, 11, 21, 11, 50,115, 55,165,117,231,224,154,136,152,235,  8,214, 69, 26,132,168, 85,  8,103,103,151,155,227,177, 22, 45,
-209, 16,145,179,155,135,110, 58,208,243,170,198,110,216,144,249,  2, 65, 89, 17,208, 53,142,  6,141, 74, 60,137,224,134, 76,133,
- 64,144,177,120, 25, 73, 10,217,  6,105,  6, 38,249, 34, 64,165, 46,  1, 48,255, 15,145, 28, 97, 64,116, 68,133,117, 69,235, 66,
-141, 28,162, 31,142,247, 29,232,252,226,216, 87,131,193,198,246,243,207, 62,250,139,127,251, 31,255,179, 63,255,151,119,239,239,
-205, 98, 88,172,  0,  0, 32,  0, 73, 68, 65, 84, 47,230, 11, 68,116,193,115,  8,136,180,123,239,193,  7, 63,253,251, 94, 47,120,
- 31,170,208,243,190,154, 78, 39, 31,124,246,244,215,190,244,238,253,  7, 15, 22,179,105,221,235,173,102,243,170,170,205,  4,200,
- 57,174, 10, 79,223, 82,174, 33, 52,203, 25, 96, 46,182,184,117, 25,113,185,126,163, 67,100,181,212, 31,111,135,170, 87,118,106,
- 76, 42,136,150, 10,241,205,121,149, 36, 93,219, 77, 39, 92,247,  8,233,252,240,240,240,232,229,230,237,135,123,183,118,  7, 27,
-163,103,207, 94,173,150, 75, 75,105, 57,187,178,212, 50,249, 16,168,242,166,170,231, 23, 23,175,142, 78, 38,179,153,115,252,250,
-237, 59,210, 44,218,102, 41, 18,119,246,110,135, 42,204, 23, 43,135, 54,222,217,111,163,168, 68, 35,214,118,217, 31,110,134,254,
-168,157, 95,184,224,130, 15,210, 78, 23,243,107, 32,247,234,228,248,197,233,241,189,253, 59, 49, 37,252,255,169,122,179, 95,207,
-178,235,190,111, 77,123,159,243, 27,238, 88, 99,207,221,236, 73,164, 72, 74,156, 36,146,226, 40,106, 36, 69, 81,164,133,200, 38,
- 69, 89,177,173, 40, 72,140, 12, 22,242, 18, 36,128, 31,243, 15,228, 37, 47,  9,  2, 35,128, 96,196,116,100, 11,176,104, 72,130,
-172, 64,150,100,155, 18,  7,145,236,169,170,250,214,173,186,117,231,225, 55,157,179,247, 94,107,229, 97,159, 95,181,242,208,232,
-135,174,170,174,170,251,187,231,236,189,214,247,251,249,  0,143, 71, 13, 56,148,220,237,110,110,  4,225,215,246,238,159, 94,206,
- 54, 70,147,174,239,163, 52, 34,204,204,141, 52,227, 81, 59,157, 76,198,237,120, 58, 30,  3, 98, 74,217,204, 74, 78, 44, 64,196,
- 41,149,255, 95, 17,195, 33,229,220, 84,130, 21, 96,133,164, 92,204,230,239,126,249,165,127,252,247,127,243, 11, 95,252,146,140,
-167,174,186, 90, 46,206, 79,142,142, 31,238, 61, 60,120,112,240,232,224,141,123,111,191,181,247,176,235,243, 98, 49,127, 98, 36,
-207,220,190,249,147, 31,251,248, 23,127,249, 11,227,201,232,228,248,225,157, 59,111,244,185, 80, 32, 96, 60,222, 63, 26, 17,223,
-220,221,158,140, 90,  4,119, 32, 29,148, 44, 64, 66,  8, 82, 69, 60,125, 42, 82,117, 63,  8,  6,104,232, 21, 87, 57,140,254,134,
-173, 87,253,104, 97, 42, 86,155,164,110,186, 78, 57,122, 12,226,230,165,104, 54,103,150,170,  2,110,131, 48,114,229,  7,120, 21,
-  3,  3, 54, 77,163, 69,135,254,202, 99,119,177,176,102,117,175,231,130,225,177, 42, 33, 34, 34, 48,168, 22, 48,171,225, 97,102,
- 65, 36,105,  4, 17, 89,  2,173,239,224,248, 88,164, 12,107,126,149,112,197, 82, 58, 32, 19,186, 85,221,241,112,254, 42, 53,167,
- 11,100,106, 44, 28, 99,163,102, 41,103, 38, 22,145, 74,243, 27, 34, 48,110,176,222,184, 14,171, 87,  0, 14,209,  7,  4, 12, 35,
- 50,  5,102, 34, 85,211,148,134,166, 19, 81,177, 12,224, 76,236, 80, 17,151, 68,132,102,  0, 70, 44, 82, 77,112,195,  2,187,102,
-139,205,201, 52,169,198,235, 79, 36, 45,255,254,207,254,242,236,226,162, 62,224, 70,109,123,109,123,123, 62,159,189,231,230,206,
-171, 79,221,158,182,237,124, 49, 59,159, 47,  1,105,123,115,179, 79,217,172,184,251,162,235,175,174,102,219, 27, 83,  9,225, 42,
- 39,206,214, 54,244,216,117,137,196,103, 87,151,145,112,107,103, 27, 99, 44,197, 76, 11,147, 32,227, 64,122, 33, 66, 66, 85,175,
-110,206, 97,107,232, 64, 72,177,137,106,158, 74,207, 67, 75,  0,234,181, 76, 72,220,220, 77,  9,217,220,221, 52, 72,  0,162, 98,
- 90,185,158, 53,222, 10,  6, 84, 57, 23,238,110, 32, 66, 85,100, 10,195, 78, 17,  9, 49,231, 36, 67, 78, 30, 29,153,193, 42,106,
-172,106, 66,209,134,175,159,213, 77,123,125,208,195,112,182,246,129,213,230,235,217,188, 15,  3, 24,243,250, 40,174,118,  2,164,
- 58,106,124, 39,  0,227, 44,193, 74, 81,115, 80, 67,128,146,250,208, 52, 12,185, 20,175, 44, 22, 31,104,148,  0, 72,192, 84, 65,
-151,235,201,248, 26,  3, 90,231, 61, 53,232, 60,212,184,134,177,188,175, 27,182,245, 20, 95,  7,239,180,190,240, 13, 47,  6,119,
- 43,149,200,235,158,213,164, 86,  6,201,135,  0, 88,189, 46,212,209, 24, 65,197, 92,160,  0,152, 91,113,167,209,100,139,205, 86,
-231, 51, 77,101,250,212,238,219,111,124,255, 95,253,254, 31,124,238,167,127,238,153,167,174,207, 47,206,157,163, 27, 74,219,186,
-154,165,124,253,137, 91,207,191,244,202,163,253,187,109,211, 86, 56,246,187,223,253,234, 31,255,233,191,255,225, 91,119, 62,246,
-145, 15,222,125,227,135, 28, 37,247,169,109,218,102,186, 37,238,230,  5,134,251, 18,107,202,142, 72, 40,110,197,144,201,171,194,
-144,220,134, 78,150,123,189, 82, 84,246, 95, 52, 51,102,242,146,205, 24,209, 93, 21, 20, 93,168, 20,115,  0,203,125,152,108,131,
-132,146,186,110, 49,219,185,245,220,104,114, 77, 75,118, 20,203, 89, 23,103,189,  5,  8,109, 16, 22,194, 16,140,136,186,213,106,
-181, 90,229,146,213,124, 50,106,167,227,201,120,251,250,226,236, 97,206,105, 60,153, 94,158, 60,236,150,243,102,247,214, 98,118,
- 24,227,102,215, 41, 97,140,163,105,211,198,229, 98, 49, 26, 79,143,246, 95,227,184,105,230, 39,  7,247, 54,118,111, 95, 45,150,
- 87, 23,151,151, 87,151,211,209,196, 76, 17,253,198,134,176,141, 15, 79,207,132, 67, 46,118, 49,159,223,222,221,109, 66, 72,150,
-117,149, 28, 64, 43,249,121,173,254,237,251, 52, 20, 18,  0, 75,182,150,163,183,126,181, 90,112, 93,  5,173,211,145,179,213,106,
-107, 83,162,200,213, 98, 65,147,209,127,245,245, 95,255,210, 47,126,254,230,237, 39, 65,184,228,126, 49,155, 29,236,221, 57,120,
-248,240,244,242,252,209,233,233,209,209,233,217,229,172,235,186, 92,244,222,254,193,  7, 63,245,209, 95,251,234,215, 54,183, 55,
- 46,143, 15,112, 28, 15, 78, 30, 29, 28,159,110,117,249,209,201, 89, 89,118,215,183, 54, 70, 33, 84,241, 69, 37,212, 19,177, 91,
- 70,224,218, 50,175, 59,163, 48, 64,179,171, 32,200,235, 73, 22,107,199,199, 21, 17,  8, 67,241,108,238,232, 16, 68,212, 10,  2,
-155, 58, 50,176, 48, 58,228,172, 69, 75, 51, 10,214, 91, 49,  3, 98, 34, 82,128,100, 26,232,113, 53,207,  9, 61,229, 84, 11,227,
-238,238,  8, 66, 66, 12,230,181,111,239,194,164,102, 76, 12,232,174,170, 86,132,184,250,179,193,234,123,  9, 88, 56,198,152,251,
- 92, 45,119,196,132,230,170,142,132,181,139,224,213,235,188,254,158,170, 22, 53,192, 10,  6,198,154, 95, 20, 98, 43,198, 49,178,
-144,169,247, 57, 17, 64,  8,204, 72, 54, 80,  2,217,235,239,155,200,193, 57, 68,183,108, 14,174, 42, 33,212, 56,204,  0,254, 54,
- 40, 41, 91,213,235,212,233, 36, 99, 46,134,136, 34, 81,179, 18, 98, 77, 14,214, 56, 95,140,193, 17,204, 33,231,202, 45, 64,  4,
-  3,119,114,239, 83,214,201,180,235,251,189,189,183, 23,203,101, 37,238, 78,154,230,125,239,121,207,183,190,247,253,103,166,252,
-236, 19,183, 28,121,131,195,139, 28, 30, 28, 29, 95,186, 74,144, 40,  2, 30, 83,201,110,154, 82,153,205,151, 44,125, 19,227, 57,
- 98,187,234, 67,136, 33,142,  0,113,177,234,180,207, 55,111,239, 18,135,250,148,174, 71, 79, 38, 10, 44,166,102, 86,123,139,  0,
- 68,224,142, 84, 25, 60,188,234,123, 93, 46, 41,196,128,100, 94,135, 97, 22,145, 20,170, 77,139,214,154,101, 30,128, 97,  3, 39,
- 22, 74, 46, 18,197,181, 84,146,137,187, 19, 56, 19,230, 58, 64,119, 39, 68, 85,245, 98,192, 96,174,252,213, 47,255,242, 32,242,
- 92, 87,129,134,150, 81,253,209,180, 86,122, 12, 13,248, 53,255,  7,  0,  8,137, 42, 31,134,  9,201,  6,147,198,186,183,191,  6,
-101, 84, 92,212, 48, 37,169,184, 12, 53,211, 58, 94,  7,170,217, 38,128,146, 58, 67,153,140,  6,107, 73,101,243, 12, 72,151, 33,
- 75,255,120,234,179,  6,231,226, 59, 36,246,199,167,238,122,156,175, 16,204,250,113,169,131, 30,170,  0,189,202,134, 52,127,135,
-113,178,254,165,  7,233, 88,117, 57, 97, 28,  4,129, 48,148,102,  1,129, 80, 16,205, 20,166, 27, 55, 24, 40,245, 43, 68, 30,111,
- 95,187, 60, 63,249,103,191,251,141,159,248,216, 39, 63,244, 19, 63, 89,208,205,137, 36, 80, 16, 68,164, 70,170,219,122,107,123,
-247,123,127,253,173, 70, 68, 98,195, 44, 77, 24,161,235,183,190,243, 55, 47, 63,247,244, 51, 47,190,116,126,118,250,234,143,254,
-216,229,249,  9,197,136, 21, 12, 28, 27, 83,173, 23, 29,175, 87, 12, 17,215, 60, 72, 73,253, 29,219,  8, 12, 99,172,  0,128,161,
-153, 52,227, 22,153,205,192,213,136,  5,212,172,100,168,141, 67, 71,237, 59,108, 26,239, 22,230, 14,163, 29,195,176,152, 93,222,
-126,250,153,241, 56,220,121,243,110,202,154,138,177,132,102,178,129, 96,163,198,  0, 32,245,253,241,241,241,195,147,147,249,188,
-187,182,181,253,204,205,155,227,182,237, 23, 87, 40,194,100, 94,250,  2,152, 87, 23, 44, 35,102, 58,121,120,247,246,115,175,140,
- 39, 91,147,233, 54, 34, 93, 94,157,  8,142,227,120,210,140,118,118,111, 60,131, 49,236, 29, 29,134, 24,172, 88, 82,189,185,189,
-177,184,186,124,251,240,248, 98,213,165,156, 75,201,211,209,228,240,244,100,217,247,163,209,200,244, 49,218, 31,235,  5,189,118,
-171,115, 46, 67,209, 98,232, 92,123,211,  4, 84,232, 74,166,199, 54, 71, 34,112,116,211, 85,223,125,236,253,239,251, 31,255,219,
-127,252,243, 63,255,139,163,141,205,130,182,154, 47,102,231, 71,123,119, 94,191,115,231,206,131,195, 71,119,246,238,239, 31, 28,
- 93,204,102,169,148,251, 15, 15,217,225,127,250,173,175,255,231,191,254,181,210, 47,115, 90,190,241,250,107,111,190,241,214,201,
-233,249,124,177,186, 60,189,156,176, 92,223,220,104,130,212,130, 89,109,182,153,  1,  2,  4, 18, 36,124,220, 55,102,228,172,190,
-214,207,160,130, 34, 16,177, 56, 12, 90, 95, 43,197,135,  0, 24,  3, 14, 50,221, 97,148, 72, 84,121,169,160, 30, 99,112, 32, 29,
-146,109, 94,141,154, 33, 72, 53, 25, 33,129,173,105,163,132, 84,143, 61, 49, 48, 85,152,181,163, 13, 91, 92, 24,224,  7,165, 16,
-  9, 49,162,224, 99,143, 37, 97, 61,249,130,106,133, 83, 57,135, 88, 89,102,245,142,136,196, 52, 64, 65,180,178,  6, 96,221,172,
-103, 98, 83, 87, 45,109,  8,200,  4, 72,109, 59,114,117, 55, 75, 37,183,109, 91,211,114, 89, 51,178,  4,150, 58,175,117, 85, 67,
- 12, 44,170, 69,205,153,128, 88,144,  4,153, 56,202,160,127, 94,247, 18,131, 80,101,115, 87,254,196, 32,152, 68,174,231, 61,  7,
- 36,146, 32,193,215,104, 20, 22,113,135, 46,171,171, 19,113, 94,117, 11, 76,211, 91,207,189,254,218,157,187,247,246,114,201,128,
- 64, 72,227,201,228,240,236,124,108,171, 15,189,252,162,180, 99,174,127,113,204, 27,177, 97,164,179,213,106, 52, 26, 95,219,222,
- 90,172, 58,213, 34,194,171,156,186, 85,218,217,156,160, 68, 72,186,187,179, 89,204,  1,125,149, 74, 32,223,190,118,173,126, 53,
-107,182, 67,130, 32, 81, 81,203,185,135,161,  3, 92, 25,  6, 40, 66, 78,172, 93,  7,174,132, 94, 31,146, 73, 53,178,  0,135,100,
- 89,  0,161,  2,150,171,110, 69,173, 88,169, 84,126, 98,118,119,225, 10, 54,112,172, 27, 11,115,119,232,115, 65,  0, 18, 68,164,
-156, 50, 11,163,160,155,119,171,196, 95,253,202, 47, 33, 16, 62,214,150, 14,159, 50, 24,198,187,184,182,246,213,235, 72, 45, 25,
- 80, 61, 54,250,208,181, 92, 87, 93, 97,157, 94, 30,118,153,176,198,152,250, 80,232,175,105, 21,120, 28,107, 91,139, 89,153, 80,
- 68,174,150,253,246,100,188,206,177,172,191, 81,135,152,200, 99,  3, 83,125,250, 15,163, 42,  7, 95, 19, 66,135,148,207, 80,248,
-  4, 95, 19,  5,106, 54,127,160,128,213, 23, 24, 13,107, 84, 90, 59, 99,235, 11,133, 43,215,  9,152,  5,227,154,170, 94, 79,141,
-132, 72,128,138, 72, 77,179,217,112,236,230,179, 82, 74, 59,158,164,126,249,255,252,222,191,126,247,143,126,240, 83,159,250,169,
-226, 70, 18,173,100, 22,137,177,  1,114,116, 50, 51,205,186,177,115,109, 53,155,221,187,119,103, 60,106, 70,147, 41, 19, 78,219,
-184,183,255,112,182, 88,125,248,195, 31,154, 93,156,157, 93,156,175,150, 51, 65,146, 16, 88, 26,176, 74, 61, 32,215, 82, 52,161,
- 87, 93,189, 59,  2, 75, 24, 30,238,235,202,216,250,143,137,227,237,157, 16,163,229,226,169,175, 19,124, 64,228,208,212,191,106,
- 96,212,148,220,212,145, 39,215,175,165, 98, 15,246,246, 23, 93,255,228,211, 79,141,167,237,254,189,189,213,114, 46,177,105, 68,
-132, 72, 70, 45, 67,114,203,169,239,247,246, 31,158, 92, 92,206,151,221,173,157,173, 23,158,124,242,242,226, 76,198, 27, 55,159,
-122,151,132,105,234,242,120,115,231,209,222,107, 72,  4, 86,220,140,161, 28,239,191,198, 44,139,171, 83,  4,230, 16,151,171, 21,
-120, 22,  9,  7,143, 30,254,224,238,155,165, 20,  4, 13, 80,250,148,226,104,251, 98,190,188,127,240, 48,245, 73,130,148,146, 82,
- 46,171,174,103, 97, 33, 30,148, 47,131,181,203,137,107, 62,  4,194, 90,168, 91,207,234,102, 94,137,181, 69,181,126,209, 25, 81,
- 85,183, 54, 54,127,235,239,253,103,255,243,239,252,147,119,253,200,123, 81,130, 89, 89, 94, 93,157, 60,218,191,251,214,235,175,
-189,245,230,254,193,225,157,  7,  7, 71,167,231,102,142,200,155,211,205,207,124,248,  3,191,243, 15,190,246,145, 15,127,224,244,
-228,224,193,222,189,195,227,163, 56, 29, 49,241,157,215,223,222,110,155, 39,119,119, 55,198, 35, 66,174,221,162,162,102,197,144,
-134, 34,210,227, 79,117,213,200, 20, 53,124,140,187, 28,216, 25, 96, 94, 28,192, 75,241,162, 54,124,251,184,185,149,172,  8, 80,
-215,199, 67,191, 20, 77,205,218, 81,163, 10,128, 16,  2, 13,191,130, 57, 11,187, 13,159,109, 53,231,138,185, 70,116,116,102, 68,
-166,146,213,220,107, 89,191,254,176, 24,197,205,189,216,122,141,  4,228,228,106, 72, 36, 81,234,208,211,208, 16, 73, 98, 36, 71,
- 45,250,248,236, 84,231,229,176, 46,108, 51,139,185,173,  7,166, 53, 78,140, 77,219, 20, 53, 98,174, 92, 63, 55,119,130, 38,180,
-166,131,150,  7,106, 50,193,193,235,157,134,165,109, 26, 53,171,158,102, 22,  1,170,106, 42,172, 66,205, 97,172,  1, 96,174,106,
-234,104, 65,196,205,112, 64, 51,129, 91, 65,198, 16,132, 68, 28,173,  6,189, 99, 96, 65,236, 75,113, 43,224,228,142, 90, 52,121,
-226, 27, 79,158,159,207,246,246,246, 86,203,101,165,196, 63,255,204,147, 27, 27, 91,151,103,199, 63,245,242, 11,211,205, 45, 14,
-177,150, 30, 57,132, 81,219,140, 66, 12,102,171,126,217,153,183, 77, 59, 26, 79, 22,139,149,106, 61,233,226,241,249, 69, 35,176,
- 61,110, 36,136,179, 92, 94,206, 54, 55,198, 18, 35, 20, 67,162, 16,155,166,109, 81, 66,125, 10,161,  1,  2, 26, 58, 86,175,156,
-176,170,163, 91,125,220,155,131,169,214,244, 68,  5,196, 10,135, 84, 50, 85,189, 44,113,189, 42, 17,179,149,130,213,101,205, 53,
-165, 90, 31, 89,200, 64,106, 90,187, 14, 34, 84,241,241,196,100,128,150,173,126,255,  8, 62, 70, 36,226,160,133,115,180, 53,148,
-119,200, 64, 85,212, 21,241, 90,178,240, 56,220, 50, 60, 97,235,188, 75,  0,173,244,206,193,104,168,153,193,223, 66,156, 59, 16,
- 16,227,128,109, 31,182,172,232,104,  4,104,234,200,220,247,157, 34,  1,168, 91, 53,144,185,187, 85, 72,239,  0,151,135,  1, 11,
- 92,205, 30,104,238,110,  3, 29,119, 29, 99,127, 44,  6, 25,134,254,248, 14, 59,198, 31, 31,245,215,128,204,225,210, 83,215,  8,
-132, 14,164,142,100,238,172,180,206, 27, 13,252, 30,116, 53,156, 76,174,177,150,249,217,177, 34,143,167,155,162,171,255,251, 95,
-254,139,205,157,103, 63,241,241, 15, 25, 11,228,190, 44,230,212, 78, 89,154,202,170, 55, 83, 77,  6, 72,121, 57,127,255,143,125,
-232,173, 31,252,205, 98, 57,107,154,182, 29,111,180,155, 91,239,127,239,123,190,243,189,239,190,241,250, 27,239,250,145,247,252,
-197,159,252,209,139,175,188,251,226,244,176,235,  3,135, 72, 52,169,209, 33, 32, 18,137,136, 84, 67,238,232,224,165, 32,177,150,
- 12, 81, 88,194, 99, 47, 57,  2, 74,140, 86,119,203, 33, 32,  1, 40, 89,238, 60,  0,  9,155,106, 73,102,170,200, 50,190,190, 35,
-147, 54,221, 63, 76,125, 65, 83,235, 23,200,215, 44,245, 78, 77, 32,147, 32,161,153, 94, 93, 29,181, 91,193, 12, 82, 74, 93,206,
-102,166, 94,158,126,226, 73,230, 24,219,166, 29, 77, 66,104,  0,209,209, 78, 31,188,182,185,117, 19,226,244,234,226,112, 50,106,
- 75, 49,119, 89,245, 93, 28,109,104,233, 79,246,222, 28,221,124, 22, 11,228,146,175,186,126, 99, 50,106,144,150,253,226,232,172,
- 75, 57,191,248,236,238,243, 79, 63,125,121,117,121,103,127,127,149,243,246,116,115,115, 50, 45,170, 53,237, 81, 87, 12,230, 54,
-112, 14,141,221, 13, 12,140,214,103,137, 53, 63,147, 16,182,101,178, 96, 89,229,164,165,  0,208,103, 63,246, 19,191,253,245,175,
-127,240,131, 31, 65,  9,203,212,151, 46, 93,158, 29, 61,216,187,123,231,238,221,  7,199,199,  7,199, 39, 23, 87,243,148, 82, 42,
-170,186,250,145,231,158,253,233,159,252,240, 39, 63,250,161,110, 62,123,248,112,111,101,229,181,253,253,221,205,233,236,242,252,
-248,237,195,167,110,236, 78,218,198,220,192,  0,153,  7, 35, 11, 14,201, 23, 90, 31,128,234,216, 23,  0,114, 54,  3, 21, 98, 36,
- 54,247,154, 56, 84, 85, 87,205,154,187,190,147, 16,  4,153,153,193, 16,136, 66, 16,115,115,115, 66, 44,166,136, 20, 67, 83,114,
- 41,197,137,145,131,228,156,235,156,180,226,198, 66, 45,175,154,173,219,206,192,224,107, 86,158,185,154,  3, 82, 32,115, 21,137,
- 68,172,170,128, 64,129,144,168, 58,108,128,128,155, 48, 96, 59, 24,153,217,235, 59, 82,139, 57, 18,145,155, 59,168,132,  0,102,
-102,  3,168,207, 29,173,162,216,221,161, 86, 66,  8,177,128,155,135, 16,192, 93,221, 28, 48,198,160,238,165,104,125,249,161,  3,
- 26, 20,215, 97, 29, 34,108,  6,165,228,122,144, 34, 51, 47, 86,125,126,224,195,131,165, 90,103,145,169, 54,  3,204,114,201, 42,
- 36,101, 16, 60,212, 11, 60, 19,137,153,170,106, 12,132, 28,138,218,154, 74,199,106, 30,152, 86,221, 10,119,110, 34,143,126,240,
-253,191, 58, 62, 57,  3, 84,102,154, 78, 39,161,137,103, 23,151, 63,241,226,243,219,215,174, 23, 71, 84,139,177, 81,118, 45,125,
-178,130, 66, 79,222,184, 54,105,227,193,229,153, 55, 45,182,227,146,138,154, 78, 71,205, 43,175,190,252,253, 31,188,126,125,186,
- 65,196,224,124,117,185,100,128,102, 52,114,117,103, 20,145,216, 54, 44, 65,221, 66,108,220,113, 57,191, 42,171, 21, 19, 18, 83,
- 81,173, 10,110, 95,195, 96, 25,221,133,170,246,150,  3,149,140,110, 26, 66,228,122,151,130, 66, 65, 92, 13, 28, 80,  4,220,145,
-  9,128,153, 84,179, 57, 86, 18,135,187, 59, 11,187, 91,238, 13,184, 26,191, 17,193,155, 40,142,132,185, 72,229,237,255, 45,207,
-167, 85,234,244,  0,227, 27,234,191,104,245,177,190,206,198,215,201,204,227, 12, 31, 85,170, 58,160, 16,224,176,114,169,167,120,
- 48, 85, 34,  2, 38,  7,112, 37,112,165,186, 42,170, 18,141,138,166, 67,136, 65,  2,148,229,114, 53,109,216,215,209,220,  1,235,
- 72,130,128,192,  6, 74,102, 90, 61,140,195, 75,162,128,105, 25, 14, 27, 53,148, 54, 12, 33,125, 96,220,212,  9, 34, 83,157, 59,
- 13,181, 91,170,236,174, 53, 22,109, 80,247,209,154,100,128, 80, 91,172,195, 59,108,232,146, 54,113,131, 85, 75,214,229,242,106,
-186,125,115, 58,150,111,252,139,127,121,213,243, 87,126,246,179, 24, 56,119, 29,  5, 78, 93,215, 54,  6,104,  3, 27, 36,247, 86,
-136,  2, 47, 46, 23,132,242,234,203,175,124,247,245,239, 52, 77,219,142, 38, 65,154,103,159,123,246,225,195,131,255,248,173,191,
-186,182,187,225,  8,142, 20,219, 81, 55, 95, 76,198, 91,104,102,132, 76,193,209,  6,210,252,112, 10,136,166,  5, 76, 73,  2, 56,
-186, 42, 18, 33,203,223,106, 39,187,101,163, 24,202,106,137,178, 86, 62,  6,174,185,104,100,105, 54, 38,161,141, 80,108,118,113,
-110,104,197, 74,159,115, 96,170,165, 58,142,155, 64,174,101,181,188, 58,198,173, 91,134,158,179,246,169, 79, 69,221, 96,103, 60,
- 97,193,  8,160, 90, 70,211,105,  8, 97, 49, 59,115,222,104, 55, 54,132,169,191,162,166,221,228, 24, 71, 27, 29, 35,148,180,236,
- 23,139, 66,180, 53,217,188,186, 56,207,169, 39,239, 91, 76,251,199,151,177,105, 75, 49, 64,126,227,222,157,107,215,182,111,221,
-186,177,247,224,193,124, 62,239, 82,154,182, 77, 16,169,196,149,154,175, 37,115,100,246, 90, 34,174, 83,104, 70,115,  0,179,  1,
- 43, 97,102,136,196,184, 57, 26,245, 37,111,111,111,252,215, 95,251,141, 47,125,225,243,237,214,246, 42,103,235,186,126,181, 56,
- 63, 62,216,123,251,238,157,189,135,123,  7,  7, 39,151, 23,245, 15,  4,230, 59,211,201,251, 95,124,246,107, 95,254,210,198,180,
-189, 56, 63,125,253,  7,223,167,209,116,222, 47, 90,145,183,126,120,119, 20,227,179,215,119, 36,200,192,123, 33, 28,  8,183,  6,
-204,140,110, 21, 56,103,232, 78, 40,136, 14,144,146, 18, 58,209,160,166, 51,213, 92,114,  5, 19,116,125, 90,165, 46,245,201,205,
-146, 65,211,182,109, 24,  1, 40,162,  8,178,155,117, 90,154,216,  8,139,213,137, 12,  1,128,231,146, 75, 46,196,  2,224, 65, 16,
-136,188,254,231,122,238,179, 97, 69, 85, 80,173, 74,242, 98, 61, 12,214,161,  7,173,147,246,106,197, 29,156, 43,226,128,165, 86,
-  7, 88,168, 86, 90,  0,161, 20,117,243,208,114,213,125,148,129,201, 12,  0,200, 40,106,134,  3, 50,209,115,206, 18,132, 88, 16,
- 32,196, 80, 65,  3,197, 84,136,153,165,170,125, 40,240,122,106,204,204,140,158, 57, 70,  4, 79,125, 34,102,  7,100, 22, 22, 46,
- 10,128, 90,157, 16,182,190,139, 19, 98,173,132,  1, 20, 85, 69, 18,116, 42,110, 80,177,136, 49,212,239,243,162,  5,200,219,201,
-200,114,201, 37, 49, 72,165,223, 32,  0, 35, 25, 88,118, 26, 53,227,171,139, 83, 36, 52, 87, 66, 26,143,218,247,190,242,242, 27,
-247,238, 63,209,198, 39,110, 92,115, 17,  2,174, 29,162,218,132, 15,177,117,114, 43,190,181,179, 35, 28,206, 46, 47, 46, 82,122,
-225,185,167,154,166, 77,169,191,255,240,112, 20,228,250,246, 38, 16,171,123,183, 92,238,236, 76,131,196,106,141,  6,247,146,146,
-230, 82,227,236,220,182,204,132,109,212, 92,114, 86, 52, 53, 34,  2, 71, 22, 85, 35, 66,  3,118, 47, 66,148,139,101,243, 24, 69,
- 45,104, 89, 57, 50, 49,184,163,103, 37, 30, 70,221, 69,139, 21,173, 97, 45,150,208,149,  2, 96,132,140,204,170,133,  0, 72,208,
- 10, 40,  0, 49, 48,144,155,131,171,  8,136, 59,161,  2, 49, 33,113, 13,255, 57, 26, 13, 40,130,225, 25,237,234,143, 81,193,117,
- 28, 99, 86, 97, 38,245, 31,  0,160,186,153,169,  8, 26, 92,247,135,234,110,215,209,234,161,160, 18,199,220, 84,144,212,  7,151,
-164, 87,102,173,209,116, 50,154, 45, 87,155,227, 45, 85,179, 10,217,169,112,211,186,156,177,186,155,  1,  7,119, 43, 85,252,184,
- 22, 40,213,209,167, 33,210,154, 68, 63,252, 91,213, 24,217,107, 73, 99,205, 45, 25,126,159,143, 35, 12, 85, 73,101, 62,212,119,
-  7, 78,142, 15, 51, 74,174, 68,189,192,106,125, 74,221,106, 37,113, 60, 25,143,255,240,155,191,191,119,124,245,107, 95,252, 37,
- 48, 77,243, 21,  8, 33,141, 43,231,171, 70,210,173, 87, 55,114, 77, 38, 77,201,189,165,171, 23, 95,124,229,181,183, 94, 95, 44,
- 22,227,209,188, 29, 77, 67,104, 94,122,241,249,191,254,246,183,247,247,246, 62,252,209,207,222,187,251,218,205,219, 79, 28,237,
-239,229,210, 17,  5,150, 88,107,  5,128, 58,100, 96,136,204,242,122, 19,129,192,  3, 79,217, 75,  6, 64,146,  0,170, 53, 16,236,
-230, 90,172, 70,143,165,105,220, 13, 74,  1,179,176,185,209, 76,198,110, 94,186, 62,151,186,100,206, 23,167,103,169,175,211,110,
- 18,  9, 18, 67,238,251,148, 11, 33,131,231,249,114,145,250, 84, 74, 14, 65, 38,227, 81,202,165,148,254,230,245,167,219,201,100,
-121,121, 28,227,104, 50, 41, 77,172,  9, 64,118,192,249,217, 33, 69, 42, 89,103,151, 39,170, 62,221,184,121,121,188,215,229,252,
-230,221,215,190,115,231,110, 46,152, 77,111,223,124,130, 89,206,175,174,174,174, 86,243,213, 66,152,183, 54,166, 41, 23, 34,208,
-162, 86,245, 13, 18,107,159,179,184,  7, 51,  5, 21, 67, 71, 44,158, 45, 33,215,199,212,128,201,171,226, 58, 71,244, 95,249,220,
-103,126,253, 87,127,237,213,151,127,164, 39, 47,238,125,183, 92, 94,156, 31, 30,236,191,117,247,238,219, 15, 15, 14, 78,207,102,
-243,133,154,239,108,110, 45, 87,203, 27,155,155,191,250,243,159,249,192,123,222,125, 53,187,184,119,119,239,244,226, 10,218,136,
-164,111,190,126,103,179,105,111,239,110,141,154, 88,177, 89,104,128,132,224,238,197,220,181,105,218, 92, 10, 19,187, 89,214, 82,
- 93,195, 61, 25, 40, 80, 32, 51,171, 99, 76, 51, 16, 33,118, 66,242,148,148,168,  9, 82,140,108,185,236,199,109, 67,128, 69, 75,
-140, 17,  1, 74, 81,  7, 13, 28,132, 67, 85, 46, 68, 10,238, 85,185,142, 18,  4,215,236,123,215,181,163, 30,208,204,106,244, 69,
- 75, 38,  0,103, 10, 78,142, 48, 16,154,152, 48, 16, 20,231,234,  6,169,119,106,170,  3,210, 10,220, 24,246, 59, 89, 85,152,  1,
-129,132,173,216,144,199, 29,146, 98,162, 94, 74,201,245, 36, 84, 91, 69, 77, 20, 67, 34, 38, 33, 84,179, 90,144, 10,196,245, 85,
-235,136, 34,140,142,  6,250,184,122,198, 60, 42, 57,195, 16,110, 39, 34,  2,119,213,194,200,  5,106,116,194, 25, 49, 48,170, 87,
-168, 25,230,148,221, 92,152, 76,209,209,136, 25, 12,  2, 49, 11,171,170,154, 13, 93, 63, 45,232, 32, 32,117,100,207,  8,195,240,
-203,204, 68,250,212,191,253,246,253,179,243, 43, 66,220,218,216,140, 44,123,  7, 71,161,244,175,188,235,105, 71,  6,132, 24, 56,
-247,150,114,102, 17, 36, 86,119, 48, 37, 36,142, 56,217,218, 22,230,166, 91, 30,157,156, 30,155, 19,248, 72,232,165,167,159,148,
-166, 69,162,217,178, 39,178,182,109,153,217,138,186,170,162, 89,  6,119, 19, 38, 15,161, 17,105,218,201,226,234,162, 20, 69,116,
-172,213,  4, 39, 43,134,132, 14,206,129,  3, 54, 93,215,  5, 97,137, 65,221, 64,141, 36,186, 25, 88,  1, 96, 98,  6,128, 82,195,
-142, 32,224,  0,102,110,102,102,  1,121,176, 82,184,  9,177,154, 42, 32,178, 49,114,229, 61,168, 89, 27,101,101, 36,143,135,212,
-181,  0,186,238,232, 15,238, 14,175,180,102, 38,175,158, 13, 36,175, 32, 98,172, 76, 33,171,108, 57,183, 92, 91, 72,235,222,235,
-218,236,204, 72, 86, 43, 81, 53,240, 49,100, 10,234, 64,200, 20,136, 28,  1,212, 29, 77, 55, 38,211,139,195,115,189,190, 93, 47,
-142,132,224, 90,136,155,245,148,220,135,130,175, 19, 24, 88, 93,185, 61, 14,168,243,250, 68, 94, 57,233,132,174,117,228,226,238,
- 14,130,166,  3,224,125,160, 35,172,239,212,239, 44, 16,170,  2, 13, 13,108,192,117,213,189, 21, 48, 50,142,188, 75,  5,186, 92,
-178,170,239,236,236,252,224,251,223,250,206,107,251,191,250,229,191,179,115,227,102,239, 22,132, 43,147,178,153,110,  9,163, 21,
-173, 70, 25,226,224,170,168,  6, 78, 33,182,237,116,227, 39, 62,246,169,127,251,  7,223,152,140,167, 77, 51, 65,166, 91,183,159,
-218,221,219,255,235,239,254,240,249,119,189,212, 45,103,247,223, 90,228, 82, 70,211,109,115, 35,181,122,  0,172,223,205, 36,164,
- 90,189, 53,196,200,213,210, 98, 80, 96,141, 18,116, 10,196,162, 41, 33, 59,  6,  9,227,209,128,163, 69, 79,243,165,150, 66, 18,
-218,233,  8,152,202, 34,153,186,170,166,110,133, 28,195,168, 45,221,146,  7,103,  8,  9,203, 74,123,213, 66,131,221,102,153,178,
-246,185,180,136,172, 37,155,229,174,219,189,121,171,109, 71,139, 11,159,157, 63, 42, 38,171,217,101,  8,194, 84, 98,228, 44, 44,
-196, 77,187,145, 82, 86, 45,103, 71,251,103,203,217,198,198,246,101, 15,219,187,183,231,243,249, 38,211,219, 15,238,103,179,105,
- 51,122,230,246,237,139,197,188,194,  6, 83,201,  0,174, 90,183,106,145, 70, 52, 80,234, 80,235, 37,145,  8,234,100,184,168,153,
-  2,178,  5,166, 32,193, 12, 76,211,211, 79, 61,249,235, 95,254,242,103, 62,253,105,105, 70,  9, 49,231, 62, 45, 23, 87,103,167,
-175,191,245,198,219,247,247,247, 15, 31,157,207,230, 41,229, 85,215,109, 76,198,109,224,207,252,248, 79,254,220,167, 63, 38,140,
- 23,243, 51, 31, 53,119, 14,143,199, 49,204, 22,139,123,119,247,119,154,209,141,157,141,122,253,119,116, 66,145,224, 94, 60,187,
- 34,144, 41,230,162, 72,  4,228, 94, 12,136,128,217,220, 24,217,200,213, 44,  6,113,244, 90, 66,  2, 38, 47, 86,178,  1,120, 96,
-182,208,244,220,197, 54,132,166, 97,146, 16, 34, 33, 22,247,241,184, 45,165,184,131,170, 18,184,  1,192,144,185,196,162, 22,185,
-114,  4,177,118, 59, 29,188,198,  0,  0,200,221,192, 75, 93, 73, 50,210, 48,117,103,242,186,124, 52,  4,174,200,108, 18, 33, 83,
-  3,100, 38, 89, 55,  7,135, 51, 12, 17, 12, 47, 74,162,122, 76, 91, 39,161,201,220,106,235, 69, 85,235,  5, 49,171,  3,152,  4,
-  0, 85, 53,118,132, 32, 13, 98,118, 83,112,167,200,245,202, 93, 25, 81,128, 40, 33,184,230, 82, 50, 90,101,152,155, 19,128, 43,
-  6,114,131, 90,126,212,162,210,196, 74, 91,146, 24, 75,214,110,153, 99, 32,  5, 55,171, 68, 20,148, 16,171, 15,175, 91,245, 33,
- 10, 33,106, 81, 98, 67, 51, 36,130, 50, 12,103,171, 29,165,206, 34,114,215,117,243,197,116,178,241,210,139,163,135,251, 15,111,
-223,184,118,181, 92, 92,158, 28,127,242,149, 23, 38, 27,211,  2,228,224,185, 79,238,208,180, 49, 23,173,154, 31,226,152, 75,238,
- 83, 38,102, 25,181,215, 71,241,198,238,110, 46, 70,  0, 34,204, 49, 82,136, 57,229,229,124,177,179,181, 57,106, 70,197, 29,209,
- 41, 70,183,  2,168, 68, 18,218, 81,108, 71,238,174,150, 42,174, 29,134,173,197, 48,119,168, 15, 44, 51,  3,200,213,142,146, 82,
- 30,  2, 33,106,136,160, 78, 60,140,218,173,166,135, 74, 42, 80, 25,223,149, 42,106,230, 54,164, 74,  8, 17,178, 49, 97, 46,238,
-217, 80,234, 18,168, 82,105, 77,192,135,142, 47, 12,156,220,  1, 75,  0, 96,213,191,142, 44,107, 98,251, 80,193,122,140,  8,131,
-170,144,115, 28, 94,  9, 60,168,222,235,243,178,146, 29,157,192,179, 14,210,181,117,248,163,226, 23,144,  6,204,154, 32,130, 35,
-183, 65,115, 63, 91,234, 70,227,107,188, 12, 13,152, 92,112,119, 67,174,143,107,131, 42, 21, 25, 80, 25, 21, 31,236, 68,232,117,
- 74,234,149, 84, 49,208,174,169,142, 91,180,122, 98,214,211,163,129,128,135,  6,198, 64,190, 70, 27, 97,101,103, 98,  0, 55,167,
-  2,142,168, 33,173,150, 28,152,136,115,191,216,218,222, 57, 59,124,251,223,254,201,159,127,230, 19,159,218,222,154,172,250, 62,
-142, 39,200,193, 53,187, 16,212,149,  9, 58,106,189,114, 20, 71, 40, 93,146,192, 68, 32, 49, 60,122,116,255,141,187,251, 59, 59,
-187, 49, 54,219, 91,215, 41,210, 11,239,122,225, 47,254,226, 47,127,248, 55,223,255,240, 71, 63,250,214, 27, 63,184,118,227,137,
-110,185, 80, 45, 28,162,153,  3,162,153, 17,128, 91,109,150, 65, 29, 63,154,170,217,  0, 87, 48,  0, 64,148, 40, 68,128,227,145,
-165,158,170,162, 70, 33,110,142,242,170,  7, 18,  9,194,236,253,229,220,  1,173, 36, 38,214,188,210, 82,186,110,145,251,194, 76,
-237,120,178, 90,174,192, 59, 51, 57,123,180,103,150,133,185,244,101,177,234,178,230,101,223,191,240,244, 83, 49,240,108,118, 49,
-221,190, 62,158,108,204, 79,246,207, 78, 46, 78, 30,237,143,183,111,140, 39,187,196,220,140, 54, 47, 79, 14,206, 47,142,110,220,
-122, 78, 74,  6,157,117,243, 69, 15,240,244,205,231, 83,191,184,154,207, 67, 43,185, 36,132, 80,138,198, 16, 12,252,116,118,150,
- 82,213,  8, 96, 81, 35, 38, 20,  4,243, 26,197,245,199,  7,133, 58,216, 54, 38,180,200,132,129,135,110, 62,194,178,239,167,227,
-209, 47,124,242, 83,191,249,181,175,238,222,124,202,  8,220,105,181,184,184, 58, 59,121,112,127,239,173,189,123, 15, 15,143, 79,
- 47,175,150,171,110,213,175,174,102,171,171,217,229,179,239,126,245,191,248,242, 47,189,252,202,139, 71,143, 30, 28, 29, 28,148,
- 24, 94,123,243,205,205,233,248,219,127,243,198, 36,198,119, 93,219,  9,177,173,255,119, 66, 46,128,236, 14, 70,  6,202, 24,212,
-148,132,204,138, 96,240,226,245, 80, 95,  5,246,202, 76,129, 34,214,132, 50, 32, 98, 32, 44, 14,170, 70,136, 10,104,166,168, 58,
-105,154, 62,219, 56,140, 66, 19,205,205,179, 54, 81,106, 81,  5, 73,164,254,116, 24,  8,169,224, 36, 60, 40,235,170,118,192,220,
- 29,161, 17, 46,234,174,185,250, 55,106,168,140,144,235, 15, 86,176,192,129,  0, 85, 21,137, 28, 61, 52,193,212, 88,  4, 76,  7,
-243,193, 26, 11,197, 36, 92,255,134, 43,222,  0,176,142,160,212,  0, 77, 69,164,128,186,185,187, 34, 72, 41, 38, 96, 90, 74,223,
-107,  8, 77,108,154, 24, 91, 51, 47,150,  9, 24,137, 77,171,101, 19, 12, 32, 50, 27,225,106, 53,199,250,132,113,213, 82,180, 88,
-208, 34,177,209, 82,136,184, 20, 99, 36, 17, 94, 47,242,168, 66,105, 66,164,146, 11, 11,215, 68, 10,  2,150,212,171,  3, 33, 52,
-161,  5,207,234, 74, 36,165,104,234,150,174,185,109, 70,128, 92,237,206, 44, 68,  8, 90,108,204,120, 49, 63, 47, 57,111,109,110,
-149,155,215, 15,207, 46,230,179,171,143, 60,125,235,218,245,107,189,186,251, 96,238, 54,208,172,136, 68, 12,160, 86, 42,116,138,
-152,221, 92,154, 16, 80,122,205, 65,144,135,192, 14, 90,238,115, 65, 66,107, 70,163,164,165, 34,241, 77, 11,184,199,208, 54,211,
- 45, 67, 48, 85,203, 37,119,189,230, 28, 69,250,146,200, 29, 84, 49,  8, 50,187,154,185, 50,139, 57,184, 21,  0, 84, 53,130,117,
-145,146, 17,204, 85, 75,  1, 23, 98, 94, 63,106,193,141,152,205,204, 74, 17, 17, 32, 50, 51, 45, 30,  3,135, 16,178,154,121, 34,
-174,127,249,117,146, 81,247,171, 36,  0, 54, 48, 94,124,189, 17, 53, 87,116, 25,160,148,108,110, 72, 80, 11,244, 76, 88, 79,240,
-195,124, 99,192, 20, 59,212, 83,239,176, 66,120, 28, 60,116,168,243,211,122,172,  6,115,130,250,108,214, 97,118, 92,167, 32,224,
- 96,166,176,179, 57, 58,191,188,216,186,189, 85,116, 29,107, 89, 39,140, 96, 32, 78, 84, 67, 47,194, 26, 89, 89, 27,167,195,160,
- 25,225,177, 70,160, 94, 54,222, 81, 84, 87,116,101,125,235,173,163, 97, 67,198,125,200, 83, 27,  0,131,  9, 84, 69, 12, 26, 50,
- 51, 76,210,197, 37,  0, 32, 54, 73,211,120, 52, 57, 61,220,255,198, 55,191,249,190,247,127,228, 61,239,121,207,226,242,180,217,
-190, 25,154,198,205, 92, 26, 52,101,110,  1, 81,213,172, 47, 68, 68,160,181, 31,200,194, 64,188,154,157,252,238,239,254,243,103,
-158,124,151,230,254,236,226,108, 50,221,108, 66,123,237,198,141, 23,158,127,238,175,191,251,218,143,188,239,125, 55,111, 63,249,
-246,189, 59,194, 50,153,110, 17,179,132,134,234,145,132, 35,  2, 33,  9,128,154,171,103,116,112, 80, 67, 66,172, 52, 18,128,166,
- 29,213,125, 75,201,198,160,128,  4,104,121,149,172,152,230, 28,218,209,106,181,204,171, 20, 71, 17, 89, 16, 57,173,114, 46,190,
- 90,174,136,177,153,140,  0, 60, 52, 13,184, 90,209,131,131,187,183,111,237,154, 89,214,210,247,189, 25,104,209,141,209,248,226,
-242,188,235, 86, 79, 62,251, 74, 90,205,246,238,188, 49,155,151, 16,167, 86,188,150,193, 74,234, 32,196,182,221, 52, 45,103,167,
-247, 79, 79, 31,149, 82,118,175, 61, 59, 26, 79,206,174, 78,219, 81, 60, 58, 62,153,205,230,203,110,233,  5, 10,104, 16,190,156,
- 45,143, 79, 79,215,117,227,250,249,  1, 53,136,  1,  8, 80,135,237,200,240,181,145, 74,140,243, 58, 82,  3, 45,202,204,207, 61,
-247,212,111,254,234,223,249,228,167, 62, 53,222,220, 77, 57, 89, 94,205, 78, 79, 15, 15,238,239,221,191,191,247,224,240,224,236,
-236,114, 54, 75, 93,127,185, 92, 30, 62, 58,126,226,250,206, 63,250,242, 23,127,229, 23, 63,215, 16,252,240,175,254,242,178, 91,
-197,173,173,126,181, 58, 61, 60, 23,245, 27,155,147,157,141, 49,137,172,235, 15, 72,132, 97, 24,163, 27, 19,153, 91, 20, 86, 55,
- 83, 50,171,165, 16, 48, 55,102,170,178, 48,  2, 52,179,202, 10,210,  4,171,164, 64, 22, 66, 16,102,239, 58,175,160,177, 16,166,
-173, 24, 66, 45, 22, 13, 40, 14,128, 38,180,106,252,146,225,176,  0,  0, 32,  0, 73, 68, 65, 84,158, 53, 51,  9,145, 56,  2, 40,
- 72,144,156,251, 24, 98, 81, 69,  2,211,122,223, 38, 77,181,248, 74, 14,  4, 80, 87, 47, 52,200, 75,153,  2, 35, 49,129, 67, 77,
- 39, 48, 73,197,168,187, 43, 50,231,108,178, 62,172,175,217,219,104,102,170,165, 54, 68,212,  1,220,152,196,177,168, 41,168,179,
-176,170,151,100, 76, 80, 84,179,153, 91,113,  8,238, 94, 82,114,  0, 97,  1, 32, 97, 54, 83, 51, 39,177,200,146, 82,114,117, 38,
- 82, 45,102,  3, 21,213,221, 84,213,146,139, 69, 25,161,163,  0,184, 48, 21,  4,205, 10,110, 20,184, 30, 47, 73,170, 39,212,  9,
-161,100,  5, 52, 97,113,128,226, 61, 33, 85,203,  4,147,146,251, 42,173,144,164,105, 66, 19,131,106, 49, 85,  3,  8, 68,220,  8,
- 26,197,  9, 30,158, 29,165,229,234,154,208,  7, 95,126,254,198,181,157, 12,  8, 14, 66,132,  0,185, 62,225,188, 30, 58,107, 98,
- 30,188,202, 59, 92,221,160, 55, 69, 30,124,114, 69,157,220, 37,134,197,213,101, 19, 37,196, 86, 93,173, 30, 34,165,234,249, 68,
- 75,114,162,220,117,253,106,  5,238,  6,198,136,129, 24,152, 28,138,  3,184,102, 36, 65,231, 10,193,198,202,120, 32, 31,100,156,
- 76,238, 78,132,170, 24,132,  9,184,228, 92,165,160, 64,108,234,132, 24,154, 72, 76, 41, 43,  2,  4,  6,  0,212, 10,120,224,160,
- 57,195, 80, 76,243, 46,169,101, 21,213, 36, 84, 87,221,160,  3, 36,  1, 28,235,123,184,254,177,203, 48,235,112, 39,226, 26, 76,
- 30,228, 97,110,235, 96,228, 80, 76,114, 53,148,193,116, 55,148,146,234,113,  6,214,104, 96,171,117, 93,128, 74, 45,199,181, 75,
-  3,192,212,118,182,119, 78,239, 61, 40, 55,166, 96, 14,196,143, 57,128, 96,117,204, 95,  5,215,235,192, 78,133, 92, 86, 93, 23,
- 26, 60,238,216,214,219,134,173, 11,120, 84, 61, 43,213,208,138, 96, 21,163,129, 88,179,104,100, 69, 11, 99,160,250,138,144,136,
-168,230, 25, 76, 17, 55,250, 69, 82,135,166,105,204, 60, 54,237,114,126,246,141,111,254,225,243, 79,191,244,209, 15,252,104,223,
-247, 78, 33,142, 90,115,181,126, 37,147,109, 36,206, 89,145,168,116, 61,198,  8,168,158, 82, 78,169,221,218,206,125,183,125,243,
-230,239,253,179,111,172,122,253,205,127,248, 15, 15, 30,188,249, 23,127,246,167, 27, 27, 27, 79,220,126,122,132,147,167,158,126,
-250,252,242,226,175,255,211,183, 62,253,185,159,121,244, 96,111,178,177, 67, 68,125,183, 68, 36, 39,100, 36, 34, 20, 10,106,182,
-166, 92, 22,  4,  2,169, 30, 53,  4, 55, 51,224,216, 34,139, 43, 16,162,107,  1, 66,119,243,236,142,104, 10,221, 98, 89, 82,223,
- 76, 71, 66,156,115, 49,230, 46,173,144, 12,164,169,137,216,209,100, 67, 51,244,185, 47,253,226,244,232,225, 51, 79,220, 80,211,
-197, 98, 57, 95, 46, 87, 57, 35,248,141,221,157,130, 49,182,178,123,243, 73,105,162, 67,136,145,101,218,230, 84,192,203,229,249,
-213,120,178,201,165,191,188, 58, 62,159,157,108, 77,119,111,221,126, 87, 94, 45, 38,155,187,139,213,236,193,225,193,178, 91, 25,
-192,230,198, 70, 53,220, 35,194,168,105,158,185,221,252,199,254, 59,167,231, 87, 34,188, 70,  4,  1,186,241, 90, 24, 96, 14, 12,
- 94, 91, 68,117,176,199,  8, 24,100,185, 88,108, 79, 55,190,242,249,159,251,249,207,124,246,217, 23, 95,146,102,146, 53, 47,103,
-231,103,199,  7,247,223,222,187,255,240,209,195,227,227,147,203,203,217,124,126,113, 57, 63, 59, 61,235,115,254,248,123, 95,253,
-173, 95,251,149,151, 94,122,161,239,150, 39,179,203,189,171, 75, 75,221,237,221,205, 59,247,238,111,181,205,  4,145,167, 99, 98,
- 25,180, 59, 72,130,104,234,131,102,167,138,161,173, 26, 10,208, 84,139, 21, 24, 42,150,213, 62, 10,197,114,160, 80,175,141,150,
-221, 12, 66, 32,119, 70, 32,  3,227,138,231,173,  7,115,  0, 68, 18, 97,  2, 84,240,202,125, 50,119,  3,168,151, 54,215,130, 34,
- 18,  2, 16,180,113, 82,180, 84, 51, 25, 35,170,209,208,160,182,193, 91, 54, 44,227,104,120, 23, 18,146, 27, 20, 51, 97, 10, 44,
-245, 40, 77,  6, 34,141, 90,178, 82, 80,170,144,  6, 25,209,145,106, 12, 13,  1,137,  4,220,213, 21,141,  0, 64, 53,215,118,168,
-  3,  3,225,120, 60,234,187, 85,234, 87,102, 30, 69, 48, 68, 48, 44, 37, 83, 64, 67,100,103, 34, 42,166,128, 86,  5, 79,125,159,
-188,100,168,220, 75, 67,131,194, 72, 53,  5, 80,204, 25,205, 76, 83,223, 55,227,104,165,122,186, 60,  4,201, 89,135, 76,155,147,
- 48,187, 23,213, 97, 46, 28,164,117,215, 84, 10,242, 58,  4,  1,128, 72, 97, 52,  6, 14, 77,219, 72,  8, 86, 20,  1, 73, 24,204,
-235, 16,121, 50,218, 28,163,110,143, 11,154, 87,113,130, 26, 34, 20,230, 96, 96, 96, 70, 80,163,138,238, 57, 57, 50, 18, 49, 49,
- 48,154,170, 33,171,101, 70,  6,228, 65,131, 71,200,129,251, 84,250,229,106,247,137, 27,192,102,201,173,228, 56, 26,  1, 99,206,
-170,203, 21,199,236,230, 69,213,107,158,167, 88, 54, 88,219,176,234, 37,129, 29,177,218,138, 16,209,234, 87,113,120, 86,129, 59,
-160, 35,115, 36, 42, 37,151,222, 58, 66, 66,175,113, 88,171, 15,203, 84, 74,196,166,105,154,190,207, 37, 39,  9,204,128,196, 97,
-161, 74,140, 96,158,138,129,167,173,233,164,184, 72, 28, 95,203,185, 51, 45,197,138,  0, 56, 24, 18,219,192,211, 88,215,135,200,
-234,126,214, 77,  7,207,115, 93,177, 86, 43,163, 15, 68, 97, 68, 66,169,111,130,193,133,138,160, 80,121,  4, 68, 21,100,134,131,
- 94,  3, 89,234,149, 65,135,131,190,  1,128, 75, 19,219,136,203,101,158,182,  1,220,  1, 10, 32, 13,209,176, 26,214,161,199, 47,
- 15,115, 68,  7,  5,171,149, 55, 34,192,186,200, 53,115,171, 63,143,  4, 65,181,164, 65,  9,100,128, 10,  6, 38,117, 16, 64, 85,
- 56,238,238,184,254, 18, 24,120,239,128,110, 74, 97,203,150, 93, 94,204,154,141,169,196,145,151,100,253,252, 27,255,230,155, 55,
-174, 61,241,185,207,124, 26, 16, 74,223,181, 27,155, 36,193,  1,156,196,212,172,155,243,104,  3, 12,220,156,106, 39,133,164,153,
-142, 81,173,109,199,243,163,  7,255,250,247,191,249,115, 63,247,165, 39, 95,121, 17, 17,130,252,135,203,179,179,157,173,221,166,
-153,236,236, 92,127,226,214,147,119,238,221,127,229,254, 61, 53,155, 93, 93,222,124,242,233,229,225,129, 48,135,102, 84, 19,175,
-230,201, 17,221, 12, 17,205,180,162,254,134, 41, 87,157, 70, 17,154,154,155, 97, 32, 80,183,172,142, 72,181,  1,  1, 86,114,230,
-216,162,185, 49,  2, 97,183, 92,246, 41,231,212,  7, 66,226, 16,218,134,  9, 83,191,100,145,211,195, 71, 87,203,  5, 71,118,183,
- 62,245, 57,231,101,215,141,  2,111,143,154, 16,195,104,251,122,136, 45,179,180,211,173,229,201,241,168,221,237,211,101, 78, 75,
-  2,184, 56,127,244, 96,255,174,  1,189,250,226,171,139,217,  5,115, 92,234,197,229,197,209,229, 98,126,116,117,121,117, 53, 27,
-143,166,227, 24,164,105, 22,179,171,113,211, 44,251,148,250,238,230,245,221,203,217,252,111,  3,154,161, 30, 87,124, 88,148,215,
- 24,100,237, 72, 48, 67, 54,  3, 43,239,125,233,197,255,242, 55,190,254,254, 31,251,128,180, 99, 35, 92, 92,157, 95,156, 30, 62,
-124,176,127,244,232,224,238,131, 71,199,231,103,103,179,217,114,209, 29, 30,159,156, 92, 92,142, 99,248,239,191,250,229,191,251,
-149, 47, 45,231, 23,119, 94,255, 33, 52,163,183, 31,238,175,102,151, 15, 30, 28,189,246,198,131, 27,211,201,181,141,105,211,214,
-121, 11,129, 17, 81, 64, 50, 45, 85, 82, 71,200, 12, 96, 89,135,242,189,  4,  2, 48, 54, 41,238,197, 92,234, 67,208,140,128,177,
-230, 38,209,139, 25, 19, 58, 99, 94,229,182,137, 21, 23, 40, 18,114,202,213,217,214,  4, 86, 39,  7, 68,  9,128,174,217,144,177,
-194,133,113,176,209,  3,  7, 33, 34,213, 66, 68, 49, 72,202, 57,247, 67, 74, 10,  0,156,157, 64,176, 94,154,125,136, 30,  0,186,
-106, 38,142, 68, 20, 56,  2,177,106, 38, 55, 32, 44,165, 39, 34, 98, 97,116, 25,176,142,193, 92, 21, 44,132,152, 83, 15,238, 64,
-200, 30, 12,204,221, 41, 48, 34,105, 41,129, 89, 66,200,165, 16,113,136, 35,  7,179, 82,152,  9,  3,215, 33,175,212,163,132,149,
- 16, 34, 18,151, 92,250, 62, 33, 16,178, 84, 91,102, 51, 10,232,113,213,119, 53,146,207, 90,  5, 62,128, 64,166,201,129,221, 13,
-193,115,234,213,140,137,130,200, 48, 46,118, 16, 17, 17, 46, 57, 23, 77, 48, 72,  1, 43,210,222, 17,204,  0,154,166,149,192,228,
-168, 73, 89,  4,192, 82, 94,185, 89,108,226,186,165, 73,227,113,235, 70,185,203, 14,206, 77,112,117,115, 99,102, 67,212,236, 37,
- 23,171, 97, 87,207,228,129, 56,168,154, 23, 99, 34, 39,  6, 71, 80,165, 32,161,137, 41,165,190,207,151,179,101,  8, 40, 44, 86,
- 76,152, 80, 70,197, 12,212,189,226,203,187,206, 28,115, 73,204,193, 75, 33, 38,172,234, 30, 98,  5, 80, 51, 68,104, 99,232,172,
- 84, 69,109,237,173,145,144,166,140,204,245,102,165,131,194, 10, 35,  5,114, 79,166, 66, 28,162,228, 94, 11,104, 20,142, 49,164,
- 84,152,  8,130, 56, 64,118, 37,208, 73,211,116, 61,231,180, 16, 52,146,102,217,155, 22,147,231, 95,124,113,213, 23, 45,101, 62,
-187, 88, 46,103,218,175, 28, 75, 77,164,  0, 14,152, 69, 98,210,172, 53,164,239,174,117, 32, 52, 24,180,129,235, 50, 28,234,166,
-181, 78,139,214,100,210,154,229, 55,132,186,  6,241,117,115,202, 43, 50,110,120,113, 25,214,203, 36,146,230,178, 53, 25,207,150,
-221,246,102,155,212,  5,240, 29,204,247, 59,248,200,193,244,242, 88,250, 87,147, 52,107,132,116, 70, 39, 17, 80, 51,211,130,224,
-174, 96, 76, 60, 52,131,148, 81,134,247,137,177, 62,246, 89, 15, 24, 32,  0, 52, 34,113,152,120,151, 87,203,  5,  7, 33, 14, 69,
- 51,106,255,  7,127,252, 71, 18, 70,159,252,200,  7,139, 22,112, 36,142,205,100,170,197,136, 89, 29, 65,147, 47, 23, 32,173,165,
-142,194,  8, 25,192, 12, 65, 17,212,220,199, 27,163,255,243,127,251, 63, 36,110,127,254, 23,126,102,254,232,209,120, 99,227,163,
-159,249,236,191,251,195,127, 51, 95,204,154,241,120, 50,153,220,188,113,253,252,252,244,245,215, 95,251,201,143,253,212,241,233,
-225,114, 49,107, 39,163,156, 87,136, 64, 34,110, 86,128, 68,216,113,253,184,171,232, 19, 68,174,244, 55,225, 32,177,228, 21, 34,
- 51,  7, 69, 71,  0,116, 67,211,220,247,121,181,228,102, 20,219, 64, 96,234,234,102,134, 36,161, 49, 71,244, 34, 34, 24,184,148,
- 12,224,171,211, 71,119, 95,255,214,213,106, 69,196,238,184, 92,172, 22,243, 69,234,250,157,201,  6,161,164,238,234,250,228,121,
- 67, 58, 57,216,239,187, 69, 78,253,229,201,241,120, 50,238,187,171,249,229,241,170,215,219, 79, 60, 55, 34,186, 60, 61,238, 87,
-151, 32,141, 57, 77, 39,211,243,171,217,124,177,100,  9,155,155, 91,253,106,126,122,124, 88,138,  7,  9, 76,120,112,114, 49, 91,
- 46,  0,220, 75,241,181,246,220,220, 16, 98, 85, 83,212, 47, 43, 51, 86, 67, 99,113,187,177,187,243, 11,159,248,196,151,190,248,
- 75,183,158,122,166,152,169,149,203, 71,135,103,167,135, 15, 30, 60,120,116,116,114,255,209,225,225,217,105,151,210,229,108,113,
-112,112, 92, 74,249,236,135,222,247,143,190,252,133, 15,127,232,199, 30, 30, 62,220,187,243, 54,143, 71,221,233,241,253,183,239,
-  7,230,136,116,125,103, 60,157, 76,107,236, 10,  3,  4, 17,  0, 50,215,146,157,185, 34, 34,  0,208,181, 40, 17,136, 80,234, 11,
- 58,  8,198,130,133,208, 76, 43,117, 20, 17, 25,  9,138,107, 73, 26,155,216,196,198, 74, 54,199, 56,138,245, 59,161,137,148,178,
-213, 55,  0,177,160, 48, 42, 16,139,230,172, 73,171,163, 25,208, 41, 10, 34,122,113, 34,  0,181,164,153, 49,  8,122, 81, 37, 68,
-  9, 92, 39,230, 53, 92,  0, 72,214,103,115, 99, 25, 82,  3, 37, 43, 75,168,234, 66, 67,  7, 55, 14,195,169, 28, 76,  1, 88, 68,
-  0, 93,181,  0,120,177,158, 88, 16,216,177, 98, 60,234,164,200, 16, 32,112,163, 86,192,189,105, 71, 57,103,207,217, 21, 88, 68,
- 66,112, 51, 15,200, 92,185,193,131,217, 39, 21, 99,193,156,122,213, 34, 65,152,  8,144, 93, 43,219, 50,162,170,170,162,123,148,
- 80,140, 21, 10, 66, 30,162,173,185, 32, 90,229,255,173, 85,112,100,168,160, 80,201,107,213, 63, 87,147, 35, 68,192, 66,224,104,
-235,212, 93,  8, 77, 81,  5, 39,  3, 71,174, 71,132,194, 68, 20,215, 53,248, 32,232,144, 74,134, 82, 98,100, 67, 40, 57,  3, 48,
- 56, 58,128, 38,128, 58, 87, 82, 83, 80, 68,113,128,156,147,136,112, 27,114,210, 58, 50,138,177,181, 84, 22,125,110,154,160,200,
- 57,149,205,233, 24,  9,155,216,154,121, 78,197, 84,205,141, 43,170, 55,151,161, 78,236, 70, 18, 85, 11,104, 17,150, 82,114,173,
-203,171,217,106,181, 34, 10, 86,117, 21,132,134,144,251,108,224,  1, 17, 29,180, 43,  6, 86, 37,167,154,147,  2, 10, 18, 32, 20,
- 85,142, 28, 81, 82,209,249,124,222,180, 17, 89,172, 55, 43,  9,212, 73,  8,205,  2, 58, 52, 13,184,153,153, 16,178,144, 72, 19,
-183,218,198,212, 38,147,166,239,182,186, 85, 74, 57,165,110, 89,114, 41,165,115, 75,174,133,220,  5,135,244, 60, 24, 32,131, 15,
-151, 86,  3, 83, 24,240, 50,107,104,146, 33,184,129,  8, 18,185,155, 43, 12,253,183,245,116,129, 24,157,  6, 52, 76, 24, 18,175,
- 12,204, 53, 15, 55,217,218, 56,217, 63,  1,218, 37, 45,128, 53, 77, 64, 96,117,148, 67,239, 68,115,  6,208,  8, 18, 13,115, 36,
-112,215,172, 78, 96, 62,204,246,177,130,108,  4,  8, 12,148,129,173, 90, 84,215, 75,  2,245,170,137,164,161, 23,177,102,163,  9,
-166, 82, 74, 14,161,149, 54,  0, 24,171,254,201,159,253,191,103, 75,248,229,159,249,220,168, 13,165,239,226,168,149,166,181,156,
- 33,140, 16,204,186, 57, 52, 35,106,218,210,173, 76, 83, 19, 71,174, 78, 65,160,184,166,210,110,110,220,127,243,205, 63,254,163,
- 63,253,234, 87,255,193,116, 68, 71, 39,179, 91,207, 63,245,190,167, 63,241,253,239,126,251,222,222,157,205,205, 45, 30, 79,119,
-110,220,120, 98, 54,123,112,240,232,248,232,145,153, 94,156,156, 96,224,205,233,118, 69,228,168, 22,145,168,238,188,198, 96,186,
- 27,186, 58, 80,113, 32, 66,  9,141, 99,109,110,114, 41, 25,  7,181, 57,150,164,150, 51,139, 72,224, 10,111,214,174, 51,181, 40,
-178,185, 49, 61, 98,  2, 83,  4,240,156, 33,167,213,197,193,221, 55,223, 92, 44,231,197,107,156, 86,207, 46,206, 86, 41,247, 69,
- 55,  2,247,221,108,177, 90, 60, 19,199,105, 57,219,127,243,  7, 38, 60,154,236,164,229,236,244,120,111,181,154, 79, 38,187, 79,
-237,108, 16,203,233,241,253, 85,159, 56,180,139,171,147,233,116, 71,  0, 95,187,243, 58,145,108,111,108,174,186,197,197,229, 69,
-219,140,219,157,241,229,249,185,131, 33,162,170,165,164, 64,142, 64,149,147,103,110,132, 85,173,172,170, 30,  2, 11,242,162,239,
- 38,109,251,211,159,248,216, 23,126,246,103, 95,122,233, 85,105,219, 85,223, 45,175, 46,175, 46,206,142, 31, 29,220, 63,184,127,
-111,255,232,248,236,116,217,247,139,229,234,225,241,233,225,225,201,143,191,244,236,111,255,218, 87, 62,254,161, 31,  5,243,195,
-211,163, 71,151, 23, 15,207, 78, 95,216,125,225,193,189,115, 74,182,189, 53,106, 55,166,102,224, 64, 66,161, 42,140, 77,161, 62,
-236,214,208,105,175,216,  0,145,250,104, 80, 38,246,186, 41,  2,240,226,196, 80,180, 16,  7,114,211, 92,140, 49, 80,  0,115, 67,
-165, 90,169,  8,129,  8, 74, 86,115, 19, 17, 71,130,202,119,118, 68,169, 91,115,224, 38,120,113,226, 90,191, 24,108, 58,245, 84,
-195, 64,117,238,175,165, 62,239, 24,137,132,177,232,112,164,193, 72, 88,181, 79,110,142, 40, 65, 72,106,186,188, 86, 32,171, 95,
-222,200,201, 65,240, 49,147,  3,201,173, 84,186, 33,186, 89, 65,225,198, 64,235, 64,213,204,213, 50,146,184,165,220, 47,144,163,
- 48, 43, 58,  5,172, 79,121, 48,116, 52, 70, 52,115,102, 38,172,164, 78, 67,  2,100, 54, 53, 12,145, 16,185,137,214,169,171, 86,
-229,183,136,152, 85,217,147, 50,  5,  3,119,176, 24, 91, 45, 90,212,200,128, 67, 64,102, 53,181,172,132,140, 78,246,216, 52,164,
-133,100,184,185, 32,177,153, 86,237,144,106,113,171,189, 94, 71, 71,179, 60, 80,164,181,150, 90, 48,167,140,134, 44, 68,109, 40,
- 89, 93,149, 41,152, 91, 46, 69, 92,  6,106, 19,185,214,240, 66,  5,221, 19,185,131,169, 35, 65,219, 54, 41,245, 57,247, 34, 18,
-131, 32, 81,191, 88,129,229,241,120,203,220, 82,223,129,163,169,215, 52,166,155,193, 58,164,  7, 68,142,164,170,107, 97,144,215,
- 83,185,170,213, 39, 76, 93,136, 59, 64, 49,133, 42, 13, 71,169,153,171,122,231, 70, 68, 55,112, 99,243,  2,129,132,144,153,181,
-184,154,213,113, 21, 56, 90,214, 16, 24, 60, 40,148,162,202, 66, 28, 24,157,180,148,234, 10, 83,115, 57, 58, 60,104, 66,100, 17,
-145,208,142,198,163,241,168, 56,104,151, 82, 46, 41,245,170, 86, 82, 90,204, 47, 87,105,  5,152, 26, 33, 17,170,132,198,234,122,
-  5,199, 90, 89,242,202,130,175,171, 23,118,172,251,226, 33, 71, 91,199, 57, 25, 24,134,190,182, 15,235, 12,167,225,197, 11,107,
- 66,111, 12, 49,146,207,150,182,209, 82,221,178, 14, 45,164,119,192,195, 72, 14,250, 24, 31, 86,237,209,170,136,168, 96,  4, 52,
-128,244, 28, 28,120,173,247,171, 76, 62, 99, 12, 64,  8, 86,188,168, 86,188,180,240, 16, 15, 37,  4, 87, 45, 13,245,139,162,160,
-128,210,180, 44, 65, 74,247,231,255,225,207, 95,191,119,248,149, 47,124,126, 99,212, 40,176, 52,129,152, 72,  2,181,141,149, 82,
- 82, 41,125, 47,106,208,180,106, 30,198, 91,200,161,238, 71,156,  5, 24, 68,211,239,255,171,223,123,249,213, 31,255,236,103, 63,
-121,126,126,186,117,227, 26, 69,  1,132,159,254,252,151,255,175,255,253,127, 61, 57, 61,122,170, 25,141, 70,147, 27, 55,111, 92,
- 94, 93,124,231,123,223,255,196, 39, 63,113,237,214,237,131,189,189,209,116,178, 92,204, 16,128,164,218,176,196,121, 80,109,153,
-131,107, 97,146, 32,172, 96, 65, 34, 99,189, 78, 58, 16,121,201,174,166,165,168, 58, 97,160, 17, 51,  5, 96,204, 93, 15, 88, 59,
- 83, 24,  3,107, 94,181,163, 73, 46,170, 10, 97, 52,221,191,191, 63,191, 56,198,208,228,172,174,144, 82,186,154,207, 85,213, 92,
-183, 39, 45, 96,104,198, 59,196,113,185,152,115,179,113,113,252,118,145,229,229,249,201, 52,198,182, 29,141,198,211,227,163,251,
- 55,110, 60, 61,157,108, 35, 44,155, 81, 83,186,132,166,  7,  7,123,251, 39,103,198,184, 13,147,212,247,  0, 18,132, 71,145,206,
- 65, 83, 42, 91,155, 91,227,241,136,153, 79,207, 47,144,168,235,140,  8,  9, 89, 68,250,146,119,183,182,136,248,248,252,188,128,
-189,251, 93,207,255,221, 47,125,241, 67, 31,252, 40, 55, 49,171,117, 87, 23,171,217,213,201,241,225,193,225,209,253, 71, 15,247,
-246, 15, 46,151, 43, 45,229,228,226,226,222,254,195,174,235,127,227,103, 63,253, 59,191,253,117,102,126,112,239,173,249, 42,173,
-162,180,232,199,143, 78, 78,142,207,130,195,141,233,198,120,220, 56,  0, 51, 17, 11, 49, 19,147,170, 57,174, 63,217,117,112,135,
-200,196,117,171, 91, 95,255,131,235,124, 13, 45, 52, 32,112, 18,226, 98,134,140, 50,160,184,156, 25,129,152, 12,137,196,173,104,
- 41, 33,182, 40,168,197,  8, 48,  8, 27,152,102,151,  6,205,152,145,156,234,228, 19, 37, 68, 64, 43,217,  2,147,185, 25,162, 16,
- 50, 80, 68, 94,235,197, 40,149,204, 36, 14, 38, 34,185,174,218,209, 42,218, 17,144,214,201,245, 90, 63, 52,211, 66, 28, 76,173,
-106,226, 17,171,142, 57,152,123,133,216,120,  8, 86,138,107,225,128, 94,220,192, 88,164,238,222, 58,119, 65, 33, 64, 64,113,235,
-209,133,132,212,106, 49,149,107,239,208, 93,115, 41,230,200, 44, 14,238,168, 33, 52, 18,131,155,229,156,170, 97, 13,145, 28,140,
-136,234, 82,215,212, 20,149,  0,138, 58,244,169, 38, 52, 80,  6,  7,180,153,214,219,131,170, 10, 17, 18,153,186,176, 96, 12,154,
-178,154,  7, 54, 65, 82, 80, 55, 47,166,163,166, 45, 37,151, 98,109,228,162,230, 14,129,197,201, 52,151,213,170, 52, 77,144, 24,
-115,206,154,147, 27, 32,146, 14,201,120,170,233, 15,  4,176, 65, 53, 66,  4, 88, 12,114, 82,192, 18,  2,187,147,106,182,226,230,
-217,  1,  5, 65,213,151,139,229,214,198,  8,156, 52, 23, 36, 22, 38, 19, 72, 93, 66, 53, 96, 34, 14, 77, 12, 57, 23, 55, 21,116,
-163, 10,135, 34, 85,243,  2, 44, 40,210,168, 23, 28,170,150, 53,  5, 11,128, 76, 12,106,106, 37,115, 16,181,108,138, 81,  0,132,
-201, 76,176, 97,  2,  7,236, 86,125, 19, 67,237,189, 86, 64, 60, 18,170, 13,229, 36,150,144,115, 17, 17,225,  8,192,158, 83, 96,
- 92, 37,146, 31,126,239,219, 49,198, 32,113, 50,158,182,227, 73,144,216,140,219,102, 60,106,163, 52,141,152,121,214, 50,154, 78,
- 76, 75,223,117,243,217, 85,151, 87, 96,137,  4, 91,102,  0, 96,170,110,143,  1,244,226,  4, 40,176,214,157,214,  8, 98,125,126,
- 35, 51,174,229, 54,107, 47, 45,130,  1,176,215,234,218, 99,128,  7,110, 78, 71, 39,231,231,155, 79, 93,131, 26,240,178, 65, 52,
- 82,233,100,  0, 84,205,218,149, 83,225, 86,119,168,108,182, 78,  5,  1,  1,216,227,175,223, 99,124,241,192,115,247,170, 61, 32,
-100,162, 65, 12,246, 78, 81,181,235, 51, 33, 59,104,104, 34,199, 16, 17,191,243,237,255,244,237,215,247,126,230,147,159,186,113,
-227,218,106,213,177, 56, 57,177,  8,  9, 91, 41,174,238,134,210,180,220,140, 45, 37, 25,141, 66,140,174,  9,152,173, 95,166, 46,
-109,238,108,188,249,189,239,126,251, 59, 63,252,239,254,155,127, 82,250,  5, 82, 24,109,142, 52, 21,239,250, 27,183,175,253,248,
-135, 63,250,214,223,124,123,119,247,198,198,214,214,230,238,181,103,159, 46,135,143, 30, 28,236,221,123,249,189, 31, 32,134,187,
-111,188,118,235,214, 45, 99, 23,144,129,200, 89,239,173,128, 90,138, 51, 86, 86, 26,168,135, 27, 83,131, 12, 94,  0, 25, 29,204,
-177,164,100,200,192,  2,218,147,145, 68, 82, 83,237,123, 15,145,208,144, 27,105, 98,211, 52,163,102,210, 45, 19,197,112,126,124,
- 48, 63, 63,221,104,219,211,211, 19,243, 18, 37,244,121,149,250, 84, 76, 65,125,123, 99,147,133,174,223,124,166,109,199,103,103,
- 71,253,234, 98,190,156, 95,204,142, 95,121,233, 61,253,236,196,165,237, 86, 11, 82, 59,122,120,127,251,218, 45, 75,125,167, 61,
- 88, 41,165, 28,157, 30,175, 82, 10,161, 57, 62, 57,157, 76, 39,227, 81, 59, 95, 45,247, 31, 30, 86,148, 91,183, 88, 92, 45,231,
- 27,163, 81,234, 83, 42,165,132,128,160,132, 34,  8,207, 60,241,228,255,242, 79,255, 41, 34,253,187, 63,253, 19, 70,250,248,199,
- 63,122,253,250,173,174,104,202,185, 95,206, 47, 46,206, 78,143,143, 14,142, 79,247,246, 31, 60, 60, 62, 94,172,186, 92,202,193,
-163,227,135, 71, 71, 47, 60,121,227,127,248,234,175,254,252,103, 63,126,114,126,254,240,254,126,188,177,125,244,232,173,211,139,
-171,201,100,154, 83,126,122,103,139,155, 80,233, 71, 36, 50, 60,116,144, 76,235,167,210,105,248,224,162,122, 33,148,172,213,148,
- 86, 73, 91, 53, 66, 60, 84, 68, 36, 68,179,162,174, 37, 37, 10,  4,206,245,  8,171,238,208, 37,105, 71,196,156,115,207,204,237,
-164, 85, 29, 38, 12, 65,130,106,  6, 64, 98, 72,201,130, 72,205, 41,115,144,122,  6,172,111, 29, 67, 70,  0, 65, 42,166,129,  5,
-193,144, 72, 88,138, 41,112,112,115,100, 78,185, 84, 50, 30,  7, 25, 64,174,  0,129,217,145, 24, 73,213, 76, 21,137,221,172,138,
-156, 53, 39,226, 32, 44,224, 84, 67,182,  8,232, 69,209,  9,  5, 29,144, 98,136,129, 61,151,148,179,187, 71,105,220, 61,151, 84,
-212,154, 24,145,196,181,212, 17, 13,  0,177, 72, 46,201,212, 34,133,210, 84,  5,180, 35, 18,  5, 46,106,194, 92, 23, 41,255, 31,
- 83,111,246,107, 89,118,223,247,253,166,181,246, 62,231,220,169,110, 77, 61,177,155,221,236,230,212, 77,113,104, 42,164, 38, 90,
-180, 68, 74,138,230,200,178, 76,203,  3, 20, 36,182,131,  0,142,147,135,188,229,111,  9,144,135,  0, 14,144,135, 24,182,  3, 36,
-134, 96, 41, 78,160, 64, 18, 41, 90,108,146,221,236,238,170,174,233,222,170, 59,223,123,134,189,215,250, 13,121, 88,251,182,242,
-218,168, 70,221,170, 58,103,239,181,126,191,239,247,243,  1,110,144,203,230,138,  1, 85,133, 86,163,157,  2,215,200, 44, 77,168,
- 93,116,100,144,220,117,102,  6,136,169, 25, 58, 17,219, 42,200,171, 18,147,  8,154,218, 52,133, 15,147,128, 82,  6, 34,234,115,
- 54, 51, 34,110, 57, 18, 47,213,131,102, 93, 10, 34,211, 10,224,110,200, 73,220, 13, 98, 90, 63, 68,152,  8,  1, 66,232,100,123,
-176, 86, 89, 64,  0, 98,117,  4,116, 32,102,134, 36, 19,243,121, 83,212, 67, 83,218,110,148, 56,181,106,206, 16,144, 36, 59, 70,
-131,  0,184, 41,130,  7,130,186,183, 40,136, 90,101,100, 78,220, 34, 39, 76,220,166,209,230,138,128, 68,217,180, 52,202, 16, 96,
- 14, 85,128, 72, 93, 50,167,208, 34,146, 34, 92,155,201, 64,114,120, 32, 57, 48,  1,132,186, 67,  0, 18,115, 22, 87,173, 86, 37,
-  9,139, 68,160,186, 77,230,172,  0,249,227, 63,253,211,220,165,121,215,239,110,109,205,231,139,221,157,157,197,124,103,177,181,
-181,187,183,151,250,174,235,251,148,186,220,  9, 68,154,207,231,187,123,123,170,182,217,172,202,184,185, 60, 63,119, 12, 65, 20,
-114,225,137, 85,131,  8,200, 48, 73,236, 38, 98,134,181,192, 74,211,241, 97,180, 96,179, 95,199, 43, 39,194, 87,155,185, 32,130,
-131,239,236,110, 31,221,123, 88,117, 95,174,213,221,173,165, 52, 61,160,145,221, 26, 68,144, 32, 16, 16,205,157,193,193,  1,101,
-130, 40,  0, 52, 96,219,  4, 33,160, 22, 52,105,187, 96, 64, 68,129,246,241,155,124, 38,209, 36, 18,129,136,172, 17,115,238,178,
- 71, 44,250,244,225,143,126,240,167,223,255,201, 47,126,227, 27,175,127,230,245,245,249, 41,  0,  2,231,112,167,180,232, 22,219,
- 58, 86, 71, 87, 51, 76, 57,144,176,239, 72,  4,220, 16,  9,193,235,102,195,196, 57,117,255,246,143,255,228,173,183,190,242,250,
-235,175,156, 28,157,236,188,112,215,172,145,  6, 56, 60,190,240,213,159,190,255,222, 15, 47,206, 79, 23,243,157,249,108,113,235,
-185,231,182,118,247, 46,207, 15,206,142, 15,111,221,121,161,140,101,255,185, 23,158, 61,122,216,229, 57, 18,133, 25, 32,153, 22,
- 69,100,186,134,104,182,111,117,202, 96, 14, 72,225, 30, 30,230,134, 41,147, 25,160,  3,  6, 49, 89, 45,238,  1,194, 72,  9, 37,
-185, 57,215, 53,212, 97,  0,183,178, 44,195,248,189,255,231,143,143, 79, 14,111,239,236,212,112,115,168, 90, 54,155, 58,150,113,
-185, 30,114,226, 78,242,106,179,254,196,238,237,203,203,163,251, 31,124,127,177,189,245,133,175,252,194,211, 39,143, 60,120,172,
- 64, 56, 82,240,108,247,246,233,241,195,213,234,108,185, 60, 15,128, 50,172, 16,224,224,244, 36,229,156, 68,170,151,229,114,181,
- 92,175,139, 87,173,182,189,232, 54,  1, 87,171, 43,139,168,102,179,174, 87, 95,247, 41,153, 51, 39,  6,226, 87, 94,124,254,181,
-215, 94, 83, 74,191,247,220, 11, 16,174, 16,165,142, 90,199,113,181, 60, 59, 62,126,116,240,248,193,227, 71, 31, 61, 62,184, 92,
-173,135, 50,158,158, 95, 62,122,122,220, 17,254,179,223,254,213,127,240, 59,191,182,191,179,120,122,126,118,178,186, 58, 60, 63,
-255,196,173, 29,158,207, 55, 79,142,120,208,151,111,237, 49, 83, 56, 32, 79,208,217,196, 73,221,139, 25, 95,131,241,218,  6,169,
- 69,109,189, 24,113,184,180,213,253,148,160,136,198, 31, 69, 12,  8, 98,  9,  7, 68,176, 50,157,230, 26, 38,189,169,227, 20, 92,
- 36, 17,139,153,181, 10,  7,  6,170,105,195,168, 66,192, 44,243,212,150, 72, 20,246, 49,129, 15,194, 33, 80,  9,  9, 69,208, 52,
-194,  9,201,213,135, 24, 51,165, 64,172, 97, 80,161, 49,178,167,188,183,  7, 80, 80, 96,173,230, 94, 83, 74,132, 52,161,193,  1,
-217,193,205, 37,117,209,142,232,225,200, 28,  1, 85, 71,225, 52,209, 61,152, 89, 68,171, 66,  4,183, 13,167, 27, 34,166,148,219,
-190,138, 16, 26,101,132,152, 60,160,106,  5, 15, 68,114, 68,230, 52, 89,152, 34,180, 26, 33, 57, 26, 11, 91,107,182, 52,154, 43,
- 68,120,157,112, 82,  0,  0,193,146, 56,  9, 19,171,170,155, 39, 78,208,228,210,140,110,225,209,210, 55, 19,208,150,168, 29, 91,
-167, 15, 57, 94, 79, 38,219,179, 65,195,152, 25,  0, 85, 43, 65,  8, 35, 18,123, 27, 60, 54, 18, 46, 88, 29,170,244, 25,128, 35,
-130, 33, 12, 92,125,  2, 43,182,161, 47, 39,110, 89, 76,143,136,  0,134, 96, 33, 32,177,240,246, 67, 95, 93, 45,133, 33,245,194,
- 34,166,129,129, 94,  3,165,249, 95,155, 61, 46, 16,136, 25,209,  1,194,204,130,136, 72, 50, 66,104, 53,145, 22,133,  3,135,118,
- 74, 99,  8, 55, 31,153,165,169,172, 32, 90,148,  9,221,130,192,155,143,187,185,151, 27,173,195, 61,  4,145,157,  7, 51,140,198,
- 59,112, 68,162,156,146, 66,120,152, 26,147,247, 93, 30,134, 49,204,153, 80,190,241,181,183, 15,158, 62,123,124,112,248,240,234,
-106, 40, 37,194,183, 23, 91, 59, 91, 91,251, 55,246,119,118,182,183,183, 23,187,219,251,243,237,157,196,221,108, 49, 19, 17, 38,
-217,222,218,229,221,253,155, 55,159, 87,171,155,245, 48, 12,235,112, 55, 27,173,110, 34,106, 22,206, 57,220,131, 88,108,  2,233,
- 77, 63, 71, 59,134,160,249,100,226,152,248,235, 24, 17, 50,225,120,193, 44,114,146,197,188, 59, 95,110,110,109,119, 45, 42,211,
-152,170,222, 34, 93,161, 19,174,  2,  0,194,  0,161,253,175, 40,132, 24,230,  6, 36, 13, 82, 54, 29, 17,136,166,142,171, 87,159,
-136,193,136,212,204, 29,136,215, 28,133,198,155,103,162,178, 25,231,139, 57,  3, 60,249,240,189,127,253,239,255,195, 23,223,250,
-242,155,111,188, 54, 14, 35,112,  6,173,156, 50,231, 25,162,131,187,106,177,198,233, 40,163,100, 67,112,100,118,171,121, 54,179,
- 97,  8,194,157,189,189, 31,127,239, 47,223,123,255,209,127,255,223,252,238,197,233,113, 90,100, 97,118, 51, 64, 64, 22, 85,191,
-177,183,247,234, 27,159,125,116,239, 39, 55,246,110,108,237,190, 34,204,171,229,197, 48,214, 39, 79, 30,237,111,223,  8,139, 82,
-108,107,247,198, 48, 14, 61,205,166,198,237,100,248,248, 88, 91,229,193, 34,253, 44, 26,150, 69,192,134,145,136,221,172,253,249,
- 41,119,220,229,178, 41,110,181,245,137, 67, 29,220,211,124,143,242,130, 37, 13,101, 20,162,207,126,225,205,245,213,217,241,249,
-217,249,122, 68,  4,173,181,150,162,238, 85,117,167,203, 44,189,137,188,255,254, 15, 86,155, 53, 11,219,184,153,205,183,250,249,
-206,197,197,249, 98,239,206,197,217,193,124,103,215, 93,239,220,121,249,226,236,116,123,107,103,121,117,190, 53,223, 94,174,175,
-158, 93, 45,133,133, 17, 41,245,165,140, 59,123,187, 96,245,234,106,244,136,205,102, 77,132,243, 52,171,181, 50,182,203, 40, 49,
-161,123,168, 90,223,117, 15, 63,250,112,239,185,151, 56, 37, 83,211, 97, 53,174, 87, 87,103,167,199,199,199, 15, 30, 62,124,239,
-163,251, 71,199,231,155, 90, 86,171,213, 71,  7,135,231,231, 87,223,248,242,155,255,245,119,126,247, 75,159,251,244,179,227,167,
-239,125,248,116,137,120,121,126,118,114,118,126,244, 23, 23, 87, 71,231,183,247,182,230,243, 57, 64, 32,178,136,144,144, 89,  8,
-231, 70,160, 16, 33,119, 79,204,102,142,  2,104,100, 94,195,175,129,163,238,200, 60,  5,242, 90, 75,226,154, 90,205,130,  0, 92,
-171,181, 70, 49, 32, 82, 22,112,212, 98,  8,145, 58,  2,  0, 83,205, 57,213, 90, 27,247,209,204,155, 97,192, 32,138,198, 52,107,
-107, 55,220,198, 83,181,246, 48, 65, 34,113,173, 17, 17, 34,161,134,130,  9,154,164, 59,232,186, 23,208,178,145,224,222,222, 10,
-230,110,102, 57,165,118,105,189,158,120,212,  0,228,196,225, 22, 24, 17, 46,204, 22,142, 36, 68, 30,136,166,165,203,125,  0, 14,
-195, 64,  4, 93,215, 67, 64,173, 37,144, 72,200,205,163,181,226,117, 20, 22, 70,241,176, 90, 74, 98, 65, 22,191,118,204, 16,160,
-185,171, 25, 34,160, 80,173,154,115, 70,  9,100,210,162,110, 74,200,  0,102,109,169,214, 94,  9,136,110, 97, 86, 91,241,202,  3,
- 32,220,220, 91,104,169, 21,214,219,219,179, 77,204, 90,116,131, 82,246, 98,225,154, 19,155,135,155, 19, 51, 35, 27,184,155,183,
-208, 85,139, 68, 91, 53, 17,140, 32, 15, 39,100,103,104, 14,  5, 73,169,140,  5,145,160, 65,180,  2,129,176,235, 58, 53,213,170,
-  1, 24,104,  4, 20, 14, 97,209,132, 24, 64,176, 92,143,227, 48, 60,119,123,191,253, 35, 34,  9,154, 75, 38,  8, 68,230,128, 32,
- 11,243,218, 42,176,147,110,  8, 67,195, 19, 10,  2, 19,215,214,155,111,114,105, 45,181, 29,103,113, 26,211,  7, 49, 17,182,196,
-145,179, 96,173,209,152,145,140,172,174,211,214, 23, 16,131,138,141, 12,  0,196, 30,198,142,210,177, 70,123,109,182,137, 55, 89,
- 85, 12, 37,102,168, 32,159,250,228,107,175,191,246,170, 59,184,235,249,201,201,195,167, 79,159, 62, 59, 58, 60, 61,125,114,120,
- 16,128,179, 89,191,179,181,115,251,230,205,155,251,251, 55,118,183,187,110,214,247,243, 60, 91,116,253, 98, 54, 95,244,125,151,
-115,183, 29,139, 90,107, 25,107, 45,117,216,172,199, 97,117,177, 92, 51, 70,223,185, 16, 16,  7, 34,135,217,180,180,106,201,198,
-235, 23,111,131, 88,127,220,166, 67, 64,  2,  7,164, 27, 59,187,  7,103,151,183,182,238, 76, 15,247,233, 97,110, 72,220, 10, 77,
- 31,123,138,193,  3,184, 97, 53,166,230, 18,134, 55, 93, 77,227,227, 35, 53, 58, 54,121, 24,182,226, 56, 33, 32, 24, 52,163,192,
- 20,247, 81,  0,138, 32,  2,183,  1,189,223, 44, 47, 63,120,112,255,197, 23, 63,241,245,183,191, 52, 84,107,252, 27,234,250,234,
-216,177, 72,202,170, 22,181,130,123,212, 66,136,161, 69,182,246,  8, 28,153, 77,199, 50,174,186,249,108,184,186,248, 31,255,229,
-255,250,181,175,190,253,220,115,183, 86, 21,246,238,220,209, 82,154,211,  5,  8, 33, 40, 40,127,250,205, 47,126,248,222, 59,155,
-113, 68,132, 15,222,251,209,159,255,249,159,125,238,115,111, 94,158, 94,222,217,191,253,242,235,175,255,228,135,239,188,240,242,
-171,227,229, 89,238,187, 86, 82,192,107,  5, 78,219, 51,187, 27, 73, 74,204,238,225, 90,128,176,108,198,220,231, 90, 85,152, 48,
- 76,114,111, 69, 91, 58, 35,188,134, 75,115, 53, 72,  2, 17,166,212,153,  7, 32,220,185,245,252,171, 47,125, 98,184,121,227,163,
-255,248, 67,136, 40, 99, 57,191, 56, 91,173,134, 97, 24, 95,190,181,143, 48, 44, 55, 60, 95,236,222,153,221,126,237,115, 63,181,
- 94, 45,215,171,165, 72, 42, 87,199, 35,  0,  5, 18,145,214,225,233,211,135,  1,120,121,118, 52,155,111, 11,225,241,229, 37, 80,
-234,115,214, 90,189,214,113, 24, 74, 25,102, 89,152, 98, 51, 12,101, 24, 61,  2,197,144,168,134,  7,184, 71,168,250, 98,158,255,
-224, 63,253,246, 47,253,252,127, 50,142,155,171,243,227,156, 23,230, 49, 46, 47, 46, 46,206, 30,220,255,240,199, 31,222,127,122,
-124,116,118,121, 53, 12,227,229,114,117,239,225,193,238,188,255, 31,254,139, 63,252,253, 95,255, 22, 99,252,232,135,239,228,221,
-157,243,205,234,236,244, 98,179, 25,234,106,179,221,245, 55, 95,184,131, 68,104,237,  9, 12,205,139,134, 52,149,239,153, 80,161,
- 97,202, 32,194, 19, 74,227, 16,  4,  2, 72, 96,147,127,186,123, 32, 17, 16,139,155, 19,132,134, 19,  2, 26, 96, 96,151,164,213,
-154,104,194,120, 80,238,179, 71,148,106, 57,101, 36,175, 85, 53, 66,152, 28,192,195,147,100, 10, 12,110,136, 61,143,  8,100,116,
- 11,  4,111,167,228,246,  6,183, 80, 22, 46,155,226, 49, 18,161, 32,183,248,  5,241,244, 97, 71, 64, 34,244,  0,183,  0,108, 69,
- 89,144, 36, 13, 62,211,190, 92, 17,192,194,224,224,225, 49,201,206, 80,221, 39, 53, 12, 34,  6,164,156,195,194,180,144, 16, 33,
-170,150,169, 46,200, 72, 72,196,228,228,196,220, 10,178,181, 86, 68, 17,142,143, 59,130,215, 74,  5,  0, 64, 55, 99,230,176,224,
- 22,151,  0, 52,117, 12, 32,150,240,112, 11,164,212,242,120,216,122,  3, 83,216,218,107,  0, 79,188,231,105, 30,141, 33, 30, 74,
-237,204, 30,224, 14, 44,  2, 96, 90, 75, 83, 71,140,163,166,204, 73,216,  2,204, 44,  8,115,154, 97,128, 90, 49,115, 66,194, 28,
- 17,110,213,145,201, 27,183, 22, 57,204,212,131,169,193,103,  3, 60, 82,151,155,171, 36, 34,104,241,204,182,221,  0,  0, 32,  0,
- 73, 68, 65, 84, 50,202, 74,  0,  6, 53, 87, 39,180,142,230,122, 51,246,130,146,164,140, 85, 36,  1,121,146,172,166,222,184, 49,
-196, 68,232, 70,101, 28, 89,  4,145,219, 76, 79,152, 48,  0,208,167,248,  3,128, 59,154, 41,114,107, 48,112,184,  1, 97, 18, 81,
- 13, 36,144, 44,181,148, 90, 42,  2, 16, 11,  0,154, 43, 76, 91,229,  8,119, 12,  3, 10, 78,169,170, 11, 34, 50,213,162,237, 95,
-146,129, 29,161, 12, 42, 12, 17,228, 90, 74, 45,178,218,172, 33,188,185,235,182,119,246,126,234,230, 62,253,212, 23,163,234,217,
-217,233,211,211,211,199,135,135, 79, 14, 15,239, 63,184, 79,156,111,236,237,221,222,223,219,223,219,219,221,221, 89, 44,182,182,
- 22,219,253,108,187, 95, 44,250,190,207,125,223,229,156, 89,230,243,153,199,141, 90,107, 29,198,106,101, 24,149,  3, 50,103,  7,
-191, 90, 93,172, 86,103,183,110,110, 45,114,  2, 39,119,143,  9, 67,214,232,208,  0,225,237,236, 82,107,204,102, 51, 59, 60, 42,
- 22, 66,134, 32, 83, 76, 61, 38,127, 35,  4,120,212,169,199,132,129,147,174, 30, 24,169,145,239,169,149,189,175,219, 85,237, 95,
- 18, 38,  0, 65,160, 67, 27, 11, 54, 88,205,148,173, 12,  0,242,196,226, 29, 94,158, 60, 59, 89,157,127,237, 27, 63,127,121,124,
-190, 90,173,250,173,109, 27,174, 80,122, 40,235,192, 12,179,222,172,  2,184,121, 73,121,134, 44, 40, 57,172,230,174,115, 47,  4,
- 62,174, 75,191,216, 22,240,127,243,111,254,213,106, 83,127,253,151,126, 97, 53,140,219,119,158,107,177, 82,  1, 12, 96,176, 64,
- 68, 29,134,231, 94,122,249,147,159,250,236,225,163,251,125,206,167, 39, 71,175,190,246,250, 11, 47,188,248,253,239,126, 23,  2,
- 95,255,244,107,183,246,111, 61,254,232,253,221,189,155,195,114, 53,219,222,134,107,174,231,100,129, 96, 10,183,220,207,145,194,
- 55,  3, 48,219,104,121,214,139, 80, 25, 43,  1,200,108,166, 99,  9,  0,  2, 48,102,208, 26,227, 50, 80, 48,247,110,224, 58, 98,
- 90, 16, 98,189,186, 40,235, 43, 52, 93, 23,221,212,130,128, 87,155,205,217,197,229,114,189,254,196,173,173,189, 25, 31, 45, 55,
- 47, 60,255,234,222,206,222,209,211,  7,227,234,234,226,248,201,106,244,126,107,111,121,113, 36,253,182, 90,192,169,162,235,234,
-242,196, 41,111,198,138,172,  8,113,190, 41,243,126,190, 25, 87, 73,186,182, 46, 41,101,116,243,198,111,185,113, 99,239,252,242,
- 50,179, 64, 66,211,  2, 41, 47,175, 46, 95,253,196,243,255,252,143,254,209,215,190,246,181, 82,198,213,114, 57,172,151,195,106,
-163, 58,158,159,157,188,255,193,253,247,238,221, 59, 62, 61, 27,138,110, 54,155,103,199,103,151,203,171,191,253,149, 47,252,139,
-255,252, 15, 95,125,249,133,163,195, 67, 89,116, 31, 28, 60,125,107,127,175,223,217, 58,254,224,  1,215,122,107,123,209,212, 53,
-  0,172, 48,148,177, 70, 56, 51,  7, 36,145, 68, 64, 14, 17,141, 78,218, 54, 94,129, 86,219, 22,167,169,201, 24, 17,192,241,122,
-181,195, 85,107, 76,189, 15,180,  8,110,162, 68, 70,210,  9, 32, 64,128, 66,220,102, 45,185,133, 28,213, 88,146, 32, 71,184,  8,
- 19,144,123, 88,120, 67,156,183, 20,159,169,122, 68,  0, 36,225,118,215,100, 98, 10,115, 85,225, 22,107, 15, 11, 71, 34, 78,226,
- 30,200, 83, 58,182, 61, 18, 27, 86,144,166,181, 39,180, 90,109,251, 54, 17, 50,  0,154, 42,  8,119,185,175,117,  8,136,102,193,
- 70,194, 68,201,205, 90,126, 25, 25,132, 69, 75, 37,118,206,217,195, 39, 22, 43,  0, 51,139,176,121,140,181, 50,145,187, 18,147,
- 90, 48, 33, 34, 52, 68, 76,132, 33,114,171,156, 71, 56,181, 26, 57, 54,207, 66,152, 59, 18, 74,202, 77, 87,216,208,179, 44,210,
-218,172, 77,120, 20,  0, 64, 70,200, 83, 67, 31,140,144, 66, 13,  9,  2, 27, 60,189, 76,238, 53, 68, 64, 16, 33,102,174, 85,  3,
-144,152,186,220, 69,120, 41, 21, 66, 33, 16,168,173, 25,  0,192, 32, 60,145, 20,213, 64,119,109,127,210,169, 28,139,220,142,207,
- 94,171, 33, 50,146, 55, 34,200,212,165, 20,214,162, 44,162,170,195,102,216,153,117,222,238,207,141,254,125,173,163, 64,132,148,
- 68,171,185,153, 52,248, 59, 70, 51,116,154,153,185, 77,135, 50, 38, 43, 26,  4,194,164, 13,232,105,149, 17, 17, 88,189,245, 34,
- 98,162,237,  2,185,155,155, 18,101, 68,134, 48,132,168, 85,153,200, 60, 56,  0, 57,132,177, 97, 87, 26,236, 63,144,180, 26, 81,
- 36, 97,117, 51,213,148, 36, 89, 11,171,  2,  6,132, 69,128,147, 85, 67,221, 32,242, 98,123,231,141,253,189,183,222,124, 75, 16,
-206,175, 46,238,127,240,193, 59,247,238,221,123,248,224,199,239,127,152,178,108, 47,182,110,221,216,219,219,221,219,223,219, 91,
- 44, 22, 59,187,123,243,249, 34,247,115,150,148,243,108,190,216,162,157,157,  6,134,209,234,204,108, 14,227,176,119,244,172, 59,
- 95, 46,215, 52,166,140, 61,113,110, 34, 87,  8,100, 66,240,150, 64,167,134,  4,148,188,183,179,181, 30,203,222, 34,181, 71, 54,
- 34,181,137,121,248,245,147, 61,  0, 88,176,145, 44,209,137,200, 52, 38,136, 24, 65, 99,239, 33,183,174, 76,155, 18,  5,  0,145,
- 91, 75, 72, 48, 95, 19,222,  9, 49, 16,173,129, 14,160,212,205,179,203,243, 87, 63,251, 26, 83,108,223,222,218, 44, 99,181,220,
-204,102, 11, 18, 65, 76, 20,144,183,119,221, 85, 40,113,154,  5,  9,184,135, 43,138,232,184, 34,196, 97,216, 80,238, 82,146,195,
-251,239,255,249, 95,189,255,135,191,255,123, 73, 88,187,158,187,174, 53,159,213, 29, 96,104, 50,132, 70, 87,250,242, 79,255,252,
-255,252,131,239, 59,124,184,152,205, 36,119,247,239,189,127,181,186,250,241,251, 87,175,125,234,213,215,222,124,171,190, 99,194,
-178,186,186, 76,243,121,106,189,187,192,112,100, 22,112,143,136,212,205, 81, 18,118,238, 99, 69, 34,166, 40, 99, 97, 65,192,208,
-128,  8, 64,150,192, 64,107,230, 68,129,136,136, 66,210,215,113, 73,146,162,223,215,113, 24,175, 78, 49,236,108,189,118, 11,143,
- 56, 59, 59,119,179, 27, 91,189,107,253,127,127,252,224,230,206,246,247,222,253, 32,103,153,117,249,253,143, 14,175,134,243,187,
-119, 95, 38, 76,243,188, 72, 44,  8,176, 41,117,119,177,131,116, 98,102,139,237,155,106,163, 41, 93,172,135,138,148,146,128,133,
-106,233,103,179,186,172,151,203, 37,  0,119, 73,246,119,118,181,120, 68,237,115, 62, 60, 58,234,186,254,183,126,249,231,254,232,
- 59,127,255,149,215,222,216, 12,197,124, 29,  4,195,122, 88,175, 86,231,151,103, 31,220,255,232,222,253, 71,151,235, 85, 25,245,
-248,226,236,236,244,252,246,141,253,127,254,157,223,253,157,223,248,213,205,102,253,215,127,245,221,221, 87, 94, 56,121,252,232,
-240,228,100,118,255,193,187,239,188,255,226,205,221,173,221, 45, 55,107, 46, 60, 34, 24,  6, 93,111, 54,128, 48,235,250,156,  8,
- 81, 80, 40, 98,154,194, 38,193,234,138,212, 26,111,112,109, 31,117,107,192,151,107, 89, 82,120, 16, 49,139,104,169, 16, 54, 26,
-176,200, 44, 39,  3, 43, 69, 73, 48,  0,204,157, 68, 72,216, 84, 93,  3, 39, 61,186,229,190,183,170, 45,254,208,224, 33, 72, 40,
- 76,238, 14,146,217,194,194,105, 50,190,131,183,133, 47,147,106,101,226,246,  8, 69,154,202, 38, 31,179,191,219,248,  8,152, 24,
-201, 49,  8, 39, 94,147, 89,109,154, 73,119, 13, 13,100,132,208, 82,134, 86,250,103, 34,  4,110,169,237,191,185, 14,186,215, 90,
-136,145, 19,155, 90,  4, 52, 57, 52, 49,185,251,176, 41, 44, 41,137,120,  4,  3,163,112, 47,160, 90, 39, 21, 90,  4, 17, 88,173,
-125,206, 85,107, 75,240, 34, 37,104, 69, 19,226,  0,224,102,113, 14, 84,215,198, 37, 38,136, 10,128,156, 90,153,133, 24,181, 90,
- 43,153,146, 16, 19, 91, 13, 35,107,121, 49, 55, 37,102, 66,210,170,146,152, 57,212,124,220, 12, 73, 36, 18,  3,248,176,222, 64,
-227,163,  7, 49, 77, 90,206,  8,146, 28, 30, 80,213, 68,196,194, 68,184, 93,130,167, 67,143,169, 85,101, 17,145,220,116, 19, 17,
- 32, 44, 85,171,154, 99,  4, 17,  3,194,106, 61,100,225,189,253,189,166, 44,132,152, 10, 55,140,172,104, 17, 81, 74, 37,162, 60,
-235, 74,209,128, 72,196,  1,160,166,100, 33, 89,134, 90,  5, 49,108,  2,252,154, 58,128,103, 17, 55,115, 87,  2,106, 23,148,  0,
-  5,228,118,188,104,151, 69,  0,114, 85, 55, 35,196, 44, 98,225, 57, 33, 73, 87,107, 69, 55,238,103,161,218, 86, 70,156,176, 95,
-204, 54,101,116, 45,140, 72,125,102, 78, 56, 20,153,134,207, 77,164, 29,147, 26,140,154,135,195,108,117,121,238, 68, 89,228,173,
- 47,124,241,203,111,127,101,181, 92, 30, 28, 30, 62, 60, 60, 58, 60, 60, 56,120,246,244,254,163, 71,  0,188,187,181,189,191,191,
-123,247,230,222,214,206,238,206,214, 78,215,207,231, 59, 59,219,243,109,201, 57,229, 60,155,205, 49,  9, 33,206,102, 93,151,187,
- 97, 24, 46, 47, 46,134,178,190, 24,171,219, 72,110, 34,209, 51, 37,  1, 73,146,120,234,145,162,199,238,206,206,209,197,250,230,
-206,204,220,176,125,108, 91,179,116,242,138,180,145,186, 57, 76,182, 23,188,118,180, 54,247,  0,182,185, 26,112,184, 33, 18,160,
- 18,101,  0,  2, 97,208,128, 54, 55,107,159,109,181,233,178, 11, 16,225,121,158, 94,125,227,213, 46,241,184, 41,148,120,177,213,
- 93,148,203,177, 32,149,113,247,198,110,120,  3, 84,160,150,209,170, 82,219,254,154,  5, 49, 98,251, 90, 66, 55,235,125,117,245,
-151,223,253,222,167, 63,253,249,183, 62,243,201,139,243,203, 59, 47,188,236, 86,218,211,  2,136,133, 59,183, 64, 68, 33,172,181,
-236,222,218,255,202,215,126,246, 79,254,221,255,190,181, 88,228,156,250,126,254,226, 11, 47, 60,125,250,236,254,  7, 31,204,102,
-139,155,119, 95,248,241,247,255,226,185,187, 47,143,235, 43, 33,226, 44, 13,111,108,181, 54,235,227,100,122, 84,215,170,121, 62,
- 99,166, 90,215,161,225,140, 48, 86, 98,  4,114,171, 26,213,180, 42,231,140,109,195, 28, 53,165, 29, 78,253,120,254, 76, 55, 27,
- 34,114,247,195,211, 51,243,152,119,233,242,234,162,140,195,211,211,139,139,229,234,108, 57, 84, 15, 64, 94, 46, 47,199,113,204,
-249,131, 62,119,221,  7,143,  5,  2, 48,  4,202,214,246,222,238,214,222,140,160, 79, 98, 97, 12, 39, 93, 39, 15,151,171, 71,207,
- 78,247,111,221, 14,117,  6,154, 44,230,200,225,136,  8,203,245,230,206,205,189,157,237,217,217,121, 57, 57, 63,187,123,235,230,
-111,127,251, 91,191,247,155,191, 57,223,217, 91, 13,155,208, 90,198, 90, 54,195,197,213,213,225,225,147,251,143, 14, 14,143, 79,
-150,155,245,114,189,121,244,248,233,114,189,252,214,215,191,250, 79,254,224,119,222,120,253,211, 79, 30,126,180, 28, 47,159,156,
- 28, 63,187,186, 24, 71, 37,247,227,123, 15, 95,123,110,191,235,187,112, 96, 78, 65,145, 36, 87,171,110,134, 64,136, 18, 64, 72,
- 41,  0,107, 41,237,219,154,128, 75,177,182,196, 67,196,106,198,136,128,232, 62, 65,247,  2,177,152, 39, 64, 74,108, 26, 94, 11,
- 11,187, 17, 35,  8,163,154, 33, 97,238, 82, 76,149,121,105,218,131,  8, 32,166,208, 42, 50, 11, 36,173, 10,238,128,236, 97, 77,
- 11,134,209, 50,231,192, 14,197, 93, 36,  5, 24, 18, 69, 91, 80,121,  4,  4, 17, 86,171, 89, 50,226,199,122,163, 96, 36, 15,107,
- 73, 52, 18,  1, 36, 66,200, 68, 49,153,206,130, 37, 69,184,107,109,174,204,128,104, 49, 33, 68, 76,194, 16,164,166, 97, 78,109,
- 80,133,100,234,136,200,137,220,204,140,194,189,105,155,136,200,204,144,128, 83,  2,143,  0,247,176,156,102, 13,148,220,120, 31,
-161,214,254,226, 28,172, 81, 39,195,220,209,136,164, 81, 41,  1,160,203, 57, 92, 77, 43,  0,112,227,106,  4,168,161,176,  4,161,
- 59, 32, 57, 70,251,217,  0,  8,219, 16, 99,226, 25,168, 82, 91, 48,154, 65,162,156, 19, 49,169, 42, 34, 72, 74,128, 16, 85, 53,
-130,137, 63,214,117, 70,  0,132, 83,151,201,195, 45,188, 22, 64, 48,  0, 17, 65,156,222,172, 16,232, 86, 16, 33,  9,  3, 35,128,
-154,129,228,228,181,182,222, 90,179, 84, 71,168, 41, 12,235,205,206,206, 28,136,155,246,190,129,101,205,161,186, 97, 43,102,122,
-  4, 56,  1,  9,139,187,186, 59, 18,117, 93,246,170, 85, 45,170, 66, 22,143, 64, 22, 36,119,119, 78,226,106,215, 22, 38,182, 82,
- 72, 18, 64,154,196,209,  0, 72,216,198,170,109,154, 10,230,230, 83,255,174,150,129,137, 81, 18, 52,129,181,131,100,  6,193,106,
- 74,216,186,244,198,141,232,145, 89, 32, 90,191,184, 97, 35, 39,149, 93,  0, 16, 55, 38, 41, 50,160,123, 12,155,245, 56, 34, 51,
-191,244,194,139, 47,191,252,178,149, 58,214,122,185,188,122,252,228,240,222,131,199, 31,222,255,240,157,247,116,103,107,251,206,
-237,155,183,247,110,108,109,111,221,216,219,221,221,221,159, 47,182, 23, 91,187,243,237,173,190,235,171,142, 14,150,102,249,134,
-220, 80,157,107, 51, 23,140,101, 28,135, 85,173,161,234,235, 26,166,130,206, 76,139,153,206,146, 92, 93, 94,192, 75, 55,187,196,
-222, 90,179,166,128,224,244,255,115,103, 67,203, 89, 57,  4,  5, 70,251, 72, 53, 97,103, 88,  0,122,152,145, 72, 75,212,  0, 50,
-184,181, 69,111,139,243, 52,116, 42, 10,121,131,191, 19,  6, 64,206, 25, 49,180, 86,108,188, 10,211,221, 27, 59,231,103,231,203,
-139,186,127,247, 57, 34, 78, 76,225, 96,166, 77, 65, 99,170,102, 99,238, 59, 70, 30,215,155, 60,159, 11,243,241,225,193,159,191,
-243,254, 63,250,131,191,123,124,248,228,246,167,222,252,216, 87,235,227,128,130, 22, 53,204, 56, 11, 10,133,177,187,126,241,171,
- 95,255,193,119,255,114,117,117,177,179,179,187,189,179,219,160,158,143,158, 60,189,115,243,254,141, 23, 63,201, 36,253,246,118,
- 45,235,205,122,185,197, 55, 90,125,105,106,  2,  3,165,173,173,112,133, 90,242, 44,179,112, 45,163,135, 77,145, 85, 66, 36,114,
- 51,175,213,106,109,178,152,230,220,212,170, 72,168,171, 11,168,107,  2,179,205,250,236, 98,121,190,222,188,180, 63,103,240,139,
-171,101, 41,117, 40,234,238,235,205,122, 44,155,253,157,253,190,239,198, 90,170, 57,150,178, 30, 70, 11, 55, 83, 70,196,179, 21,
-211,179, 81, 71,114,220,217,158,119,210,213,186, 73,156, 66,100,189, 90,237,236,237,113,224,184, 30, 55,101,221,229, 57,241,170,
-140,163,131,175, 86,155,139,245, 82,178,124,243,203, 95,255,245, 95,253,246,167, 94,253, 84, 32,173,214,203,178, 89,175,150,203,
-243,211,147,229,106,245,224,201,163, 15, 31, 60,185,184,186, 28, 85, 79,207,206, 31, 60, 57,248,220,203, 47,255,195,223,249,199,
- 63,255,245,159,  6,175,167, 87,167, 31, 61,123,184,152,245,119, 95,121,233,199, 63,120,119, 60, 95,110,207,186,221, 69,215, 82,
- 98, 41,229, 73, 64, 44,109,188, 77,205,232, 38,146,212,172,225, 94,  5, 81,205, 21,221,193,  1,200, 44, 48, 65,151, 72,181, 77,
- 97,128, 36,143, 99, 33,114, 97,108, 53, 91, 33,242,128,  8,231, 46,145, 69, 45,222,205, 16, 35,128,  5, 29,136, 34,220, 34, 64,
-114,106,246,177,212,119,166, 58,225,199,144,152, 24,  3, 61,204,219, 99, 17,128,136,172,  5, 35, 29, 16,209,109, 66, 86, 33,120,
- 85, 35, 71, 17,153,212,193, 24,102, 14,132,238,134,136, 30, 17,224,140,210,192, 80,118,189,143,108,199,160, 54,196,  3, 68,  7,
-100, 22, 64, 96, 78, 17,230,230, 30, 22,  1, 36,140, 17,136, 17,  4,196, 28, 22,174,214,224, 78,204,137,137, 17, 67,205, 89, 24,
-  1, 61,188, 53,182,144,219,253, 47,  8, 17,  5,205, 60,245, 73,213, 16,177,239,250, 82,149,164,253,166,212,166, 31,196,130,142,
- 90, 10,113, 16, 49, 64, 48,114, 49,  3,  0, 73,140, 66,  0,200,102, 22,232, 22,204,212,242, 69,209,214, 27,173, 69, 15,228, 17,
- 44,220,254,230,171, 57,121,211,218,229,112,141,136, 36, 18,234,225,222, 72,136, 44, 66,136, 22, 14, 22,225,218, 36,165, 45,150,
- 29, 17, 76,  4,130, 90, 21,192,152,164,173,208,107,177, 89,159,152,195,106,109,213,178, 78,196,205,212,205, 35,170,  6, 49,205,
-231, 91,129,228, 90,  3, 81,136, 85, 77,213,136,200, 32, 56,204, 29,  4, 25,168,177,145, 49, 33, 50, 75, 85,115, 15,130,144, 46,
- 71,  4,185,223,253,212, 11, 44,242,240,135,239, 34,112,238, 58,173, 58,234, 72,225,148, 90,118, 66,152,167, 32,141,183,215, 72,
-147,208,133, 99, 98, 17,114,211,  8,109, 92, 68, 11, 71, 69,102, 82,139, 58, 22,172,200,125, 70, 72, 24,  5, 52,144, 73, 82, 39,
-162,  2, 24,  0,196,137,221,212,194,  1, 26, 77,173, 13, 58, 40, 38,216, 98,  4, 33, 96, 20,173,  4,  8,166,132,152,152,111,238,
-221,184,181,191,255,246,151,127,202, 34, 78, 14, 15,254,226,175,127,244,193,131, 71,239,254,228, 39,187,219,187,119,239,220,190,
-125,243,230,173,253,253,155,251,183,182,182,182,155,116,116,179, 90,113,151,152, 18, 19,139,116,121, 54,227,109, 42,195,198, 27,
- 10, 24, 92,213,203,184, 41,165,174, 52,134,  0,173,254,215,239, 61,125,233,185, 61,230,152,117, 73,136, 82, 78,213, 44,212,112,
-194,151,  5,160,180, 91,103, 76,246, 85,  0,128,152,100,193, 48,177,114,218,246,164,148,134, 90, 68, 73,237,118,118,109,118, 37,
- 98,135, 41, 47,143,109,141,127,253,  6,112,  8, 15,192,253,219,123,103,112, 57, 44, 87, 55,238, 62, 79, 93,167,181,216,122, 21,
-  1,198,  2,225, 41,247,  2, 94, 86, 35, 64,128, 43,172, 87,255,199,127,248,179, 55, 94,251,244,110, 39,105,107, 39,207,231, 54,
-142, 32, 30,  1,216, 24,123,213,165,203,212,117, 94,171,107,  9,151,188,216,250,185,111,254,242,191,253,223,254,101, 68, 44,102,
- 51,130,  4, 30,199,199,103,207,142,207,186,174,191,115,231,238,102,121,190,127,247,197,243,103, 79,106, 29, 83,154, 11,161,  7,
- 33, 88,  4,116, 41,187, 69,235,  5,149,205,224, 30,  1,132,196,174,163,164,  4, 16,182, 41,170,149,187,121, 68,227, 55,145, 87,
- 29,139, 42,  0,155,233,234,170, 92,157, 46,175,174,142, 47, 47,239,238,228,203,205,112,112, 49, 46,178, 97,132,154, 69,200,214,
-108,203, 93, 75,217,172,198, 13, 98,131,154, 49,162, 33,128,180, 96,  9,162,170,  9, 97,215, 45, 82,234,  0,184,  4,123,  4,  3,
- 28, 28, 31,207, 22,243,234,113,113,177, 52,119, 89,208,238,214,214,145,214,176, 56,190,188,204,  2,255,229,223,251,206, 79,191,
-253,211,105, 62, 27,198,106, 58,142,195,112,121,126,126,177,188,124,118,116,244,209,227,199,143, 15,159,142, 69, 55,227,240,228,
-240,217,249,229,229,175,125,253,237,255,246,191,250, 39,139,197,236,248,209,  3,185,177,251,222, 79,126,116,254,244,216,144, 30,
-221,127,188, 55,239,110,238, 47,192,  9,130, 57,152, 56, 85,179,148,216, 53,170,142,  0, 48,155,247,195,166,  8,167,174, 79,227,
-168,140,  2,204, 69, 45, 34, 28, 12,129,137, 33, 12,192,124,163, 38,137, 19,209, 88,172,216, 64, 76,137,147,155, 87,173, 41,139,
-185, 49,145, 16,153,  6, 32,228, 76, 86,148, 37, 97, 43,103,134, 91, 53,164,112,165,  6, 38, 27,139, 50,177,224,199,210, 75, 10,
-159,218,249, 85, 61, 53,159, 42,130, 16,170,151,143,101,146,197,172, 99, 70, 48,206,220,112, 20,141, 61,197,  8, 78,  1,  6,238,
- 70, 36, 30,212,102,192,230,129,196, 44,201,106,153,200, 99,209, 20,217, 72,211,225,130, 81, 48,106,212,170, 57,119, 36, 92, 75,
-117,117,206,210,  4, 74,142, 68, 64,  0, 42,196, 22, 54,106, 21, 78, 57,101, 11,131,118,117,  8,  8, 64,213,202,228,  0,168,224,
-  8,200, 34,106,174,170, 76, 12,204,185, 75,170, 10,140,140, 12,224,161,230, 17, 30,209,207,186, 82,107,132,181,242,203,117,180,
- 55,216, 80,193,155,218,  2, 34,204,195,195, 24, 73, 48,134,106,194,212,245, 93, 84,  5, 64, 48,168,161,  0,192,220,  0,159, 56,
-169,158, 60,180,170,  2,  8,177, 67, 16, 51, 18, 34,178, 87,115, 31,  1,  0,157, 89,196,205, 82,226, 82,109,226,  4, 64,  8, 73,
-245, 54,167,165,156,121, 24, 43,181, 59, 60,  1, 64,168,121,123, 46, 64,232, 82,199, 44,132,194, 76, 20,220,149, 82, 55,227,144,
- 82,146,196, 13,126, 40,189, 80,117, 11,143,106, 57,119,125,238,116,172,131, 22, 38,206, 89, 34,124,189, 30,137, 41, 16, 30,127,
-120,191, 23,161,148,193,221, 33,136, 69,196,220,  3,129,131,130,165,249, 91,  2,194,152,196, 28,204,106, 74, 12,152,195, 21,193,
-221, 13,153,194,216, 74, 77,137, 83,206, 36, 51,201,166,227,  8, 68, 86,181, 73,138, 56,103, 13,199, 90,221, 84,166,171, 74,139,
-163, 52,101,  7,  6, 77,171, 18, 14,155, 52,122, 13, 77, 76, 56,  5,162,130, 28,173,249,226,193,139, 51,209,243,159,120,229,239,
-127,254,243,155,171,213,193,193,225, 15,222,251,201,227, 39,135, 63,250,241,113, 55,155,221,190,181,127,235,198, 94,159,123, 17,
-  6, 15,206,156, 57,167,156, 89, 40,167,190,239,186, 82,  6,102,201,179,190,203,189,164,110,214,237,152, 27,  6,167,174, 95, 36,
-254,254, 59, 63,122,254,149,207, 93,156, 31,217,133, 74,194, 25,215, 89, 71,204,145, 48, 56, 17, 19, 35, 11,178,128,107, 27, 74,
- 67, 56,254,141,147,121,170,191, 94, 11,229,155,153, 47, 32, 28, 12,131, 63, 94, 80,125, 44, 99,253, 88,219,212,224,150,141,125,
-140,  8, 70,152,246,110,237,172, 46,175,250,113,191,  7, 53,117,236,102, 62, 86,  2,200,139, 45, 64, 40,171,149,169,230, 69, 15,
-227,248,195, 15, 63,248,241, 71, 79,255,187,127,250, 71, 96,155,173,219,207,  1,  0,205, 22,161,170,227, 70,114,135,129,146,152,
- 51,135, 86,175,  5,212, 33,131,151,241,179, 95,252,210, 79,126,252,131,251,239,191,187,183,187,183,115,163,159,197,226,230,173,
-155, 63,250,240,209,243,207,221,186,251,210, 43, 63,121,247,  7, 22, 88,199, 77, 23, 36, 93,103,193, 77,208,202,185,199,196, 81,
- 43,245,185, 86,211, 90, 19, 55,147, 67,112, 74,200,232,  6,152, 58,  2,  4,175, 36, 25,194,189,140,212, 39, 36, 28,151, 39,164,
- 21,213,204,244,100,181, 58,175,155, 71, 39,203,117, 81,  2, 90,143,165, 29,211,170,171,134,118, 73, 54,227,102, 24,107,223,145,
- 16, 71,  3,248, 55, 94, 76, 52, 37,189, 33, 73,128, 95, 46, 47,158,191,251,252,214,238,236,234,236, 18,  2,186, 46, 31, 62,125,
-186,187,189,131,204, 89,  4,  0,  5, 35,137, 96,192, 87,223,252,220,239,255,246,111,126,250,211,159,221, 84,173, 69,135,245,229,
-106,181,188,184,184,188,184,188,120,250,236,248,222,227,135, 71,167,103,165,214,179,243,203,131,163,227,151,239,220,250, 23,223,
-249, 59,191,250,183,127,225,106,121,249,244,209,209,209,201,209,201,  7, 63, 57, 61, 57, 73, 57,157, 61, 61,251,228,237, 61, 78,
-  2,208,160,193,164, 17, 96,202,196, 67,169, 18,  0, 44, 76, 36,192,214, 49, 33, 16,230,110,214,226, 28,181, 17,193,218,103,132,
-130,140,176,186,139, 16, 35, 13,165,122, 88, 34,  1,162,106, 21,  9,165, 19, 51,203, 57,187,195,104,158, 83,134,104, 49, 92,  2,
- 32, 68,114,112,195,  9, 54,233, 17,204, 20,128, 41,101, 68, 80,171, 44, 66,128,230,138,212,214,134, 72, 20,141, 92, 99,127, 19,
- 18,107,107, 94,  0,119, 72,148,187,220,254,  3, 70,  0,147,155, 25,128,  0, 19, 33, 80,134,128, 68,162, 81, 16,185, 37,193,234,
- 56,182, 23, 68, 76,104, 39,  4,112,102,102, 18, 96,172, 99, 37,  4, 97,246,176, 80, 64, 18, 20, 53, 83,240, 32, 97, 97, 70,162,
- 48,240,112, 68, 74, 66,136,164,174,205,233, 12,  0,106,218, 46,132,225, 78, 44, 45,243,230, 54,  5, 46, 25, 73, 93,175, 19, 58,
- 68,192, 36,162,234,222,132, 21,102, 56,121, 91,249,122,140,132,  0, 96, 97, 13, 14,234,224,129,  1, 26,125,238, 12,221,212,115,
-  6,  8,172, 85,115, 74,165, 20, 85, 37,102, 17, 17, 34, 64,172,230,140,  1,196,109,219, 44, 14,  0,209, 94, 27,181, 84,  4,243,
-176,246,107, 39, 12, 58, 73,173, 26,230,212, 40, 88,129,155,162,  2,152,103, 89,205,193,157, 24,193,129, 32,  2,168,170, 49,145,
- 79,216,  1,216, 44, 55, 55,118, 23,204,172,234,102, 42, 36,193,141,108, 10,204, 40,194,141,230,201,211,211,194,181,186,154,138,
- 16, 39, 52,117,119, 72, 45, 48, 30,193,129, 85,141, 19,154,  6,104, 32, 43,210,199,231,105,176, 97,240, 48, 96,102, 18,117, 35,
-164,217,124, 94, 84, 33,148, 16, 16, 73,186,121,181,130,228,169,239, 70, 51, 93,111, 94,253,210, 27,251,207,223,253,238,255,249,
- 39,104,158, 82,146,121, 86,  3,211, 74, 22,156,137,145,197,205,154, 34,163,197,173,166,181,245,  4, 48,177,214,161,104, 99, 65,
- 64, 68, 20, 36,112, 85, 50,196, 32,  2, 35, 36, 70, 52,192,113, 24,199, 77, 33,194,231,158,127,241,165, 79,188, 88,198,114,114,
-122,246,228,233,211,131,195,227, 15,239,223, 91, 94,173,  3,209,212,187, 62,101,233,182, 23,179,217,172,159,117,185,207,157,122,
-205,185,155,117, 93,223,245, 41,231,197, 98,171,235,103, 41,165, 78,251,217,238,238,130,134,177,172,238, 62,119,171,150,106, 14,
-238, 49, 88,213,162,168, 22,232, 68,214,201,152,197, 18, 55,236,160,119, 89,  8,208,153,  1, 40, 76,161, 21, 51,176,237, 92, 38,
- 67,247, 20,218,105,101, 22, 71,196,  6,135,167,201, 57,213, 76,197,209,118, 85, 19, 92,222,221, 24,169,159,243,229,197,129,205,
-110,246, 89,154, 13, 12,137, 16, 65,199, 82,135, 65, 50,187,169,149,242,239,255,236, 47,127,235, 91,191,216, 17,224,214, 45,206,
-226,225, 28, 97, 22,156,178, 71, 32, 17,162, 51, 83,217, 12,  0,212,204, 39,110,  6,179,217, 55,190,249, 43,  7,143, 31,157,157,
-156,230,174,239,230,243,253, 91,183,206, 79, 47,222,187,247,168,159,239, 60,247,194,107,227,250, 18,115,223, 37,169,195,166,159,
-111,181,197, 95,238,103,  4,224,141,139, 82, 53,207,250,178, 92,153,123,202, 61, 37,  2,199,240,226,174,141, 35,  1, 86,  0,133,
-187,158,136,234,234, 98,214,239,102, 44,207, 30,189,255, 31,255,234, 47, 78,158, 29,212,193,138,122, 22, 54,243, 82,170,105,117,
-247,205,102, 19,225,170,176, 90,109,152, 37,161,  8,178,130, 93, 51,223,  8, 16, 24,201, 92,203, 88, 35,135, 87,187,188, 90,222,
-220,221,229, 46,103,150,243,213, 57,114, 90,173,214, 59, 91, 11, 34,  4,132,243,139,139, 79,220,189,253,171,191,248,139, 63,247,
- 51, 63,179,216,219, 91, 13,213,117, 28, 87,171,211,211,243,147,211,163,163,163,163, 71,135, 79, 15,158, 29, 45,203,102,121,181,
- 57,124,118, 60, 79,244,143,127,227, 91,191,253,173,111, 62,119,247,206,106,220, 60, 62,124,188, 90,173,118,110,239,159,141,171,
-139,139,203,253,173,173,231,111,237,153, 55,224, 31,179,164,218,194, 15, 76,132,204, 64, 44, 20,  4,110,128, 14, 73,  4,  9,153,
-209,180,  9,104,168, 61,203,  8, 41,154,166,163,217,219, 61, 70,173,  0,144, 56,199, 52,183, 67, 83,167, 36, 76,185,157,236, 82,
-146, 70,142, 35,230,182,229, 84, 53, 22,102,108,230, 58,108, 19,237,118,132,  6,130, 76,217,220, 45, 76,136, 13,128,147, 68, 56,
-  5, 34,195, 68, 41, 17, 66,164, 90,148, 17,176,237, 75,173, 81,158, 16, 61,220,131,124,194, 44,169, 25,  3, 52,137,143,161, 17,
-  9, 37, 10,245,136, 72,179,236, 30,109,211,192, 16,  0, 65,169, 39,183,106, 21, 42,  0,227,244, 46,158,  2,141, 14, 24, 66, 12,
- 12, 48,181,187,201, 16,174,191, 21,220, 82, 12,204, 84,171,182, 71,124,219,115,181, 71,252,116, 36, 34, 36, 76,230, 90, 93, 17,
-152,  5, 29,137, 17,181, 22,119,134,107,211,189, 55, 43, 20, 77,197,174,230, 75, 79, 36,214, 96,133, 62,153, 70,130,162,122,243,
-170, 71,132, 55, 56,173,181,249,123,226,150, 43, 47,238,204,200, 44,225, 26, 30, 72,228, 30,204, 65,204,230,129,225, 34,132, 72,
- 32, 93,216,  4, 67,199,160,  8, 35,188, 14, 81, 67, 16, 96, 43,231,171,218,  4,190, 13,115, 12, 11, 68,247,182,150, 99, 70,  0,
- 58,187,220, 36,162,174,235,181,106,132, 39,102,107,  2,222, 52,213, 43,193, 45, 48, 35, 55,234, 57,185, 59, 51, 19,246,238, 21,
- 12, 24,  9,201,205,129, 24,219, 93,  6, 17,189,  6, 17, 71,139,224,178, 56,152,150, 98,126,157,141,  5, 12,128, 78, 56, 64,204,
-125, 98, 73,133, 99,132,129, 17,146, 19,142,170, 30,150, 83,122,246,225,253,147, 71,  7,204,137, 48,132,217,204,175,129,140, 81,
-138, 85,171,210,106,205, 96,147, 37, 21,131,  3,204,189, 73,174, 48,194, 90, 83, 20,185,201,117, 35, 12,208,104,226, 97, 92,179,
- 80, 16,  3, 40,181,183,229,122, 40,232,  6,164,219,187,219,111,238,111,127,254, 51,111, 12,155,245,147,195,103,239,221,187,255,
-224,225,225, 48,212,141,175, 62,252,232, 98, 61,214, 89,215,245,179,217, 98,150,183,183,118,102, 93,154,167,196, 73,102, 57,179,
-200,172,203,125,215,109,237,236, 16,203,131,119,255, 58, 94,126, 49, 73,215,205,103,125,206, 44, 11,230,228, 78, 85,199, 90,134,
-106,174, 21,116,212, 50,174,136,160, 23, 22,162,190,163,204,152, 36,229, 89,110, 86, 39,243,104,167,120,192, 73,224,228,102,225,
- 64,130, 72, 50, 65,239,133,145, 57, 84,167,  5, 45, 18,181,249, 76, 64,  0, 26,  4, 49, 39,176,229,234, 36, 98,191,159,205, 16,
-212,172,184,226,230,236, 24,137,136, 18,154,191,247,193,  7, 55,111,221,253,220,171, 47, 14, 14, 55,118,118,128,201,203,104,170,
-224,150,182,182,235,122,128,  0, 72,172,197,  0,197,235,200, 93, 10, 85,202, 89,199,113,190,187,255, 51,223,248,246,255,245,239,
-254,245,238,122, 57,159,207,103,179,249,157, 59,183, 14,158, 28, 92, 92, 94,221,217,190,177,253,226, 75,239,191,243,215, 71, 79,
- 55,251, 55,246,187,217, 28,145,180, 90,238,103,237, 66, 85,215, 99, 16, 67,128, 90,149,214, 19,170, 21,101, 22, 86,180, 42, 17,
-  7,102,  4,197, 40, 72, 93,  0,  2,240,162,199,135,247,238, 95, 46, 55,159,124,229,141,123,239,126,240,222,211,243,170,214,119,
-226,230,227,160,  0, 10,129,163, 21,115,219, 84,115,143,174, 99, 34,116,240, 54,144,253,216,110,232,104,238, 86, 74, 73,153, 34,
-193,106,179,218,219,217,186,177,179,253,209,227,199,165,150, 27,219,249,114,189, 82,173, 93, 78, 26,240,183,190,250,149, 95,255,
-149, 95,185,251,226,203,152,186, 81,171,151,241,242,226,228,217,211,195,139,243,139,123, 15, 31, 63, 60, 60,184, 92,175,199,205,
-120,124,113,126,122,118,246, 51,111,126,230,159,254,189,191,243,250,235,159,124,250,248,241,179,243,227,167,199, 71, 79, 15,159,
- 84,139, 15, 31, 63, 30,206, 47, 94,220,219, 19,193,106, 77,248,206,  0, 68,204,110,181,170, 39,136, 32,112,140,106, 53,129, 68,
-132, 54,112,138, 75,245,170,225,137,184,250,164,225,109,219,251,  8, 48,247, 54,232, 22, 70,117, 84,183, 44,211,  5,128,169, 57,
-150,188,201,225,  3,192, 28, 16,155,100,110,202,103, 77, 12,  3,139, 32, 38, 33, 55,  3,  8, 73,115,196,104,143, 72,  4,170,102,
-109,215, 76, 68, 78, 17,134,102,202, 60, 53, 21, 25,  9, 66,193,129,137,107,107,101, 67,106,228, 27,245, 32,188, 14, 77,185, 59,
- 64,187,219,  3, 66,115,206, 51,160,153,133,134, 36, 49, 15,102, 10,247,208, 82,219,232,156,201,195,195, 20, 49,  1, 98, 68, 37,
-226,148,146,106,128,187,187, 19,146,187,182,200, 60,132, 53, 37,125, 68, 12,155,145,136,152,209, 17,213,131,176,229,183,128,112,
-162,152,149, 82,163,245,210,133, 60, 90, 35,131,186,249,124,216, 12,224, 70, 41,133,163,187,195,228, 93,165,192,105,117,105,208,
- 42,160, 22,166, 36, 82,170,  9, 11,145,149, 98, 45,224,  4, 68,165, 20,170, 53,119, 51, 51, 43,181, 50, 33, 96,104, 13, 78,216,
- 18,  1, 34,  9,204, 93,139,214, 98,  0, 34, 12,225,192,142,206,204, 98, 94, 85, 75,151,122,132,164,132,101,181, 38,  7,234, 51,
- 24, 88, 53,184,174,  9,198,181, 56, 98,146,133, 97,  3,253,  7, 37, 89,111, 54,115,145,246, 65, 87, 32,119,240,240,148,147,131,
-123,141,128,202,146,137,160, 86, 15, 83,226,132,129, 97, 17,160,156,196,171,171,150,148, 83,206, 84,213,109,116, 64,151,148, 32,
- 72, 18, 15, 67,105,153, 34, 51, 15,  3, 17,142,166, 42,236,147,105,140,234, 18, 35,176,180,224,110,235,233,168,106, 78,  2,196,
- 18,225,142, 26,161,171, 85,167, 58,159,207,198, 90,212, 13,192, 17,217, 61, 26,124,  8, 34,164,189,  1, 39,215, 40,178,123,193,
- 86,160,107,166,211,  9, 86,196,205,116,  2,222,198, 53, 96, 30, 19,103,191,185, 82,153,  3, 12,145, 29,140,  9,131, 32, 28,195,
- 77, 29,  2, 48,119,253, 27,111,124,234,173,207,125, 54,220,  3, 57, 76,135, 58, 46, 47,175,142,143,143,190,247,195,247, 78,175,
-150, 23, 39, 71, 79,170,  5, 98, 22,206, 41,111,117,253,108,158,179,164, 62,119, 66, 56,142,155,163,147,227,121,223,205,250,249,
-246,246,214, 98, 62,159, 47,102,210,207,102,253, 98,222,207, 89,208,157,220,221,108,199,221,135, 97,181, 44,195,229,102, 84,117,
-198, 16,194,157,237,217,172, 75,179,140,132, 70,200,222, 18,148,238, 83,234,217, 20,  1,130, 82, 32,176, 65, 52, 35,253,132, 44,
-110, 41, 57, 71,247,  0, 22,  9, 67, 68,230, 14, 99,189, 60,170,101, 49,223,218,235,250,206, 76, 65,136,220, 49, 32,172,188,123,
-239,241,219, 95,120,243,114,185,185,243,202, 93,226, 20,227,136,220,185, 22, 78,104,195,  8, 30,196,136, 68,225,238,101,131,146,
- 17,  9,  4, 56,165,178, 94, 91,209,207,127,233,203,239,191,251,206,213,197,233,214,246,216,205,230,139,237, 45, 73,114,112,248,
-108,190,152,229,249,203,187, 55,247, 22,139,237,237,221,221,243,147,227,189,253, 91, 64,212,205,183,136,185,140, 67, 25,171,100,
-168,234,169,155, 33,167,105,156,105,106, 70, 34,105, 42, 10,184, 55,145, 91,148,186, 89,158,253,248,135,127,101, 21,119, 16, 25,
-203,170,216, 70, 21, 32,220,161,186,  5, 86, 51, 47,174,153,114,241,113, 84,117, 12,166, 41,157,221,216, 62, 68,204,141,182, 31,
- 24, 17,163,105, 42,214,247,157, 99,156,158,159,119, 41, 45,151,203,220,117,  0,112, 99,103, 71,181,222,220,223,255,173, 95,254,
-230,207,253,220, 47,240,108,238,  0, 97,186, 57, 63, 59, 57, 61,122,250,228,201,211,227,147,135,  7,  7,  7,199, 39, 67, 45, 23,
- 23,151,231,231,231, 59,139,197, 63,251,221,223,248,253,223,252,118, 32, 28, 30, 60, 57, 56, 61, 26, 30,172, 14,143, 78,210, 44,
- 63,248,240,225,237,237,173,231,246,246,192,221,108,250, 54, 34, 16, 35, 19,165, 46, 49, 98,193,169,160,131,  0, 82, 91,253,199,
-117, 44, 35, 56,244,253, 44,115,170,230,204, 18,211,194, 61, 40,144, 17, 71, 83,102, 38,160,  0, 76, 66,194,108, 26,216, 86, 67,
- 13,161,139,220, 24, 16,173, 62,223,110,  0,146,164,117,112,154, 20, 87,178, 32,224, 88,106, 27, 37,184,106, 32,182,200,180, 70,
- 13, 15, 72,132, 68,225,225,225, 16,134,132,192,152, 92, 12, 12, 99,106,194,  4, 64, 22,102,148, 82, 11,114,195,156,  1,130,121,
- 40, 33,  7, 53,250,  6,  6,122,155,195,153,182, 80, 21,166, 44, 14,144,132,221,181, 29,140, 91,162,188,233, 67, 72, 90, 39,222,
- 26,245, 37,  0, 73,  2, 49,225, 88,218,253,195, 60,  8,  0, 89, 88,146,169,181, 82, 28, 65,195,247, 33, 51,133, 53,247, 20, 96,
-128,  7,148, 65, 69, 24,144, 17,130,136, 75, 25,  0,128, 40,141, 99,  1,  7, 32, 49,117, 66, 64, 32,202,130, 13,115, 73,140, 12,
-161,225, 16,  2, 76,194, 14,174,102, 89,208, 35,188, 56,  2, 36,145,170,166,101,204, 57, 35,164,198, 16,224,166,232,113, 64, 66,
-119, 13, 39, 73,201, 76,213,140, 34,152,137, 48,170, 27, 19, 51,  9, 18,152, 25,  6, 18,177,185,107, 85,194,232,186,206, 74, 13,
-179,  6, 49, 33,132,182,137,109,150, 56, 15, 96, 12, 32,  8, 70, 14, 68,228,203,229,154,195,183,119, 23,215, 77,120, 16,102,180,
-134,197, 53, 66, 68, 76,102,166,106, 72,148, 82, 86,179, 90, 53,119,137,185,115, 83, 34,234,251, 92,171,154, 83,  0,230, 46, 69,
-132,171,135,107, 13, 77, 89,180,170,106, 77,157,184,116,227,102,157,147, 80, 78,110,193,196,104, 17, 68,156, 68,171,130,143,129,
- 40,148, 33,193, 20,192,207,157, 14,163,160,  2, 50,  4, 14,227, 38, 39, 49,160, 82,107, 67,236,182,119,219, 84,234,111, 76,178,
-  8,244, 80, 36,142,104, 81,241,143, 81,162,237, 78, 51,205,178,221,162, 21,219, 62, 38,179, 83,187,255, 56,  6,  6,181, 41,  7,
-196,199, 35,240,118, 29, 44, 99, 25,198,145,129, 26, 79, 66,132,110,220,216,221,223,223,121,235,243,159, 65,176, 50,148,171, 97,
-125,120,120,242,236,244,226,252,226,242,240,232,228,248,244, 92,181,  6,130,112,218,157,247,171,177,228,148, 37,165,124, 44,125,
-150,148,187, 89,151,186,148,103, 93, 63,219, 90,204,230,219,253,172,203, 93,223,119,139,174,223,245,216, 13, 51, 85, 53, 11,143,
- 40,238,151, 23, 25,107,255,230,  0,  0, 32,  0, 73, 68, 65, 84,235,112,152,207,122, 17, 12, 43,137,128, 25, 82,226, 94, 88,184,
- 25,198, 61,130, 28,167, 22,212,181, 70, 22,154,  6,204,189, 48,160,218,132,  7,  0,198, 52,163,113,189, 33,148,212,221,112,213,
-148, 82,  0,131,218,189,143,238, 45,230,253,173,189,197,246,173, 59,105, 62,  7, 17,164,100,165, 82, 74,144,210,184, 90,167,220,
- 97, 74,156,164, 14, 35,114, 70, 98,136, 32,194,178, 25,188, 70,203, 77,127,237,231,255,214,191,250, 95,254,167,229,229,130, 18,
-111,237,236,221,189,243,220,193,179,131, 23, 63,241,252,234,244,164,172,203,122,189,186,121,247,  5, 61, 57, 25, 55,107, 11, 42,
- 67, 89,159,157,215,106, 34,220,184,193,  4, 16, 90, 36, 37,141,208,205,134, 82, 15, 94,194, 13,133, 49,205,114,215, 93,158, 28,
- 63,185,255,254,179,167,143, 23,243,125,177,234,101, 73,220, 35,120, 81, 15, 12,136,112,179,240, 64,104, 14, 69,116,135, 22, 28,
-238,114, 98,100, 96, 50,171,146,154, 65, 11,168,197,177,  1,  8,112, 24, 71,102, 22,128,171,186,188, 66,156,205,230,  0,241,236,
-236,236,115,159,122,237,237, 47,124,245,151,190,241, 11,159,124,237,117,163,100, 54,134,198,197,217,179,131,199, 15, 31, 61, 58,
- 56, 56, 58,122,122,124,114,122,121,185, 92,175,199, 81,109, 44,223,254,218,219,223,249,173, 95,121,241,249,187,195, 88, 87,117,
-248,224,131,247,247,238,222,174,225,167,239,157, 47,150,242,202,205,125,105,232, 11,194, 86,192, 17, 74, 13, 60,224, 26, 10, 78,
- 36, 64,228, 96, 24, 24,220, 18,216, 82,134,181, 22,  3, 68,143, 48,  8, 17, 70,  4, 15, 16,100, 70,182, 90,129,154,103,206,221,
- 61,101, 97, 68, 53, 39, 33, 12,244,107,254,  9, 51, 58,128, 32,153,155, 27, 50,147, 19,170, 71,206,185, 33, 98,137,185,105, 13,
-114,146,201, 72,  5,209, 52,210,214, 72,176,109, 72, 82,221, 39, 85,142,184,153, 86, 99, 97,112, 36,226,214,137, 71, 32,140, 48,
-240,233, 75,216, 16, 49, 64,197,134, 32, 98,100, 87,179, 80, 73, 66, 76,165, 42,  5, 83, 66,132,  4,224,109,230, 12, 96,  8,196,
- 76,238,142,209, 54,120,237,156,142,204, 18,209, 98, 21, 20, 17,166,138,137,200,128, 16,145,153,137,204,162, 12, 35, 49, 79, 46,
-157, 22,222,185,110, 94,129, 59, 16, 14,181,164,212,181,153, 27, 33, 90,173, 67, 93,155, 42, 33, 72,158, 17, 51, 37,193, 70,  0,
- 48, 11, 50,175, 13, 84,147, 34, 44,156, 60,188, 75, 98,  6, 97, 78, 72, 22,211,228,146,178,160,123, 41,198,137,115, 98,  0,244,
-170,  8, 78,204,208,134, 57, 56, 89,223, 48,192, 26,141,139,217,145,106, 45,204,156, 57, 33,161,153,114, 16,139,  0,128, 14, 21,
- 40, 48,156, 89,212,204, 28,220,140,153,132, 57,166,  5,  0,  2,146,144, 24,155,155,182,106, 59, 16, 68,120, 41, 99, 47,210,117,
- 61, 64,152,  7, 58, 88, 11,110, 16, 10,139,187,181, 31,  0,129, 48,160,  1, 22, 82, 74, 17, 24,224,196,130, 68,117,179,113, 83,
- 78, 89,114, 66,226,113, 24,204,172,205,  0,173, 40, 97,112,226,118,214,236,114,215,208, 81,215,198, 62,  2,198,112, 39,  2, 15,
-209, 90,131, 11, 79,241, 43,116, 15, 97, 54,173,136,129,170,156, 68,181,213,196, 82,139, 78, 85,173, 29, 65, 97, 17,130,214, 22,
-139,169,218,241,177, 30,152, 40,188,101,196,195,213,154, 86,187,221,194, 38,156,192,  4, 13,  8, 98,104,191,112, 98, 53, 18, 48,
- 50,  4,123, 40,  2,187,  7,128, 35, 49,  3, 64, 40, 32, 66,123,128,128,121,216, 48, 20, 66, 19,162, 89,158,189,241,234, 43,159,
-249,116, 91,236, 66, 25,235,249,249,229,197,102, 56, 60,124,246,224,241,225,227,167, 71,167,151,151,106,216, 47,250,237,126,107,
-123, 62,159,207,114,159, 59,102,234,152,152,168, 95,244,125,223,117,121,182,189,216,158,109,109,207,231, 91,125,223,247,179,185,
- 16,115, 18,139, 40,163,166, 46, 53,102,225,122, 53,152,149,171,227,115, 45,101, 62, 75, 59,139,188,191,183,221, 37, 16, 70,141,
-  9,125,128, 72, 16,166, 78, 28, 17,132, 16, 35, 42, 32, 39,104, 58, 70, 70,236, 97,121,117, 76,132, 93,151,114,191, 85,174,206,
- 93,228,207,190,247,238, 55,127,246,103,182,111,220,204, 59,123, 33, 25,128,192,194,202,166,223,222, 25, 55,  3, 69,147,220,170,
- 22,119,175, 24,228, 85, 49,139, 90,104, 81, 18, 36,194,178, 90,191,240,234,167,190,240,246,207,254,224, 47,254,239,249,246, 86,
- 63,203,251,183,111, 62, 59,125,118,255,222,163, 47,191,181,181,152,111,237,222,188,245,244,224,209,214,238,246,242,236,100,231,
-206, 75, 59, 55,111,214,161, 48,  1, 37,177,162,  0, 10,200,224,170,197, 28,136, 68,194, 43, 54,208,156,136, 16,124,244,238, 59,
-199,135,135,175,125,234, 21, 27,223, 56,125,252,120, 24,150, 17,136,117,125,181,190, 42,102,215, 61,130,  9, 22,225,230, 99, 25,
-138, 86, 51,219,154,207, 61, 28, 16,178, 99,107,140, 35, 11, 16, 16,178,215, 86, 24, 68,119, 28,107,205,243, 89,146,100,102, 24,
- 80,212,190,240,153, 55,254,225,127,246, 59,111,126,254,243,221, 98, 39,136,107, 29,202,106,117,118,116,120,255,193,131,135,  7,
- 79, 30, 29, 62,187, 88,174, 86,195,176, 90, 46, 33,240,237,207,124,250,215,126,246, 75,111,190,249,198,250,106,121,116,114,178,
-  1,248,240,189,247, 46, 78, 47,142, 87,171,147, 39, 79,159,219,223,235,152, 93,109, 26,255,122,  0, 50,139, 96, 80, 68, 20,173,
-  8,211,135, 19,  3,204,156, 25, 93,  1, 16,205,180,207,125,207,169,132, 11, 50, 49,183, 19, 75, 47, 93,209,106,181,  0, 17, 19,
-186,169, 19,145,135, 85,167, 68, 41,139,153, 55, 17,176,135, 17, 73,  0, 36, 73,110, 86,218,  7,153, 48,209,245, 97,188,121,  7,
- 33,  2,167,232,222, 20, 24,  7,132,112, 36,208, 58,108,134, 53, 32, 39, 73,125,215,183,205,143,153, 49,161,  3, 20, 45, 13,249,
-141, 68, 24,206, 68,197, 10,179, 16, 32,162, 48,179,106,117, 12,225,222,221, 61, 52,218,232,223,221, 16,174,141,135, 17, 97, 22,
- 78, 72, 24, 40,210, 77, 88,120,  0, 11,119, 45,192,200,148, 60, 90, 73, 10, 32,162,150, 66,140,204,226,110,204,200, 13,172,  8,
-160, 94,219,142,248,250,141,213,106, 84, 65,128,238,109,  0,129, 34, 76,224, 36, 18, 13, 53,156,187,132,208,204,124, 94,134,174,
-155, 55,140,160,176, 20, 51,215,104,114,146, 54,249, 71,114, 68, 28,203,200,212,161, 48,168,165,196,  8,  8, 44,101,179,105,164,
-  7,143, 64, 11,119,  5,224,214,164,101, 36,157, 90,  2,109,156,239, 22,152, 88,  0,145,  8, 82,223,115, 99, 58, 22,  3, 38,  7,
-135, 90,  1, 98, 54,159,215, 98, 21,198, 90, 70, 32,102, 65,102,177,234,109,129, 57, 73,158, 49, 28, 44, 44, 16,154, 19, 20,192,
- 99, 61,234,122,179,190,181,187, 75,132, 30, 33, 34,166, 30, 97,225, 33,196,197,172,154,181,183, 91,120, 56, 26,139, 16,203,132,
- 52,116,  7,  2, 83,165,196,146,179,169,130,105,  4,166,255,143,170, 55,255,181, 44,187,238,251,214,180,247, 57,119,120, 99, 77,
- 93,213,  3, 41, 81,205,110,146,205,169, 57,180,154,106,142,110,139,164, 24,138,162, 69, 89,142,100, 39,113,130, 68, 63, 40,113,
-126,136, 99, 56,131,127,200, 96,196,128,129,  0,137,101,196, 64,128, 32,137, 17, 40, 30,228,196,146,160, 72,150,100, 18,154, 76,
- 89, 18, 69, 50,221,108,246, 80, 93,115,215,171,122, 85,111,126,247,222,179,247, 94,107,229,135,117, 94,219,249,  3,216,120,172,
-123,239, 57,123,175,245,253,126, 62,194,166, 90, 90, 21, 32, 32,  8, 96,142, 48, 35, 33, 16,120, 81,100,130,200,158,162, 67,188,
-199, 87,  6,  6,113,  5,215,112,144, 19, 64, 60,150, 60,105,107,128,  6,225,195, 66,196,120, 20,163, 39, 34, 51,  0, 48,  9,147,
- 55,180,184,118,225,191,226,169,  5, 15, 14, 12,254,127,  6, 37, 15,115,208,217,219,124,236,149,  2,134,249,136,  1,162,241,131,
-225,  1,137,179, 63, 33,  1, 26, 56,146,147,163,185,  2,  8,128,  3,  1, 33, 25,  0,155, 59,184,214,230, 96,170,234, 17,113,218,
-216,218,184,244,200,197,247,188,243,209, 82,219,213,155,119,207,111,175,239, 29,157, 92,191,126,251,218,221,221,197, 98,121,253,
-214,253,162,154, 88,166,253,164,159,116, 91,107,107,147,190, 35,132,212, 73, 79,185,235,186,181,249,188,159, 77,166,147,217,124,
-190,158, 39,179,174,159, 32,  1,186,117,179,217,124,115,189, 13,101, 62,155, 13,165, 28, 29, 31,237,236, 45,239,236, 28,228,204,
-147, 73,119,110,107, 99, 54,235,251,190, 19, 38,173, 48,118,161,221, 49, 22, 78,166,136,  0,144,209, 61,  9,205, 55,242,242,100,
-191,235,174,180, 97, 69, 76,223,250,246,119, 46,109,109, 94,185,116, 94,102,107, 36,226,117,  5,210,183, 82,211,108,189, 86,211,
-170,156,132, 69, 76,155,131, 33,101, 45,141,177,  1, 37, 91, 54,102, 38, 73, 72,238,230,110,237,  3, 31,123,254,213,151,190,125,
-124,112,192, 34,169,235, 47, 63,114,229,149,239,189,114,249,210,249, 71, 46, 93, 56,220,123,184,191,187,243,240,  1,111,109,172,
- 49,118, 96, 70, 96,121,214, 53, 29, 69,149, 64,236, 14, 90, 10,166, 14,221,180, 22,230,212, 79,167,135,251,123,111,126,255,165,
-245,245,205,143,188,240, 35, 66,244,230,119,191,107,117,104,234, 93,194,197,241,233,235,119,239,171, 54, 51,180, 81,164,110,102,
-190, 26,202,106, 85,106, 83,119, 95,174,150,165, 12,224, 16,177, 16, 10,193, 11, 35,  1, 10,162, 32, 16,132, 75,202, 76, 93, 50,
-129,195,164,151,175,190,240,103,126,226, 75, 63,118,238,226, 21, 96,  2,135, 97,181, 60, 57,220,187,115,251,198,205,155,183,111,
-222,189,119,127,119,239,164,172, 22,167,203,217,100, 58,221,220,254,204,  7,158,254,228,199,159,153,230,124,255,206,109,158, 77,
-111,188,126,253,218, 91,119,183,182,230,187, 15,247, 54, 82,126,116,251, 28,162,183,102, 77,  1,200, 73, 17,153,  3, 51,224,228,
-166,134, 70,213, 53, 51,194, 88,224, 96,112,112,215, 56,130, 50, 18,100,153,130, 83, 52, 65,221, 25, 65,173, 33, 66,234,178,187,
- 87, 53,225,204,  8,213,155, 16,  1, 82,107,134, 68, 68, 20, 47, 18, 32,  4,128,161,212,216, 70,154, 89,150,164,230, 68, 28, 33,
-196,240, 81, 26,152,106,  5,  7,  2, 28,161, 88,  0,109, 53,236,237,239, 29, 30, 29,112,146,205,249,166,155, 75, 74,238,200,204,
- 81, 49,  9,112, 63,140,232, 93, 90, 13,203,145,133,194,  9, 76,155, 85, 36, 38, 22,213,192,103,  9, 50,153, 26, 17,158,105, 26,
- 33, 64, 84,102, 74,132,113, 33,  7,112,140,105, 48, 56,146, 72, 22,109,154, 82, 98, 34, 53, 53, 87,116,118,  3, 11,126, 16, 66,
-124,236,142,144, 57,153,123,109,202,177, 31, 52, 83,176, 78,146, 54, 37,  4, 68, 49, 11,213,137,251, 24,144,119,107, 26, 42,183,
-148, 72, 68,128,130,201,131,230,202, 73, 24,140,145,171,170, 42, 48,177,122,  3, 71,194,108, 86,145,144,152,221,176, 14,133,  1,
-251,174,  3,162,214,170,171, 34, 51,163,212,166,224,141, 57,185, 67,206, 25,208,203,170, 33, 69, 78,  9,205, 12, 16,115,151,193,
-160,150, 98,110,209, 34,142, 89, 58, 98, 10,165,198, 89,118,159,227, 90, 15,166,196, 34,136,198, 60, 70,  7, 35,242,139,160,106,
-230,206,137,155,214,140,216,245,189,  3,130,147,170,154, 42,  0, 40,128,131, 17, 65,135,169,212,230,222,194,147,110,106,140, 28,
- 19,149,214,138, 72, 74, 41,171,186,106,213,166,  0,110,205, 67, 86,193, 72,230, 78,214,186,190,  3, 76,102, 86,107, 99,  9,130,
-177,131, 57, 36,108,101,160,209,103, 74, 73, 80,  1, 93, 91, 22,  9, 46, 38,168, 50,138, 90,137, 39,116, 91, 46,101,210,135,  7,
-201, 20,136,  0,192,153,153, 83, 22, 34,242,160, 29,163, 35, 51,170,198,198,213, 35, 69,237,128,168, 64, 50, 22,227,206,200, 96,
- 48, 30,230,199,123,227,216,199, 27, 69, 77,241, 21, 36, 11, 22,218,232,228,  8,225,  0,  2,208,216, 42, 32, 12, 98,234, 56,236,
- 30,255,231, 32, 60,110,234,205,252,244,116,  1, 20,232,127,153,206,230,231,206,111,191,251, 93,239,100,112, 55, 59, 56, 58, 60,
- 58, 89,220,187,247,112,103,239,224,214,237,123,111,222,190, 89,171,185,225,108,222,111,172,205,215, 38,147,245,181, 89,223, 77,
-250, 36, 34,210,245, 93, 63,233,167,179,233,180, 95,155,172,173,117,169,115, 67, 73,210,175,245,243,217,180, 22, 29, 86,171,213,
-106,177, 88,158,222,184,125,191,212,150,132,214,215,103,211, 73,222, 88,155,110,206,103, 41, 11,130,213,230,102,102,230, 64,198,
-136,134, 32,156,104, 29,142,142, 31,144,118, 94, 15,110,223,123,248,165,207,127, 33, 77, 59, 36, 68, 98, 36, 86,179,148, 19, 90,
- 27,142, 23,148, 24,220,218,234, 20,243,148,130, 23, 39,  6, 78,173,168,153, 75,  2,  4, 67, 36,100,172,165,204,187,244,220, 11,
-159,251,253,175,255,250,108,125,141, 37,159, 59,127,241,209,199, 79, 94,122,229,141,173,205,121, 34,124,230,195,207,189,117,235,
-218,124,115,  3,115, 79,148,112,194,206,226,195,106,100,102,129, 89, 27,212, 93, 28,181,150,190,235,140,233,245, 87, 94, 62,218,
-219,127,231,147,239,121,228,137, 71,221,218,226,225, 94, 18, 89,173, 86, 34, 80,181,253,157, 95,252,165,251,199,  5, 24, 24,209,
-212, 44,236,192,128,165,148,128,219, 33, 97, 83,115, 71,139,111, 80,236, 19,  7, 11, 67,227,116, 50, 69,  8, 34,  7, 10,225,106,
- 88, 54,211,231,223,255,204,159,251,210, 23, 62,252,236, 71,165,159,173, 86, 75, 47,165, 12,139,253,  7,247,110,223,185,113,253,
-246,221,183,238, 61,120,112,112,176, 26,202,173,157,123,173,212, 47,191,240,195,159,255,196, 71, 30,187,114,190,154,183,201,228,
-245,151, 95,185,252,196, 99,179, 11, 27,245,214,237,195,221,195,139,235,243, 89,238, 74,107, 49, 17, 74,137,  2, 22,237, 16,182,
-123,119, 51, 12,244, 16,158, 25,101,  8,131, 10, 22,  0, 81, 66, 34,134, 36,100, 65,170,162, 32,164, 55,119,103,230, 56,152,114,
-148, 47,145, 50, 71, 55, 44,222, 16,104,  6,103,222,106, 55,211, 40, 41, 81, 98, 34, 42,181,129,  3,139,140,218, 68,192,128,  4,
-128, 99,107,  5, 36,157,253, 88,188, 53,109,173,170,106, 51, 45,221,144,211, 36,119,152,114, 23, 55, 89, 36, 64, 34, 53, 71,  4,
- 34,104,106,204,201, 77,193,173, 89, 37,116,226,140,136,161,229,100, 17,143,205,109,151, 64,221,205,115,151,205,204,220,137, 37,
- 26,144,102, 22, 56,171,118,134, 71,117, 87, 80, 22, 22,119,211, 22,169,161,200, 70,251, 40,111,  8,150, 60, 24,130,  0, 26, 34,
-178, 48, 33, 40, 24,  9, 38, 75,181, 42,143, 16, 63,103, 10,175,111,212, 10, 13,194,139,102,102, 78, 41,139,131,131, 91,107, 45,
-229,140,132, 34,226,106,173,169,176,152,183,166, 70,148,204,154, 65,115,243, 72,101,  0, 96,158,116,209,237, 10, 63, 42, 34,134,
- 67,131,152,227,126, 70, 72,181,148,136,  0, 57,248, 80,171, 16, 83,234, 29,188, 14, 21,162,247, 14,216,170,177,  0,230,  4, 77,
-233,172,211, 18,182,  6,109, 26,215, 35, 96,  6,128, 80,119,  4,  6, 44,242,223,102, 45,  9, 17,145,154,150,229,114, 58,235, 89,
-216,205, 67,102,  2, 64,102,158,  8, 99,202,135,  0, 41,177, 54, 52,109, 68, 76, 73,136,176,172,  6,247,248, 52,205,107,  9,240,
-178,170, 15,181, 50,  0,247,217, 28, 93,149,153,209, 59,109,  0,164,238, 38,140,241, 64,100,  2, 39,215, 58, 52,181, 68,202,210,
- 25,170,170,215, 82, 90, 27,  8,129,132,137, 83,120, 12,137,169, 54, 32,114, 76, 98, 77, 41, 17, 34,145, 68,  7,148,132, 19,172,
-  6,  1,183, 49,180,228,132, 49, 71,165,248,152, 71,131, 42, 96,192,213,129,128, 69, 80,163, 26, 23,141, 58,  2,  3,103, 24,169,
-151,204, 60,190,  4,198,166,112, 32,218,163,135, 19,208, 71, 87, 83, 30, 55,214, 35, 63,  3,204,162,198,  6, 35,191,205, 70, 85,
- 19, 56, 75,  8,233,124, 62,225, 59,247, 15,223,245,248,185, 85, 89,130, 49, 48,228,190,123,100,182,126,249,145,199, 19, 27, 82,
- 50, 45,187, 15, 31,222,124,235,254,205, 59,119,223,184,113,247,198,254,254, 98, 40, 93,206,235,243,217,246,250,198,108,210, 79,
-102,211,105,151,251,148,167,147, 73,223,247,156,178, 48,179,164,174,235,165,207, 89,186,205,173,237,173,237,109, 53,179,214, 86,
-101, 53, 44,151, 15,247,135,221,189,  5,217,253, 60, 73, 91, 27,179,141,121, 63,153,246, 73, 72, 18,  7, 30,193,195,216,144,109,
-117,116,240,245,223,254,103, 63,240,228,135,250,217,156, 38, 76,169, 71,132,214,162,115, 66,203,163, 19, 96,  6, 20, 74,226,173,
- 17,130,214,130,238, 40,201,204,135,163, 83, 74,220,229,  9,130, 91,173,209,221,104,194, 63,244,222,103,190,251,167,127,120,114,
-116, 36,210,167,190,123,199, 19,239,120,233,240,232,206,221,  7,143, 92, 60, 95,155, 78, 55,214, 94,250,147,111,127,225,167,159,
-235, 38,221,176, 60,181,161, 98, 96, 78, 28,117,168, 14,204,140,128,214,207,215,134,197,241,247,254,229,183, 46, 62,242,216, 15,
- 60,251,108,158,207,189, 14,203,147, 99,109,214,154,102,134,181,249,250,175,252,139,127,249,242,141, 59, 79, 60,122, 89, 91,  3,
-  0,181,  8, 70, 26, 48, 13,173,  2,  1, 58,145,141,233,236, 17,160, 31,253,183, 56, 39, 32,168,105,202, 68,131, 35, 81, 45,117,
- 50,153,254, 59, 95,251,234, 79,126,249,203,179,205,115,138,120,186, 60,174,167, 39,171,213,234,225,253,157,171, 55,110,236,236,
- 61,188,243,214,206,201,106,208,170,222,252,177,173,237,159,122,241,147,159,253,212,115,171,197,201,193,254,225,236,202,229,235,
- 55,175, 31,157,156, 76,143, 14, 95,126,233,181,  9,248,185,205,181,102, 94, 77,205,128, 24, 66, 81,231,128,103,186,220,198,146,
-  1,200, 13, 83,162,177,222, 22,235, 20, 36, 68, 87, 12, 38, 52,154,123, 51,199,128, 82, 56,153,171,  3, 72, 98, 51, 96, 70,247,
-132,160,  1,135, 97,  4,143,116,202,232,228,117, 68,212, 90, 57, 37, 32, 70,138,125,103,114, 80, 73,  9, 41,214,240, 99,169,154,
-  4,181,170, 27,164,156,206, 26, 73, 88,213,152,243,108,186, 86, 84,  9,160,235,166,253,164, 75,194,181, 54, 38,  4,  4, 27, 61,
-192,228,136,110,192,212,  1,249,217,108,215,132, 59,117, 55, 87,162,248,255,174, 72, 12,232,222, 60,136, 43,109, 85, 93, 66, 64,
- 78,237,108,176,222, 52,196, 68,  8,132, 96, 40,125, 87,106, 97, 66, 48,114,180,224, 48, 39, 17,208,166,102,168, 74, 73, 96, 68,
- 52,128,121,192,238, 25,208,  5,160,105, 64,146,209,212,  9,129, 25, 91, 36,135,145,  1, 34,  2,223,226, 23, 79, 28, 21, 76, 69,
-196, 52,153,184,155,185,106, 81,114, 68,161,229,106,133,128, 34,108,160, 72,152,132,  1,104, 88, 45,152, 57,247,189, 54, 39, 39,
-109,197, 77, 71,183, 50, 17,162,171, 91,159,250,170,165,148, 34, 57,141,239, 17,181,148,123,116, 55,173, 35,  6, 89,155,  1,144,
- 99, 74,210,180, 98, 11,192, 74, 33, 78, 76,217,124, 64, 71, 39,231, 68,140,210,180,180, 86,193,137,153,132,196, 92,107, 45,137,
-163, 31,131, 72,128,218,178, 12,155,155,235,134, 74, 32,238,160, 77, 17,144, 16, 76, 21,144,165, 35,  4, 82,115,111,  5,187,100,
- 13,134, 85, 99, 42,204, 44, 34, 26,210,190,166,196,236, 85,173, 85,102, 36, 98, 52,239, 36,169,228, 86, 86,197, 42,131, 51,118,
-136,228,234, 44, 40, 93,183, 42, 67, 27,  6, 83, 39, 70,  3,196,214, 16,201,220,203,176, 88,158,158,128,123,238,187,126, 50, 99,
- 17,119,  2,132,148,196,180, 81, 44, 74,  1,  8,153,153,221, 91,109, 37,122, 75, 18,113,215,120, 88,  7, 11,142, 24,157,  8, 27,
-156,165,134, 16,220,115,162,110, 58, 61, 61, 62, 30,213,214,228,  4,136,128, 76,232,128,  4, 20,135,165,209,160,231, 99, 60, 37,
-242, 98, 54,154,204,221,205,  9,206, 22,179, 14, 24, 49,106,198,127,109,158, 63,  2,199,162,158,230,142,110, 70,  8,155, 91,179,
-221,235, 59, 85, 55,227,246,106,224,110, 28,109,221,214, 16,176, 34,224,133, 11,231, 31,191,114,233, 83,207,125,144,136, 15,246,
-247,175,222,216,185,181,115,255,214,221,157,131,163,163,123,187, 59, 32,105, 58,157,110,205, 55,182,214,214,182,182, 54,250,201,
- 36, 51, 45, 23, 75,107, 85,178,116,125,215,119,211,233,116,214,245, 83, 78,156,115,154,244, 19, 66, 17,161,170, 54, 44, 23,251,
- 71,195,131,131, 67,240,189,233,164,223,218,152,245,157,244, 93,234,251,  9, 19,229,137, 16,251,185,199,158, 56,127,241,146,100,
-161,156, 57,119,109,185,212,102,148,104,185, 90, 58, 11,153,106, 83,150, 44, 41,155,186, 53, 39, 84,  2,209,161, 17,115, 55,153,
-131, 89, 43,195,120,136, 19,  6,135,212,201,135, 63,254,252,111,252,211,127, 50,157,205, 69, 68, 68, 30,123,236,202,245,155,183,
- 47,157,219, 60,217,125, 43,109,108,108, 94,122,  7,164,201,106, 88,182, 97,  9,200, 86,  6,140,189, 89,  4,135, 17,  8,224,214,
-235,175, 30, 28, 60,248,193,167,158,218,218,190, 80, 85, 17, 90,169,173,156, 46, 93,161,149,161,149,225,143,190,127,247,229, 27,
-111, 85,109, 26,247, 82,112, 83,  7,104,194,180, 28, 90,173,138, 12, 35,241, 97,180, 69,140,176,114,240, 51,150,133, 25, 10,161,
- 99, 83, 16,241,231, 63,252,193,127,239,103,254,205, 31,126,238,249, 69,177,  6, 90, 22, 39,101,113,124,184,191,127,227,230,141,
-155,119,238, 60,216, 63,120,112,176,127,116,116,122,120,124,122,229,194,249,143,124,224,125, 95,252,145,143, 93,188,112,254,254,
-238,189,226,237,254,254,254,193,173, 91,230,118,116,114,186,251,205,239,172,175, 77,214,103, 83,240, 72, 99, 97,202,236,110,136,
-146, 56,133, 19, 46,114,134, 77,125,116,189,128, 35, 98, 45,205,208,  0, 52,113,199, 66,224,130,  8, 54,198,120,199,237,130,161,
-  7,113, 62, 60, 68,  4,232,166,156,196, 32,236,146,156, 18,155,131, 16,132,241,199,205, 41,231,127,229,249, 34,  6, 48, 66,  6,
- 36, 51,  5,116, 53, 27, 83, 47,230,132,100, 50,186,137,  0,212,192, 17,129,133,166,147,105,160, 50, 88, 18,145, 52,141,169,246,
-  8,  3, 38,234, 28, 60, 16,  2,148, 81,171,145, 48,152, 58,177,122, 13,163, 42, 18, 86,213,152, 25, 18, 32,101, 70,247,216, 51,
-115,188,246, 70,139,165,  3,130,224,232, 63, 96, 34, 39,175,173, 34,160,153,113,156,230,163,214,175,205,205,152, 81,129, 16, 41,
-244, 56,102,122,102,179,119, 85,109,174,  0,136,200, 66,  9,208,173,182,130,158, 68,192, 76,132,195,244,132,  0,  1,253, 54,135,
- 86, 12, 25,213, 20,136,180, 42,128,147,176,187,235, 80, 25, 17, 44, 38,233,200, 12, 67, 93, 17,  8,177, 36, 97, 53,179, 82, 29,
- 60, 64,239,168,200, 34,197,170,  8,245,221, 68,181,161, 97,234,186, 56,153,146, 36,103,141,135, 76,211,202, 46,177,144,100, 71,
- 36, 72, 28,167, 74,  5,100,146,108,170,  8,149,128, 60,147,171,106,209, 56,110, 50, 82,136,144,170, 85, 66,202,153, 32,232,  5,
- 72,136,176, 88,156,204,122, 94,155,225,233,210,154,133, 81,138, 16,216,188,169, 91, 78,236, 81, 33,102,204,211,110,117,122,210,
-212, 37,101,194,228,126,198,126,211,  6, 72, 10, 72,  4,146,164,169,106, 45, 40,153, 58, 92, 21,117,163, 36, 41,130, 95,110, 38,
-157,132,220, 10, 29, 82,223,107,105,102, 13, 17,147, 36, 53, 91, 44, 78, 79, 79,143, 48,212, 33,204,181, 22, 67, 35, 52, 18, 97,
-201,  8,140,104, 35,198,192, 21,128,154,186,171, 33, 39, 66,149,145,199,131,  4,  6, 68,236, 64,174, 10,122, 70,246,  4, 32,119,
- 16,234, 38,211,217,218,108,185, 56,  1,139,214,231,120,157,  3,  0,115,156, 76,251, 97,185, 10, 31,222,153, 24, 47,102,246,113,
-101, 54, 24, 51,  1,163,173, 35,104, 44,128,  9, 92, 71, 86,198,248,114,128,241,209, 63,142,236, 45,234, 16,169,159,111, 77,243,
-253,189,211,203, 23,230,165,104,208,150,163,137,132, 36,129,  0, 93, 13,195, 48,  0,130, 35, 17,167,238,253,239,125,250,131,239,
-127,175,185,105,171, 71, 39,139,195,147,211,123,119,119,111,236,220,187,255,224,222, 75,175,191,118,124,114,178,182,177,177,181,
-182,190,181, 54,235,187,110, 34,137, 19, 11, 83, 18,158,118, 29,167,110,210, 79,242,116, 50,153,204,186,233,108,109,125,190,185,
-185,133, 76,230, 84,219,176, 92,174, 78,150, 85,219,130,232, 48,  9,118, 89, 54, 55,214, 62,242,161,247,156, 44, 38,146,166,221,
- 36, 55,179, 90,171,132, 67, 61,117,218,138,187,179,144,123,171, 13, 71,134,172, 72, 89,174, 90,211,220,119,148, 72,135, 37,134,
-235,119,236,255,145,214,250,212,211,207,252,241,239,125,227,250,141, 27, 79, 63,245, 30,230,110, 99, 99,107,247,254,189,171,111,
- 94,223,219,219,127,249,234,181,233,252,252,198,229,119,191,235,201, 31,172,165, 94, 56,183, 49,212,226,214,180,106,151,179,164,
-124,243,205,239,223,191,119,255,210,229, 43,207, 60,251, 28, 17,181,214, 82,159,235,114,185, 90,172,  0,  9, 81, 91, 93,221,122,
-112,248,205,215,222, 64,130,205,110, 46,204,203,214, 98,223, 18,239,152,197, 80, 34, 26, 17, 79, 13, 51, 80,119, 85,165,209, 49,
- 18,134, 44, 32, 22,107,122, 90,135,119, 60,114,241, 47,126,237,167,126,236,243, 95,152,174,175, 45,154,169,105, 25, 78, 78, 15,
-246,110,223,186,126,237,230,157,157,221,221,135,  7,135,167,203,101,109,109,247,224,248,221,151, 47,253,236, 87,190,240,190,167,
-127,  8,193, 23,104,247, 15,247,115,162,249,249,205, 55,111,221, 57, 61, 60, 93,155,229,243,143,156,  3,  6,107,163,215,136, 48,
- 33, 96,236,232,154,106,228,152, 28, 40,212,121,116,198,148,245,136,159, 58, 54, 67,179,  6,212,197,227, 23, 28, 29, 61,186, 44,
- 57,115,216, 67,  1,199,113,  3,128, 81,162,184,159,119, 19, 50,  7, 68, 74, 76,200, 90, 87,104,234,200, 68, 16, 40, 65, 84, 51,
-198,145,209,  4,103, 64,175,178, 90,229,156, 21, 32,179, 40, 24, 33, 19,131,169,  1,  2, 81, 76,120, 29, 56, 77, 83, 98, 97, 83,
-139,127,180, 51,163, 48, 34,119, 72, 44,194,140,162,174,102, 78, 66, 64,232, 21, 17,209,106, 65,192,232,181,114, 16,201,  1,153,
-121, 40,133,131,188, 37, 12,224, 77, 91,202,177, 72,139, 70, 36,  0, 17, 11,130, 81,179,134, 72,156,168, 22,  5, 30,237,196,218,
- 26,159,161,208, 88, 36,244,131,163, 86, 97, 20, 39,  5, 96, 62, 62,101,  2, 48, 36,228, 46, 51,104, 48, 44, 75,169,110, 74, 34,
-110,202, 34,238,192,128, 78, 65,  8,193, 82, 10,115, 96,188, 44,160,222,142,  8,236, 72,172,218,172, 25,167, 28, 66,241,166,138,
-102, 40,224,134,173, 57, 19, 26,  3, 49,101, 76,110,214,106, 97, 22,236, 71,200,226,200, 29, 81,211,152,188,145, 68, 93, 17,153,
-200, 16,153,212,148,136,172, 89, 51,117, 51, 48,131,204,200,130,110, 13, 20, 16,128,188, 35,  6,199,218,204,205,195,104, 25, 16,
- 91,102,116,160,214,154, 53,159,172,245,173,177,123, 13,114,148,171, 58,  0,139, 16,197,120,149, 49,161,150,106,214, 36,103, 54,
- 80, 53, 63,219,205,226,184,  6, 13,235,179,145,116,153,  8, 92, 90,243, 90, 91, 39,236,193, 77, 99,116,112, 73, 25,  8,  3,254,
-195, 57,187,181,234,192, 68, 40, 98,160, 69,109, 40,203, 82, 74, 98,234, 58,145,156, 23,203, 33,105,157,206,230, 41, 37,  0,170,
-222,220,160,105, 75,196, 46,238,102,140,132, 44, 97,165, 22, 68,  1, 82, 71,244, 24, 46, 71,138, 43,  9, 33,154, 86,228,  4,140,
-  8,184, 88,148, 97,177,  7, 30,171, 84,  5,181,240,226,170,  3, 19,174,134,234, 58,102,191, 40, 82,107,163,125, 53,234,193, 52,
-142,235,201,193, 29,205,220,160,129, 69,161, 23,  0,132,185, 53,115, 15, 40, 82,188, 17, 66, 75,229,  8,108,106, 85,253,194,133,
-139,215,239, 62,192,243, 27,  4, 58,194,186, 29,152, 71,204,  5,134,188,119, 76,172,187,169, 46, 87,  3,132, 22, 23, 96, 54,159,
-205,215,230,143, 95,126,228, 57,249,  0,  0, 29,236,237, 95,189,181,243,224,225,238,119,190,119,245, 79,111,221, 44,165,178,240,
-246,198,230,214,218,124,218, 79,215,167, 57, 73, 98,166,148,100, 58,153,244,253,100,109, 99,109,109,190,206, 93, 55,159,173,167,
-212,245,155,219,156,216,155,173, 86,131,106, 89,213,246,242,171, 55,239,237,220,234, 39,243,227, 97,241,216, 59,223,113,110,125,
-163,159,174,201,180,211, 85,117,111,117,112, 64,178,218,188, 14, 60,153, 17, 50,161,182,218,106,107,125,159, 64,213,155,  2, 80,
-216,107, 80,  4,  1, 93,141,146, 32,167, 47,253,244,191,245, 11,255,221,127,125,111, 99,231,145, 43,143,106,171,231,207, 95,250,
-214,159,252,201, 75,111, 92,253,192,251,159,249,185,255,248, 63,185,112,249,202,239,255,243,223,253,129,119,189, 11,193,  2, 58,
- 56,155,111,221,191,250,242,157,187,119, 78,134,250,161,231, 63, 51,159,166, 86,205,234, 42,247, 25,137,202,114,112, 85,153, 76,
- 97,113,122,120,120,240,141,151, 94, 62, 90,149, 73,215,169,107,107, 45,238, 85, 90,171,170,166, 68,171, 97,137, 20, 40, 84, 55,
-213,224,  2, 78, 82,118, 38, 45,213,220,208, 17,  8, 74, 27, 78, 22,237,171, 47,126,238,175,252,  7, 63,119,225,242,163,142, 84,
-170,170,182,197,233,254,253,219,183, 95,187,250,250,206,253,  7, 15, 15,142,246,142,142,150,139,229,222,193,201, 99, 23,207,253,
-165,207,127,250,199, 62,247,105, 68,223,127,176,211,111,159,123,235,230,237, 55,174, 94,155,206,103, 59, 59,187,182, 42,235,179,
-126,109,218,185,186, 91,188,200, 89, 36,129,162,186,183, 22, 56,147,176,115,140,241, 85, 28,  7, 49, 35,202,159, 25,205, 49, 33,
- 49,163, 42,184,215,156,187,166,214,134, 65,152, 35,159,138,170,204, 12,230,234,144,187, 68,228,165,150,174, 75, 76,194,136,181,
- 52, 64, 87,111, 58,152, 48,169,121,202, 25,204,134,170,194,112,118,142,182,196,156,114, 82,179, 97, 49, 16,115, 68,  1,155, 91,
-240, 99,181, 86, 31,139, 22,134,  0,146, 18,104, 19, 22,  0,  0, 50,116,103,230,162,  3,199,190,146,196, 16,137, 18,160,187, 26,
- 18, 18, 50, 57, 22,112,116, 39,230, 90, 86, 41,247,241, 98,117,  6, 68,170,173,138,196,157,197,209, 28, 29, 82,226, 81,113, 31,
-234,231,174,115, 48,173,  5,137, 25,129,132,155, 90, 74, 28,100, 74, 68,  7,240, 26, 33,200,152,187,135,210, 90, 88, 56,181, 86,
-188,  2, 36, 32,100, 38,116,115,112,103, 78, 22,156, 94, 68, 51, 55, 53, 22,  1, 98, 74,  2,138, 72, 56, 22,  1,  1, 91,211, 46,
-165,230,102,174,196,236,166, 90,149,  4,136,201,213, 77, 27, 50,  3, 50,186,  2,139, 53, 99, 66, 55, 53,117, 74,146, 18,155,123,
- 78, 73, 91, 99,161, 86, 29,221,193,  9, 28,180,173, 56,245,110,170,171, 37, 10,251,184,126,137,153, 27,155,154, 26, 96,116, 47,
- 99,118, 26, 57,109, 38, 64,114, 87,  0, 39, 36,224, 88, 19, 32, 17,147, 66,133,198, 64, 34,194, 66, 60,162,215,218,233,178,168,
-185,203,124, 40,238, 32, 85,141, 28, 19,179,145,180, 97, 32, 38,146,100,181, 13,117, 72,146,136,201,195, 65,  1,166,173, 57,144,
-129, 50, 37, 18, 30, 86,  3, 35,246, 93,178,248,231,118, 32,198,196,164,  0,166, 99,147, 78,139, 57, 52,182, 72,126, 65,171, 74,
- 96,147, 46, 87,179, 90, 86,246,118, 69, 30, 97, 24,134, 44, 66,203,  1,117,112, 22, 85,245, 86,193,128, 73, 80,220, 11, 84,109,
- 80,129,187, 30, 28,117, 85, 41,172,118,191,249,139,255,171, 35,170,106,102,118,115, 39, 39, 71, 71, 64, 16, 34,118,104,128, 24,
- 66, 91, 15, 64,157,123,124,150,164, 70,153, 90,  5,146, 24, 90, 33,132,148,114, 76,215,140,190,108, 98,  4,247,192,208,131,133,
-107,194, 29,209,212,152, 24,172,153,219,217,151, 35, 16,123, 62, 26, 10,198,136, 78,180, 11, 65, 82,186,241,230,205,203,143, 94,
-202, 57,169, 57,162,132, 22, 18, 65, 21,128,125,164,211,  1, 80, 48,210, 16,137, 48,161,152,171,199, 43, 23, 98,178,136,152, 19,
-231,220,117,169, 35,161,186, 90, 92,191,121,247,234,157,183,190,243,242,107, 55,118,238,149,161,138,228,105,238,230,243,217, 36,
-119,211,105, 38,196, 73,215,173, 79,167,147, 73, 55,153,205, 38,179,181,249,108,109, 58, 91,239,215,215, 36, 37,109,102,205,172,
- 44,142,142, 15, 79, 22,167,181,180,220,205,114,223,  9,138, 48,206,231, 27,231,206, 95,220,220,156,243,100,221,173,229, 44,152,
-178, 59,154,105,107,134,  4,  9, 49,158, 44,196,130,204,174, 10,232, 78, 89, 24,  0, 73,151,203,254,226,185,223,254,199,255,232,
-219,127,242,205,167,158,124,170,159, 76, 63,241, 99, 95,157,110,204, 22,135,139,189,  7,251, 77,235, 31,252,243,223,126,226,137,
-199, 63,250,225,247, 45,150, 38, 93, 71,166,191,251,245, 95,255,198,215,127,235, 43, 63,249, 51, 31,251,228,103,107, 25,180, 22,
- 64,146,156, 80,171,154,105, 49,201,108,165,157,236, 92,255,235,127,227,191,248,250,119, 95, 91,159,247,171, 85,185,176,189, 61,
- 95, 95,107,181, 58,192,233,201,105, 25,134,156,242,155,119,110, 85,211,241, 74,  6,160,166,147,156,215,231,211, 81,111,120,118,
-244,157,246,179,191,244,181,175,124,245,199,191,234,146,145, 64,213,150,203,197,225,222,238,141,171,175,191,121,253,198,221,189,
-253,227,147,195,131,163,197,241,241,241,201,201,242,241, 11,231,127,254,167,127,226,233,103,158,122,240,224,126, 63,159, 93,191,
-118,237,230,181,155,156,165,169, 29,220,223,223, 92,155,117, 57,169, 41, 34,100, 74,205,106,184,208,152, 50, 33, 17, 66, 51, 85,
- 48,  4,113,104, 24, 75,124,164, 62,231,210, 42, 40,168, 67,206,201, 92,  1, 33, 97, 42,173, 56,  2, 35, 97,132,237, 28,136,168,
-153,117,185, 35,166, 40, 44, 73,102, 20,114,  3,166, 60,142,160,162,204,161,102,106,221, 36,183,218, 28, 12,153, 92, 99,  9,  9,
-  0,214,212, 18, 39, 34,140,158,140, 48,169,105, 45, 45,165,132,128, 44,212,212, 36, 10,177,222,152,115,220, 90, 57,119,110,134,
-236, 54,168, 67,132, 59, 33,102, 50, 36, 60, 18,143,220, 89,216, 92,181, 90,144,100,204,180,149,128,185, 75, 84,140,  0, 92,205,
-152,200,221,136, 81,213,187, 46,155,121,211, 26,  0, 22, 87,151,204, 86,199, 61,153,186, 11,179,153,137,100, 67, 43,171, 33, 98,
- 45, 34,130, 76,160,142, 72,214, 10,178,  8,161,157,153,118,106, 81, 97,228,  8,137,107, 35,  0,  3,226, 36, 86, 20,120,172, 53,
-138,144,  3,122, 53,236, 16,116,124, 78,128,162,129,169, 90,213, 38,241,147, 52,148,212,153,183,248,  7,180, 86,136, 82, 68, 30,
-213, 52,231,220,106,139,217,138,  1, 36, 73,109, 40,193,181, 66, 78,241, 49,213, 86,115, 18, 97, 81, 83,213, 22, 57, 14,100, 82,
- 53, 68,116, 51, 71,167, 32,156, 19, 35,176,121,209,214,132,  5, 83,182,166,110, 70,204, 66,169, 89,117,111, 48,178,197,209,221,
- 76,109,212,113,184, 73, 74, 93,146,102,229,193,238, 81, 78,105,190, 62, 51, 53, 87,211,214, 80,178,  1, 32,112,  4,147, 84,213,
- 21, 56, 37,247, 22,139, 68,173, 42,194,165,148, 96, 53, 51,147, 33,130, 97,196, 76,136, 16,153, 25, 83,105, 37,246, 67, 41, 39,
-109, 86, 90,109, 85,153, 17, 25,153,  5,  1, 68,146,  1,212,161,104, 85, 39, 99,115,103, 57, 61, 62, 57, 56,220,213,106,228,202,
-146,114,151, 56,117, 93,215,207,230, 51,160,212, 90,107,173,153,214,176,212,129, 53, 78,  9, 40,161,213,227,211, 83,  9,162,101,
- 98,113,  4, 96,136,156,  0, 66,112, 87,206,166,232,128, 99, 67,214, 61, 86, 85,128,238,220,242,108,195, 79, 86,136, 98,104,241,
- 56, 31, 47,189,222,  0,  4,  8,204,192, 85, 67, 68, 22,183,182,248, 56, 28,140, 16,205,234,219, 34, 81, 24,  3,244,  4,110,206,
-  0, 78, 35, 33, 44,226,164, 14, 77,219,214,230,252,240,116,121, 33, 39,112,  5, 68, 69, 96, 15,222,182, 65, 88, 59, 28,145,129,
-129,131,157,160,222,176,161,140,243, 36, 36, 24, 95, 29,181, 89,105,203, 19, 28, 64, 85, 36, 63,241,206, 31,120,242,201,167,254,
-204, 11, 47, 44,151, 39,187, 15, 30,220,218,185,127,237,246,206,193,193,225,238,238,222, 91,247,  7,  0,156, 78,251,249,116,182,
- 49,155,174,207,103, 93,218,237,167,253,164,155, 76, 38,211,201,124,190,182,177, 53,153,206,211,108,118,121,253, 28,103,138, 48,
-130,170,214,218,134,178, 58, 62, 60,122,120,184,159,136, 82,238,103,107,179,237,243, 23,250,217,250,250,214, 22,115,102, 49, 34,
-106, 67, 73,185, 39, 17, 52, 67, 22, 48, 51, 67,233, 19,130,107, 41,216,117,122,186,124,238, 83,159,125,229,165,151,174, 95,123,
-243, 51, 95,252, 10, 49,237,223,123,240,173,111,126,235,209,199, 30, 61, 93, 13,247,118,238,105, 93,125,236,249,231,147, 14, 90,
-234, 31,254,193,215,255,240, 15,255,197, 39, 63,251,197, 15, 61,251,177,197,209, 33, 16, 70,116, 15, 84, 77,213, 29, 73,196, 12,
-185,156,252,223,255,215, 63,248,227, 55,110,204, 38,147,253,195,147,147,211,147, 39,174, 92,209, 86,205, 29,204, 91,107,128,206,
-153, 89,164,174,148,  9,213,177,169,102,225,217,100, 50,212,154,122,139,241,191,  0,  0, 32,  0, 73, 68, 65, 84, 83,239,174,165,
-212, 62,167, 23, 62,250,236,207,126,237,167, 62,240,161,103,  7,117,115, 31, 86,203,131,135,187, 15,238,223,185,115,231,206,141,
-219,119,119,118,119,143, 78, 22,123,199,  7,123, 15,143, 47,110,172,125,237, 43, 95,252,209, 79, 62, 55,153, 79, 87,106, 39,195,
-242,224,232,144,147,116,235,179,183,174,223,157,247,249,202,133, 13,150,168,105, 48,  1, 54, 48, 74, 29,104,224,193, 71,103, 21,
-144,147,  7,221, 19,153,  9,153, 16,176,214, 10,  8,196,161, 53,  5, 70,  1,211, 10,141,  3, 38, 14,224, 14,147,148, 28, 80,205,
-123,201,136,  8,142, 93,159, 91,107,106, 78,234, 68,161,232,  4, 68,114,213,234,134,230,200, 88,107, 67, 64, 55, 48,247,240, 64,
-185,107,104,139,221, 13,124,124, 22,150,166,222,140,153,144, 66,130,234,  8, 10, 40,170, 42,210, 57, 56, 10, 49,  8,184,  7,  7,
- 76, 35, 96,204,227,148, 50,100, 64,  0, 46, 40, 10,170,205, 17,145,162,137,175, 78, 44, 41,199,240,210, 70,167, 93,120,137,220,
-193,192,208,145,176,214,130,  0,174,  6, 72,204, 68,146,212, 26, 50,185, 67, 12, 43, 34,174,101,214, 76, 35,242,200, 20, 56,162,
-218, 40, 74,190, 36, 97, 98, 50,136,133,  0,231,142,  1,220, 85, 41,101, 12,151,133,153,213,  6,132,241,182, 32,137,176, 22, 96,
- 66, 43, 54,154, 60, 34, 75,202,  4, 97,109,115, 71,116,238,216,180,142,139, 27,115, 34,118,247,160, 50,  0,146,154, 98,228,249,
- 72,  0, 76, 91,117,215,113,101, 13,  0,236,  8, 36, 30,224,176,  2,  4, 68,201,221,192, 60,224, 97,170,230, 22,116,172,145,172,
-  3,129,158, 39, 22, 98, 71,  4, 17,116,  2,104,234,133, 16, 29, 82,107, 85,173, 16,  1,  5, 12, 85, 13,201,153,199, 37,170,106,
- 33, 29,214,182,102,  4,160, 35,202,132,  1, 33, 81, 38,164,170,101,252,212,100,236,241, 68, 73,141,216, 75,109,173, 20,201, 93,
-160,104, 69,216,208,173, 69,160, 21, 24,201,208, 68, 24,212,171,155,170, 82,232, 41, 18, 18,160,187, 11,146,129,215,214, 70,216,
- 25,114,171,166,238,160, 53,231,180,182,182, 57, 12, 75,109, 67,162,113,101,201,132,197, 12,181, 32,160,176, 24,146, 89,  3,183,
- 88, 42, 16,141,221, 85, 65, 70,108, 22,  3,243,209, 76, 10, 13,244,108,171, 22, 86, 97, 26, 11,157, 68, 28, 50, 63,179,234,142,
-203,227, 83, 68,110,222, 24, 16,200,131, 75,224,  4,132,226,224, 96,228,214,136,200,180, 97,236, 77,105, 12,235, 98,244,173,131,
- 80,133, 48,210,175,144,220,  1, 41,131,215,179,225,126,244, 15,130,255,226,221,116,118,176,187, 15, 91,219, 68,  8,152,196,213,
-225, 12,255,129,233, 44,208,102, 48, 82,159,244,140,221, 64,113, 77,139,215,210,153, 81,203,  1,128, 68,204,218,201,233,242, 20,
- 86,196,104, 38, 23,206, 93,186,124,233,137,231,158, 69,132,225,244,116,117,120,124,178,179,187,247,242, 43,175,124,239,234,173,
-171, 55,110,  0,203,133,115,155,143,158,191, 52,155,118,243,126, 34,249,158,112,238,  3,149,214, 79,214, 55,183, 38,179,141, 60,
-233,147,116,146, 83,234, 36,119,201,212,221,188,169, 45, 78,151, 39,199,215,154, 42, 17, 11,243,185,139, 23, 47, 92,188,188,126,
-110,179,239, 58, 16,104,139,193,  1,234, 80, 60, 36,246,165, 98,206, 36,162,110, 93,234, 62,253,226,231,167, 91,219, 23, 46, 63,
-114,188,127,112,227,218,213,255,231,215,127,121,123,125,253,116,181,120,235,173,183,160, 13,159,248,212,103,182,103,253, 31,252,
-238,239,189,227,  7,223,245, 31,254,149,255,172,155, 77, 26,146, 14, 39, 44,  9, 39, 93,215, 73, 43,197,128, 16,204,134,147,181,
-245,173, 95,251,213,223,248,123,255,240,159, 54,231, 46,165,213,170, 72,151,193,124,181, 42,169, 75, 85,171,106, 99, 64, 70,122,
-199,229,203,175,188,121,141,  0, 28, 44, 11,111,172, 77,205,218,149,243, 23,111,220,186,181,181,189,245,254, 39,159,250,241, 63,
-251,153,103,159,253,232,198,246,249,211,229,178,169,158,158,156, 60,184,119,103,111,247,254,237,187,247,110,220,185,181,127,112,
-124,188, 92,221,122,235,238,131,135,123,127,241,139, 47,254,133,159,248,242,230,230,218,209,225, 94,230,245,195,197,225, 27, 87,
-223,156, 77, 38,119,238,237, 14,135, 39,231,214,231,157,  8,114,118,119, 98, 98, 65, 87,  7,115, 38,  4,150, 86, 74,100,106,137,
-192, 26, 10,241, 96,141,129, 34,234,225,238, 72, 28,224,163, 40,  2, 53,109,128,156,  9, 85,181,180,138,196,147, 46,  7, 32, 32,
- 84, 68,136, 40,157, 52,211,230, 70, 14,230, 77,  9, 18, 39,117, 48, 71,118,144, 16, 62, 32,161, 91,173,  3,177, 16, 51,  2,186,
- 89,151, 83,171, 88,181,141,152, 25, 36,179,168,141, 40, 16, 15,181,246,210,145, 36,139,  9,162,161, 27,142,110, 85, 30,105,230,
- 74,128, 18, 66,154, 56,243,184,129,163,121,150, 28, 56, 93, 70,100,196,218,204,201, 89, 82, 60, 79,155, 22, 83,175,171,146,166,
-125,  0, 59,205,148, 19,  3,140,214, 58,107,149,115,206, 93,174,181,130,105,100,189,135,213,138, 89,  8, 64,221,  9,  0, 17, 73,
-216, 76,205,  3, 88,233,238,161,230,  0,102,106, 85, 35,199,207,156,145,208,208,208,145,186,190,149, 26, 91,229, 32,218, 56,128,
-153,194,219,245,245,216,174, 26, 32, 19,178,181,210,  2,157,  6, 68, 72,212,165, 60,156,174,154, 55,  8, 47,145, 96,173,134, 26,
- 60, 63,  7,183, 62,167,218, 84, 56, 57, 90,213, 33,246, 14,105, 50, 37,240, 50, 20, 24,  7,176,128, 34,214,106, 60,245,180, 86,
- 18, 38,193,214, 20,153, 18,147,162, 32, 48,160,141,232,140,179,185,176,154, 74, 55, 65, 34,107,197, 20,192,226,212,103, 41, 51,
- 52,  0,176,170,154,133,153,129,144, 99,202,207,146,247, 15, 86,230, 46,140,156, 97, 48,215,218,186,190,119,133,230,170,214,136,
-208,145,209, 81,181, 16, 64,238,115, 43,173,148,194,130, 72,232,200,129,149, 87, 83,108,196,146, 40,187,185,129,129,153,165,156,
-213,131,165,140,225, 17,  7,  8, 40,144, 34, 83,169, 21,207,230, 32, 73,242, 74, 85, 75, 33,135,196,201,184,204,102,179,196,188,
- 26, 18,185, 49, 11, 39, 81, 85,172, 13, 69,130,122, 31, 17,222,218, 74, 40,121,153,141,144,145, 18,254,214, 63,250,223, 81,  3,
- 37,143,142, 72, 97,233, 36, 32, 16, 68, 84,173,196,130,196, 62,194,152, 76,213,  1,128,199,118,250,216,117,197,177,240,228,110,
- 30,199, 40,  7,116, 71,183,134,163, 50,209,112,212, 33, 34, 88,177,177, 86, 30, 75,218, 51,167, 40,134,183, 80, 66,140,  0, 17,
-  4,  8,138, 25, 56,162,129,195,157,187,187,143, 95,185,140,228, 72, 35,182, 31,198, 83,191,  3, 56, 50,187,  2,131,  7,  7, 33,
-226, 94, 28,190,196,208, 13,135, 77,155,198, 20,  4, 17,131,185, 71,238,201, 57, 78,123,132,104,224, 50, 66, 78, 65,132,226, 70,
-127,227,250,237,215,174,223,122,253,234,213,215,110,236,172,134,210,117,253,198,218,250,230,124, 50,157, 79,103,169, 67,132,220,
-165,217,108,125,115,243,220,124, 99, 61,119, 29, 26, 32, 72,158,244,192,136, 33,218, 32, 81,109,106,208,180,173, 78,142,202, 48,
-  8,229,205,139,231,182, 46, 93,186,116,241, 98,234, 58, 45, 53, 77, 38,222, 84, 85,223, 22, 66,155, 99,191,190,166,165,252,242,
- 63,248, 63,167,235,219,151, 46, 93,248,111,255,230,127,243, 96,239, 97,173, 69,107,121,238, 67,207,188,227,209,119, 60,253,228,
-147,239,251,224,199, 55,183, 55, 92,146,183,149,244, 19, 91, 13, 36, 93, 63,159,212, 58,232, 80,129, 56,165, 68, 90,255,248,119,
-191,241,215,255,214,223,218,217, 63, 74,204, 71, 39, 71,203, 85, 57,183,185,121, 97,107,163,168,166,156,202,106,213,180, 17,139,
-160,212, 90,110,188,181,147, 50, 45,150,101, 99,109,106,102, 63,255,239,255,220, 95,253, 79,255,203,255,233, 23,126,225,246,245,
-239,127,233,197, 79, 95,184,116,217, 37, 32,124,245,112,111,239,240,240,225,209,225,209, 27,215,222,188,113,251,222,201,106,113,
-178, 88, 93,187,125,103,150,250,191,246,151,255,252,103, 62,241,252,225,241, 97,  3, 95,213,114,237,213, 87,239,237,237,247,125,
-191,251,214,206, 52,229,249,218,148,137,  8, 57,165,148, 88, 64,216, 93,107, 53,109,205,220,  0,136,  4,201,177, 13, 13,133,221,
- 77, 18,187,122,164,  9,205, 28, 49, 34, 35,132,100, 90, 21,153,209, 44,119, 73,213, 90, 85,102, 96, 22, 98, 65, 36, 73,125,179,
-  6, 54,158, 39, 28, 16,  5,234,170,177, 48, 51, 69, 82, 62,  5,108, 46, 78,  0,  6,200,  4,224, 72, 96,106,  6,200,  8,165, 21,
- 10,218, 96,180,100, 71,220,134,155,  1, 48,103,166,166,205,220, 25, 36,229,206, 32,138,154, 73,  0, 86,101, 32,162,156, 39, 10,
-141, 16,204,193,170, 49,147, 33,196, 57,212, 44, 74,211,232,224,230, 42,148, 56,145, 27, 48, 51,168, 22,109,163,212,  9,128,156,
- 33, 33, 51,214,170, 76,140,230,128,209,139,134,166, 53,165,142, 56, 46, 57, 70,200, 66, 92,181,164,148, 84, 13, 97, 28,122,187,
-197,129, 14,212, 42,115, 30,203, 64,200,136, 14,174, 36,217, 17, 25, 89,181, 34, 81,213,198, 64,196,236, 26,210,133, 56, 50, 33,
-145,152, 85,119,167,196,164,212, 90,  5, 48,109, 78, 76,136, 40,146,  1,176,105, 49, 68, 10,142,184, 26,198,250, 97,116, 41,123,
-109,  6,  4,125,215, 33, 51,152,155,150, 88, 43, 70,126,159, 49,155,215,106, 85,136,  3, 20, 21, 19, 39, 18,102,150,161, 12, 96,
- 72, 76,136,  4,110,102,166,224,224,144,187,132,196,146,179,154, 81, 56, 78,227, 73, 16,128,179, 48,172,  3,149, 58,140,148, 45,
-  0,199, 81,148,201,140,203,197,240,224,193,131, 43,151,182,103,235,179,166,238,148, 90,195, 54, 12, 77,149, 40, 26, 81,132,228,
-173, 24, 49, 16,208,170, 12,113, 16, 80,211, 82,180,147,132,194,109, 85, 57, 49, 16, 73, 74,230, 22, 93, 13, 12,155, 28, 82, 45,
-131,153,137, 72, 98, 49,194, 86,139,154,215,170,  1,110, 19, 18, 98, 82,117,176,  2,156, 90, 43, 76, 76,136,  0,212,172, 90,169,
-218,154,121, 35, 76,224,158,102, 19, 68,  9, 46,152, 19, 15,171,149,151,210,101,246, 36,194,201, 12,142,142,143,  5,226,210,139,
-238, 62,246, 32, 72, 40,104, 51, 14, 72,156, 67, 92, 26, 45, 56, 64,231, 24,158,140, 73,209,  8,207,135,227, 20,198, 12,175,171,
-159, 81, 92, 98,220,130, 72, 96, 28, 75,  8, 31, 95,174, 52, 86, 63,224,236,151,130,255,154,150,247,140, 91,230,103, 76,122,  8,
- 22, 41,225,172, 79,123, 39,203, 75,155,107,234, 68,140,102, 21,130,142, 29,215, 13,139,253, 84,132,123, 70, 72, 69,224,115,240,
-172,124, 11, 35, 53, 14,192,195,166, 23,147,121, 25,239,119,174,227, 92,151,221,213,155,123,107,182, 92, 41, 34,156,191,116,241,
-241,119, 60,254,133,207,125,250,116, 88,220,187,123,239,234,181, 91, 55,222,186,127,239,222,189,187,247,238,153, 67,215, 79, 55,
-231,179,205,173,197,225,241,193,185,147,205,148, 38,136,140, 72, 57,167,110, 50,235, 39,211,148, 59,201, 89,152,145,121, 50,233,
- 39,147,206,  1,218, 80, 86,171,229,245,239,125,239,205,239,189,220,165,126,227,252,185,141,237,237, 78,120,190,182, 62,217, 88,
- 67,119,107, 14,224,175,253,191, 47,253,218, 47,255,147, 95,254,181, 95,249, 11,127,254,103,103,125,102, 65,119, 72,146,250,156,
- 24,253,254,253,187,239,126,250,153,199, 30,127,108,255,224,225, 72,141, 82,227,110,  2,224,101,185, 52, 85,100, 33,145,148,228,
-205,215, 94,249, 59,127,255,239, 31, 45,135, 89,151, 22,203,213,114, 53,116,185,203,185,171,181, 57,122, 83, 87,181,120,116,161,
-224,241,201, 98,213,170,  2,159,219,220,120,228,194, 57, 97,126,228,210,133,110,123,246, 31,253,181,191,250, 43,255,219,255,178,
-182,190,161, 78,229,224,240,224, 96,239,193,222,195,131,195,195,163,197,201,181, 27,119,238,237,239,181,170, 59,187, 15,143,142,
- 15,191,252,194, 39,254,221,159,252,242,250,250,116,247,225,253,188, 54,191,246,242, 75,107,219,155, 23,223,249,248,155,119,238,
- 30,237,238, 95,218,222,144, 94,220,162, 10,203,136,136, 66,  6,232,192, 22, 40,110,197, 68,216,212,205, 28, 37,152, 30, 52,246,
-175,193, 28,199,149,125, 92,203,173, 58, 68, 75,159, 88,155,  3,250,116,218,199,210, 39,172,108,234, 45,101,118,247, 50, 52,140,
-163,119,179,156,  5,  9,195, 59, 71,132,106,200,228, 76, 76, 76,224,168,214,162,162, 41,210, 51, 98, 45,171, 94,164,152, 67, 76,
- 23, 61,146, 18,136, 72,146,208,155, 85,173,  8,200,146, 98,221,202, 68,  0,  1,186,178,148,251,248, 37,162, 97,244, 67, 40,129,
-169, 18, 37, 53, 51, 51, 80,144, 94,226,105,149,164, 35, 64, 83, 67,162,214,154,170,137,176,  7,103,214, 77, 58, 50,115,109, 22,
-220,  0, 36, 34,  2,  7, 55,107, 57,231, 51, 26, 16, 18, 49,130, 27, 40, 33,181,214,224,172,175,128,  8,192, 36,145, 86,198, 56,
-183, 49,113,236,207,200,157,130,149,214,188, 49,139,  1,164, 80,184,  0, 32,135,234, 18,152,132, 24,181, 22,143, 31,111, 51, 27,
- 75,235, 68,108, 72,152, 82, 87, 91,  9,224, 54, 19,187,153,199,  1,255,109,193,125,160,208, 18, 49,227,104,223,140,249,155,141,
- 42, 54,201,161,100,242,  4, 20, 55,  6, 34, 66, 65, 65, 86,183, 86, 75, 76,219,209, 99, 83,129, 72,152, 69, 90,109,170, 74,128,
-173, 41,186,183, 90, 85, 27,117,226, 26, 99, 94,119, 36, 85, 19,242, 46,245,170,205, 65,221,156,144,141,213,155,213, 65, 79,150,
- 53, 75,146,212,155, 34, 16,187,130,171, 34,209, 36,137,154, 87, 53,134, 38, 44, 68,160,106,205, 90, 98, 30,170,170, 25,177,228,
-204,181, 26, 65,  3, 33,117, 19, 96, 53,139, 52,151,187, 91, 45,200,137,132,130,238, 25,208,  8,112,137,225,  3, 19,130, 27, 35,
- 59,154, 59, 50, 99,  3, 38,240, 46,247,173, 53,  0, 26,139,120, 29, 34,145, 14,232,136,210,119,128,196,132, 70,104, 13, 93,107,
- 74,130, 76, 90,155, 15,197,217, 88, 36,  5,130,135,136,226,141, 58,206, 97,194,255,130,  4,166,129,164, 80,  3, 24,225,233, 49,
- 93, 33,143, 85, 43,208,104, 45,141, 53,202,219, 61, 56, 64,115,115,112,142, 15,193, 60, 94,  0,177,186,137,174, 99, 72,209,213,
-235,219, 61, 41,124,219, 75, 69,177,  7,141,247,205,  8, 42,  3,  2,100,154,207,231,119, 31,158, 92,220,218,208, 90, 73,198, 63,
-199,209,  9,221,205,  1, 10,  1,  3,158,233,156, 70,240,231, 56,150,123, 59,129, 57, 70,191,208,  1, 89, 77,  3,135,141, 68,238,
- 22, 29,244, 51,  3, 20,158, 93, 29, 16,  1,106, 25, 74, 51,192, 37,170,157, 59,119,225,145, 43,143,125,174,239,202,176, 60, 61,
- 89,188,241,250, 27,111,222,185,247,198,155,215,175, 94,219,239,186,254,253, 79,231,205,237,201,209,193,126, 81,155, 72,234,102,
-199,194,204,148,178, 72,215, 79,152,243,100,210,167,110, 42, 29,231, 44, 93, 39,179,201, 84,209,172,217,201,201,209,225,222,195,
- 58, 44,221,177,235,251,233,124,109,251,220,165,217,108,242,218, 75,223,113,228, 23, 95,252,209,247,190,247,153,215, 95,253,254,
-201, 98,245, 35, 31,250,224,131,135,247,111,221,191,247,218,141, 91, 63,250,252, 39, 94,254,206, 31,125,240,233, 31,218,122,228,
- 49, 19, 70, 78,192,224, 90,221, 73,235,138, 40,113,198, 46,165,211,211,147,255,241,239,253,221, 27,111,221, 21,162,218, 60,247,
- 19, 60, 62, 78, 57,137,160,162,215, 82,169,217,216,196,  3,108,170,  9,248, 61,239,124,226,226,214,230,250,250, 26, 16,150,213,
- 10, 12,202,241,162, 52, 61,172,181, 93,191,122,241,252,197,  7,247,119, 30, 60,124,120,119,111,255,238,253,135,187,  7,135, 67,
-109,139,197,170,149,242,228,163,151,126,230, 39,254,242,179,239,123,207,238,189,157,219,183, 30,174, 63,246,232,245,155,215,110,
-237,220, 91, 27, 86,175,127,239,181,173,233,108,227,194,  6,145,100, 72, 21, 65,152, 57, 37,  4,112, 16,119, 37, 36,102,170,138,
-  8,174,224,102, 77, 56,155, 55, 38,142, 37, 60, 50, 50, 73, 80, 28,123,145, 56, 75,164, 46, 17, 99,107,174, 45, 96, 15, 98,238,
-146,115,120,236,204, 20,  9,107,105,204,148, 19,107, 43,205, 92,128,152, 72,221,204, 32,117,130,103,180,114, 55,  3, 26,205,157,
- 66,132,152, 76, 27,142,188, 16, 68, 55, 34, 34, 34,  1, 84,142,122, 43, 17,130, 10,140,167, 19, 38, 34,114, 64, 38,142, 41,  1,
- 49, 19,176,155, 26, 52,226, 12,140, 86, 11, 34,114,226, 82, 42, 40, 72, 39,230,170,181, 32,114,128,  7, 36,103, 48,  0,  0,117,
- 23, 30,153,125, 72, 72, 32,173, 54, 64,140,189,  8,191,109, 27,117, 96, 78,110, 54, 50, 67, 16,163,106, 27,129,180,241, 16,213,
- 20,136,136,  9,137, 77, 13,140,192, 13,192,145, 29, 99,126,196, 36,196,181, 44,199,157, 23,202,  8,140, 68,134,179,177,170,187,
-186,183, 58, 40, 19, 35,177, 89,137,210, 53,170,155,121, 74,172,  6, 67, 89, 17, 51,185,  1, 35,186,  6,156, 42,254,  3,194, 88,
- 20, 50, 11,  0,154,214,102, 65, 56, 32, 66,114,  4,100, 71, 38,107,110,213,144, 72, 56,215,225, 20,226, 21, 70,193,131,138, 83,
-188,  3,185, 27, 34, 26,  1, 75,151,192,177, 12, 43, 17,110,238,225, 96, 28, 86,131,107, 67, 66,111,109,124,225,177,152,154, 91,
-197, 52, 69, 97, 66,215, 85,165, 88,107,135,113, 17,125, 88,173,214, 38, 61,112, 82,195,214, 76, 85, 83,202, 68,104,102, 96,218,
- 39,169,138, 10,  4,222,136,176, 26,186, 26,161,115,159,181, 85, 48, 99, 17, 36,  0,192, 24,130, 49, 32, 82,114, 85,111, 13, 56,
-210, 60,142, 64,194,236,214, 98, 47, 11, 68,232,134,128,106, 13,200,  4, 18,133, 61,180, 66,112,161, 17, 49,246, 28,174, 81,163,
- 21,228, 36,137,220,206,158,219,241,208, 66,138,105,134, 70,254,197, 93, 68,  0,  7, 25,171, 69,163,150, 41,200,145,163, 35, 42,
- 82, 98,  8, 60,202, 60,  1,221,226,102, 38, 86,219, 40, 58,138,212, 83, 92, 30, 99,139, 13, 64,196, 58, 62,211,149, 70, 58, 54,
-142,185,218,168,135,185,219, 72,230, 20,243, 10, 56, 78, 89, 96, 20, 37, 70,252,214,222,174,  5,198,159,232,230,253,116,218,238,
-222, 63, 89, 14,179, 94,220, 13, 34,179,115,246, 30, 64,148,241,171,233,196,142, 16,234,153, 72, 42, 32,142, 23,195,120, 85, 32,
-193,152,130, 38,160,248, 47, 84,164,  4,  1, 24,194,  0, 39, 16,140,151,  8, 15,168,207,217, 35,  0,154,153, 46,151, 67, 41,128,
-222, 77,250,103, 63,254,209,231,152,172,233,238,253,123, 47,125,255,141,189,131,213,206,157,157, 63,125,229,123,203, 82, 38, 93,
-119,126,107,123, 99,125,125, 99,125,115, 62,237, 19,103,206,196, 44, 73, 40,231, 46,231,174,239,167,169,159,244,253, 84, 82,154,
-116, 61,174, 37, 71, 91,158, 46, 87,203,227,221,187,183,110,190,249,170,186, 79,187,201, 39, 62,254,195, 31,250,145, 79, 28,236,
-239,253,238,215,127,243,167, 62,255,217,225,244,120,177, 56, 80,131,195,163,197, 75,175,191,254,161,103,158,249,214,119,190,253,
-226, 99,239,244,178,114,  4,104,  8, 77, 49, 37, 51, 96,132, 76, 12,173,254, 15,127,251,111,254,206, 31,253,233,198,218, 70, 35,
-211, 86,115,215,109,111,108,181,218,  8,200, 84,193,161,105,139,177, 44,  1,182, 90, 63,252,222,167,250,190, 83, 53, 51,155, 77,
-103, 31,123,254,249,207,124,230,179, 77,109, 50,157,130,211, 43,175,190,  6, 79,182, 27,183,111, 95,187,181,115,231,193,131,213,
- 48, 20,243,182, 24, 38, 57,255,248,103, 95,248,202, 23, 62,173,170,119,239,220, 74,235,235,215,191,255,242,195,239,125,127, 99,
- 99,122,120,120,124,176,179,119,121, 99,115, 50,205,194,162,205, 21,130, 28, 50,126,  1,205,212,192, 28, 76, 56, 81,130, 85,171,
-238,142,156, 16, 49,167, 14, 33, 58,132,241, 56, 69, 74, 57,139,171, 25,186, 75, 78, 35,146,158, 32,247,221,104, 24,163, 68,200,
-241,  5,213, 82, 78,151, 67,206,194, 35,154, 70, 82,192,143,220, 83, 74, 62, 42,188,226,235,193,103,103, 43, 72,146,136,197, 74,
- 68,205,  8, 37,155,233, 72,123,113,116,  4, 38,  2,228,177,177, 77, 33, 81, 26,241,134,169, 79,181, 52,  0, 15, 69,158,105, 35,
-102,  2, 80, 43,194, 25, 88,172,213,161, 86,  2, 28,159,252,224,136,236,232,216,140, 18,213,178, 66,226,156, 82,220,141,221, 44,
-158,251,241, 61,119,119, 55,100,145,104,  3, 17, 16, 75, 48, 97,  4,193,213, 12, 34,216, 35,210,180, 98,152,233, 41,150,194,224,
-110,228, 20, 41,173,152,210,140,226, 87, 96, 80,111, 90,137, 50,184,134,129, 62,236, 36, 65,  7,118, 51, 66, 84,115,145, 17,194,
-133,128, 68, 29, 34,168, 58, 75, 66,211,214, 20,  0,162, 95,  0,163,201,131,153, 32, 80,248,  6, 96,136,221, 36,153,186,171,130,
- 27,  3, 26,161,187, 27, 24,  2, 83,226,128, 18, 59,162,105,149,212,163,164,148,194,158, 75, 96, 45,126,199, 36, 34,147,201,112,
-114, 72, 44,128,160,173, 34, 80,234, 18, 18,101,183,178, 90,106, 27,136,197, 69, 76, 21, 49, 17,153,153, 86,213,142,147, 18,154,
- 57,212,202, 34,158,114,171,133,200, 72,164,  1,158,158, 12, 76, 48,153,117,165, 53, 64,100,164,212,101, 83, 31, 81,107,224,222,
- 84,107, 35,169,204, 29, 34,116,137,107,169,230,208,106, 37,128, 81,237, 11,160, 69,153,  9,  0, 76, 13,160,178,  8,117, 83,211,
-218,154,163, 41,165,222, 90,117, 48,171,134,  4, 73,146,161,184, 14,102,114,198,103,140, 60, 36, 26,186, 48, 18,231,214, 66,179,
-213,136, 48,117, 29,  1,105,112, 72,226,123,135,224,148,180,148,152, 67,165, 44,110,222, 90,105,165,184,187,140, 97,198, 49,142,
-248,175,218, 73,129,138,119,120,155, 83,112, 54,163,  7,208,218, 16,129, 41,153, 85,243, 58, 22,220, 34,170, 96,128,  0,110,141,
- 32, 74,171, 24, 61, 67,  3, 37, 20,  4,114,215,  8,179,140,201,106, 56,203,157,141,117,168,241,  1,122,134, 47, 59, 59,128,  0,
-132,180,151,  0,207,109,174, 63, 60, 56, 90,127,244, 66,169,198, 36,128, 42, 68,218, 52,226, 51,145,135, 69,112, 36, 68, 54,107,
-209,207, 54,116,114,114,194,241,234, 48,162, 17,  4,128,200,220,  9, 35,102, 27, 16,232,120,228,171,187,142,140,228,241,236, 31,
-255, 38, 20,241,128,120, 93,185,171,170, 46, 22,139, 88,225,174,111,109,253,200, 15, 63,251, 91,223,248,227,223,251,163,111,189,
-118,227,230,167,158,123,126,123,107,253,254,238,222,235, 87,223, 60, 58, 57,238,251,188,177,190,121,254,252,185, 11, 91,219,211,
-105, 63,157,206, 24,129, 25,  9, 40,229,110, 54,157, 38,233,186,233, 44,165, 46,229,220, 79,182,231,235,235, 90, 74, 25,202,201,
-233,241, 80,135, 86,245,245,111,127,235, 93,143, 93, 42,101,200,235,155,107,243,181,217,164, 59, 58, 89,188,114,237,198,149,139,
-151, 76,245,232,224,112, 99,115, 99,121,184, 39,147, 57, 79,167,186, 28,242,100,138,222, 82, 74,127,247,191,255,219,255,248,215,
-127,147, 57, 61,220,223, 27, 90, 69,132,182, 82, 97,110,173,196, 20, 34,170,192,113, 57, 51,183,196, 60,233,242,233, 98,129, 72,
- 79,189,235,  7,127,248, 35, 31,221, 62,183,209,245, 51, 18,249,157,127,246, 27,111,188,246,202,213,107,111, 14,195,112,253,238,
- 91, 15, 15, 78,139,181,229,170,144,234, 11, 31,124,207,159,251,210,231,207,111,111, 62,184,127,127,178,185,189,191, 58, 93, 60,
-188,255,206,119,255,192,206, 31,125,231,251,223,125,109,123, 99,109,243,220,102,238,114,164, 44, 42,214,113, 81,147,200,154, 69,
-199, 26,212, 73, 88,171, 41,120,230,228, 96, 34,226, 26,114, 92,200, 97, 66,  7,204, 57,  1,178,187,147, 41, 50, 35,146, 89, 35,
-238, 56,200,130,238,204,145,192,179,156,186,161, 22,100,154, 79, 59,179,120, 36,  9,178,171,170, 57,  8,163,131, 51,137,189, 13,
-209,139,128, 61, 64,238,123, 83,  4,109, 30,140, 64,119, 98, 38, 32,  0, 30,133,238,161, 37,116, 35, 97,  7, 32,162, 40,136, 34,
- 65,128, 33,213, 92,152,192, 65, 56, 53, 80, 34, 86, 45,110,209,218, 35, 68,200,146,  3, 56,  5, 30,127, 10,  2,120,234,165, 21,
-165,208, 73,171,143, 50,  2, 64, 48,123, 27, 44, 67,  8, 14,134, 30,146, 63,118,  3, 51,141,241,135,129,159,145,100, 80,181,153,
-130,116, 56,158,240,131, 75,235,216,154, 33,115, 52, 91, 17,188, 25,  1,145, 89,163, 51,253,171, 42,196,110,211,154,  5,  1,198,
- 65,  9,216, 84, 57,146,215,142,200,140,146, 64, 27, 33, 37,162,166,213,194, 75,  5, 96, 77,213,148,137,133,146,  6,  6,153,101,
- 44, 17, 57, 88,173, 65,169, 66,201, 96,142,110,220,101,107, 10,224, 90, 27,  9,121,115,  4, 71,150,216,177,155,153,170,145, 90,
-164,143, 42, 53, 34,  6,215, 60,157,107,173,174,141,137,157, 40,165, 84, 22, 75, 71,101,230, 48,235,157,229, 44, 44, 88, 20,140,
-160,110, 99, 86,149,178,  5, 80,137, 25, 60, 91, 45,204,172,181,102, 97,  7,226,177,125,137, 94, 13,163, 66,135,224,109, 60,251,
-198, 56,  0,137,173,233, 56,244, 33,140,  0,110,107, 21, 73,146, 72,109,213, 90,147, 62,129, 59,139,184, 91,171,154, 66, 45, 87,
-203,216,245,100,112,211,102,205, 96, 28,214,199,215, 47, 32,  2,156,152, 99,101, 24,145, 93, 51, 34,102, 18,107, 96,228,241, 91,
- 65, 96,  7,109,102,208,138,197, 44,197, 89,209,136, 29, 60,  1, 33, 34,242,191,253,181,159, 12,202,  3,112, 60,116,199,146, 66,
- 60,112,221,194,199, 21,138, 38,  0, 87, 10, 90, 19,130,155,186,213,113, 55,233,103, 22,148,113,186, 98, 99,155, 96, 28,144,194,
-216, 31,119,  3, 60, 83,  3,  4,154, 17, 99,154,159,130,124,233,160, 65,173,  4, 66,114, 15,108, 11,140, 41,158,200,194,251,124,
- 62,219,221,125,176,182, 54,163,120,153, 32, 56,208, 56, 96, 57,219,242,198,145, 16,157, 16,  1,213,198,162, 35, 33,134,112, 19,
-199, 85, 65, 24,122,199, 63, 35,238, 10, 20,175, 42,139, 42,  4, 24,160,  5,146,231,237, 59,  8,156,129, 19, 60, 36, 49,132, 62,
-242, 23,180,153,  3, 18, 19,148, 87,223,120,227, 51, 47,252,232,127,254, 55,254,171, 23, 62,249,185, 63,251,226,143,126,225,203,
- 95,254,212, 71, 63,241,200,246,214,106,177,188,117,251,238,203,175,190,122,245,250,245, 59, 59,247, 79, 78, 22,195, 80, 12,125,
- 24,134,227,211,211,227,227,163,227,227,189,163,163,253,211,163,189,211,197,137,213,  1,220, 89, 48, 75,126,223,199,159,187,119,
-251,214,111,255,234, 47,205,166,179,115,151, 46,182,213,106,103,119,247,244,116,209,106, 61, 93, 13,139, 97,121, 97,123,163,148,
-242,222,119,191,211, 83,143,146,235,233, 41, 96, 75,179,201,172,159,252,234, 47,253,195,255,249, 23,255,143,190,235,114,234, 87,
-101, 89,181,182, 86, 75, 45, 67, 41,196, 24, 54,203,197,106,209,106,115, 83, 97, 34,226,156,152,192, 54, 54,230, 47,126,234,133,
-143,124,240,  3,243,245,245,214,170,145,124,243,247,127,175, 44,235,239,125,243, 27,183,238,188,117,188, 92,238, 29, 31, 13,181,
- 45, 78, 86, 87,182, 55,126,254,103,190,242,111,124,241, 69, 93,157, 62,184,123,239,202,211, 79,237,157, 30,190,244,167,223,157,
- 76, 38,191,243,  7,127,114,124,111,239,252,230,124,146, 66, 53,133, 89,114, 48,172, 19,243, 25,132, 20,171, 58,161,199, 32,158,
-153,137,  8,193, 83, 74, 76, 76, 36, 99, 43,221, 29,156, 82, 78, 49,206,205, 93,242,209,134,225,153,196, 65, 91,177, 46,167,216,
-159,  3, 33, 18,215, 86,137,  8, 25,181,153, 48,139,196,176,193, 51, 11, 50,185, 65,102,113,143,239,102, 20,203, 13,153, 88, 68,
-139, 34,141,171,203,176,253,197,208, 63, 10,218, 24, 95, 83,138,167, 58,138,164,216,178,  1, 70,205,149,180, 68, 61, 53,  0, 30,
-227,212,146,  3, 32, 99,234,238,146, 50, 34,169,106,146, 28,233,158,148,187, 56,244,113,150, 17, 74, 12,222,245,189,182,166,214,
-130, 99,192, 34, 66,168,205, 20, 65, 88, 40,177,171, 35, 64, 55,157,184,121,188,  3,152,  8, 29,204,205,221, 83, 18,119,143,227,
-164,187,143,186, 55, 14,221, 21, 68,103,133,162,145,136, 56,254, 34, 88,252,140, 15,197, 20,169, 83,178, 86,199,126,187, 53,  2,
-140,236, 16,184,230,174,115,247,213,106,129,  8,146,187, 56, 57,185,134,109,  3,213, 44,162, 71,196,136,194,232, 97,171,  7, 36,
- 20, 73,173, 52, 14,254,101,107,227,  8,118,108,244, 90,252, 81,163,118,  2, 17,  1,180,213,113,171, 64, 68, 28,232, 39, 10, 66,
-125,202,  2,238,218, 70,110,149,170, 82,252, 44,129,154, 41, 49, 50, 73, 60,114, 66,112,239,102,110, 17,218, 33,215, 70, 12, 68,
- 84,106, 57, 61, 62, 93,155, 79, 82,223,161,191, 77,160, 68, 36, 50, 13,138, 35,217,255,199,212,155, 61, 89,150, 93,231,125,107,
-218,231,156,123,111,206, 53,245, 80, 61,119,163,187,209,  3,128,  6,209,104, 16, 36,  8, 82, 32,130,146, 41, 75, 14,218, 82, 40,
-252, 96, 61,248,143,112, 56,194,255,134,159, 28,122,176, 21,114,132, 77,209,164, 77,147, 65,145,  4,105,138, 34,  1, 18,108,  0,
- 13,160,231,161,170,107,204,204,202,225,102,230,189,247,156,189,247, 90,203, 15,235,220,130,186, 30, 43, 58, 43,171,242,158,125,
-214,254,214,247,253,190,224,178, 37,102, 78, 53, 23, 51, 67,162, 36,172, 21,106,205,196,152, 36,245,171, 30,220, 89, 24,  9, 93,
-161,148,162,165, 50, 17,113,114,112,171, 97, 47, 68,140, 43,193,154,204, 70,140,204, 73,221, 97,237,245, 76, 44,134,  8,160,109,
- 59,225, 36, 86, 45, 32,116, 36,225, 48,  3,  4, 55, 51, 64, 71,119,162, 68,  0,234,134,104, 72, 99, 45,162, 16, 85, 51,252,222,
-255,249,111,  1, 49,152,253,  1,162,  9, 14,117, 44, 64,109,156,162,105,173,225, 88,180,216,196, 74,218,193,198,  8,  3, 32, 49,
- 89, 29,139,225, 71,160, 12, 50, 34,  1,152,122, 37,143, 94,  4, 48, 55, 26,141,145, 35, 99,220, 29,144, 18,184,131,107, 56,103,
- 12,198,181, 21, 34,135,117,114, 13, 81, 64,119,107, 82,115,247,246,173,141,237,203, 91, 27,201, 20,194, 78, 59,158,255, 33,180,
-  3,152, 41, 35,226,248,185, 13,225,137,227, 61,195,200,145,126, 69,230,177,138, 21,105,141,204, 10,132,224, 56,159, 43, 16,199,
- 31, 29,  3, 60,254, 98, 59,235, 22,188, 52, 32,105, 16, 43, 99,128, 93,199,118,175,205,217,204,251,197,141,251,244,194, 43,175,
-212,220,183, 91,155,186, 26, 56,165,217,238, 46, 52,  9,150,171, 91,183, 62,255,240,253,247, 62,248,232,163, 79, 62,253,240,246,
-237,219,224,222, 54,205,165,157,221,189, 75, 59,179,217,180,109, 82,219,180,137,  8,208,146, 52,210, 52,147,182, 61,191, 56,191,
-241,201,103,167,171,213,107,207, 63, 55,228,161,154,175,150,171,119, 63,249,228,222,193,241,209,124, 14,136,223,124,227,181,182,
-105,191,241,214,183, 94,124,238,249, 73, 71, 27,123,215,218,173,237,201,100,243,253, 31,253,224,127,248,159,254,199,219,135, 71,
- 40, 50, 63, 61,203,185, 18, 33, 49,108,207, 54,174,238,238, 73,195,203,126,149,139,158,206,207,230, 23,231,134,222,164, 22, 29,
-159,120,236,234,175,189,241,149,111,190,249,181,237,189, 75,192, 92,242,234,236,232, 32,211,198, 66,235,151,223,248,230,127,252,
-139, 63,255, 95,255,221,191, 65,116,230,212, 16,125,251,107, 95,250,231,223,253,213,141,173,233,221,155,183, 73,232,116,190, 88,
-106,249,249,207,223,155, 77,167,159,221,184,181, 51,155,238,206, 54,153, 49,165,134,145,187,110,210,164,142, 19,150, 82, 28,188,
-154, 51,162,170, 73,147,  8,160,105, 36,168,  7,102,206,137,  8, 24, 17, 70, 14,164,  1, 18, 16, 81, 45,202, 66, 34,226, 96,110,
-104,106, 44, 88,114, 14,111, 28,137,160,163,129, 51,177, 19, 32, 48,163,143,174, 47,140,254, 32, 18,110, 29, 52, 60, 35, 90, 20,
-  8,220, 20, 20, 88, 88, 71, 22,180, 19, 53, 99,126, 58,145, 27,160,171, 90, 69, 96, 68, 86,173,238, 74,110, 16,118, 78,150,241,
- 17, 32, 54, 45,190,102,159, 68,221, 89,240,226,221, 67,174,244,245,199, 44, 60, 17,  8, 30,228, 22, 64, 20,183,234,224,137,147,
- 89,209,234,156,216,215,151,137,174,155,212, 82,188, 86, 12,162,128, 21,183, 74,148,136, 89,132,107,169,205,214, 54,186, 14,103,
- 23,193,228, 41,101, 96, 17, 87,143,129,154,133,109,253,249, 37,  4, 34, 30,134, 65, 56,  1, 83,160, 40,205,130, 47, 24,101, 63,
-236,235,108, 48, 17, 97,144,126, 17, 84,139,155, 18, 11, 16,228, 97,144,212,144,133,126, 43,128, 12,164, 94,235,  8,159, 51,119,
-192, 96,240, 86,211,182,155,184,186,150,138, 76,230,170, 90,132,133,136,163,140,162,148,236,166, 72,  9, 64, 49, 37, 52,167,166,
-  1,175,174,166,170,241,228,197, 90, 46, 28, 44,194, 82, 93, 53, 40,205, 97,188, 49,139, 26, 96, 51,183,216,214, 34,197,199, 37,
- 10, 99,181,228, 32, 10,152,187,170, 49, 50, 49,105,169, 36, 76,192,195,176, 52,245,139,229,194,221,174, 94,218,171, 78, 65, 76,
- 33, 70,140,251, 25,  9, 18,235,176,138,210,225,178, 42,146,152,132,221,131,137,225, 14,100, 53,107,173,  0,198,146,192, 71,114,
-117,238,  7,100,148,196,238,241,186, 18,243,242, 80,230, 96, 68, 68, 12, 69, 43,162, 89,238,230,166,238, 22,  6,  1,110, 90, 98,
- 25,155,223,173,130, 26, 49,170,153,  8,197,  5,119,220,118,198,220,236, 70,148,156,192, 84,213,140, 25,173,232,106,185, 18, 64,
-240,232,  4, 64, 26,231,228,117,  1,147, 59, 34,136, 91,  5, 86,115, 32,160,166,237, 74, 94,169, 22, 66,102, 18,243, 10, 16, 37,
-234,102, 10,  4, 49, 58,192,154, 61,109,163, 99, 50, 46, 59,230,107,124,196,248,172,122,192,155, 28, 16, 52, 80,199,235,234, 26,
- 28,235,162,  2,220, 49,222, 13,192, 61, 26,  6,108,119,123,231,248,226,226,210,206,149, 65, 53,228,150,113, 98,139,107, 60, 96,
-224,237,226,107,174,153,177, 20, 78, 27,163,145,104,191,134,101,  5,119,202,192, 28,200,137, 19,  0, 24,  0,163,243,195,247,184,
-195,104, 46,122,200,234,  1, 15,178,166,105, 70,198,117,189, 13,128, 27,154, 93, 44, 87, 58, 12,127,240,135,127,252,223, 63,246,
-228,222,181, 61, 48, 42,106,216,201,249,233,169, 86, 21,198,199,159,120,242,137,231,191,240,143, 16,250,163,131,147,243,197,221,
-123,183,110,220,188,253,217, 71,239,223,189,115,251,167, 63,127,183, 47, 58,219,152,238,110,110,237,237,108,238,110,237,182,140,
-203,213,162,148,114,249,210,229,179,219,183,127,242,222,  7,207, 60,254,152, 17,167,166,217,219,222,154,159, 93,172,134,238,108,
-177,250,248,198,237, 55, 95,127,233,207,254,226, 79,135,161,183, 58, 72,106, 39, 27,155, 27, 93,243,123,191,255,187,251,167,103,
-147,201,180,154, 49,209,227,215,174,236,108,109, 94,218,217,217,154,117,128, 80,171, 86,173,102,182,234,247, 46,150,171,139,101,
-127,177,236,175, 63,114,245, 55,127,245, 87,190,244,234,203,237,100, 54,172,150,249, 98,245,224,193,225,253,251,247, 30,123,230,
-165,183,190,254,173,247,223,253,249,211, 79, 61,245,242, 75,175,254,228,221,159,255,218,151,190,252,221,183, 94,125,233, 11,207,
-156,156,236,159, 28,174, 38, 91,155, 63,123,247,253,199,175, 63,118,122,112,126,235,246,225,181,221,205,199,119,247,218,134, 29,
- 16, 81,  8,153,133, 13,220, 80,  5,132,147,160, 91, 29, 42, 48, 10,176,171, 73,219,  0, 34, 33,171,153,169, 17,184, 75, 48,204,
- 24,192, 57,174,205, 12,200,  2,174,  0,100,238,200,200, 68, 40, 44,241,241,138,110, 53,112, 38, 66, 70,244,224,227, 57, 58,186,
-106, 85,109, 82,  2, 68,181,  1,145,137,  4,221,152, 73, 53,  3, 16,114,160,131, 29,132,131, 29, 31,152, 92, 55, 69, 64,173, 38,
- 77, 19, 89, 39, 97,174, 22,126, 43, 90, 55,140,115,192,243, 71,230, 33, 58,128, 51,177,105,193, 17,193,228, 90, 11, 34,115, 35,
-102,  6,110, 44,141,187, 18, 11, 11, 23,205, 14, 21, 28,164,105,  3,104,204, 45,  6,  2,132,  0, 89, 34, 79,148,144, 37,182,138,
- 72, 84,149,153,197, 93, 75, 85,  4,239, 79,142, 48, 46,153,132, 64,158, 82,  3,  0,158, 32, 86,196, 62, 14, 76,152, 82,210, 82,
-106,173, 73,196,  1, 92, 43, 34, 19,187, 23,139,112,144,  3,148, 60,116,147,137,186,187,123,209,146,226,122, 75, 17, 29, 97,112,
- 87,133,182,233, 76, 77,213,136, 83,188,165,116, 40, 36,140,163,241, 20,  3, 34, 29,134, 63, 55, 80,171, 36, 20,171,  2,228,134,
-136, 28, 64,173,198,218, 54,110, 12, 14,196,142, 14,102,181,152,213,117, 28, 29,152, 57, 54,203,  4,164,238,213,106,173,133,136,
- 92, 29, 34,193,134,228, 53,115, 34,100,  2, 68,175,185,150,156, 36,141,  7,101,172,  3,181,154, 25, 32,172,111,134,142,140,238,
- 94, 44, 35, 51,184, 14,185,110,206,218, 96,187,  3,161,170,150,193, 83, 51, 58,154, 64,  1, 89, 24, 92, 75,149, 36,  8,144, 75,
-145, 17, 22,133,170, 53,210, 21,  0, 68, 68,238, 24,141, 95,156, 72,213,180, 26, 11,  2,160,179, 65, 37,112,179,234,220, 16,178,
-120, 85, 18,202, 67, 17,118, 70, 82, 71, 55, 80,173, 49, 55,128,187, 89, 89,167, 70, 41, 16,208,142,152,139, 65, 92,244,251,123,
-  0,  0, 32,  0, 73, 68, 65, 84, 85, 16,144,212,154, 41,130,  3,178,170,142, 53,216, 44, 14,170,181,198, 41, 43,163, 80, 49, 54,
-122, 96,208, 51, 16,137,193,117,116,143, 64, 44, 98, 20, 32,175,  6,  3,224,224,106,140,110,  6, 66,148,167, 94,122,246,232,254,
-254,197,201, 41,196, 90,  6,217,189,128,213,248, 93,  0, 55,119, 33,212, 81, 94, 71,  8, 87,127,116, 66,  5,191,192, 28, 24, 71,
-121,124, 92,118,233,200,234, 27, 15,254, 17,140,103,174,237,164,237,143,231,232,177, 45,  3,246, 16,243, 71, 33, 31,220, 57,234,
-113, 41, 44,237,182,214,144,192, 29, 25,208, 70,192,177,197,197,  5,209, 84, 61,172, 67,230, 70, 76,100,  0, 64, 15, 21,195,181,
-130, 19,103,189,141,104,181, 53,157,202,171, 59, 35,241,184, 64,246, 16,160,220,223,123,255,221, 15, 62,248,248,141,141, 87, 64,
- 85,152,128,192, 74,129,106,142,188, 58, 59, 39,233,221,212,129,246,118,118,247,118,247, 94,127,245, 43,192,191, 93,170, 61,184,
-127,255,206,135, 63,251,135,119,222,249,233,187, 31,124,252,233,141,201,228,206, 80,244,210,238,229,221,205,141,249,114,104,219,
-110,255,232,206,116,214,238,109,108, 59,209,222,246,206,131,227,211,161,148,101, 94,221, 59, 56, 58, 57, 91, 92,218,217, 94,172,
- 22, 47,126,225,229,227,163,  7,139,243,147,211,253,229,179,207, 62, 55,157,110,150, 92,150,253,106,119,123,231,185,103,158,220,
-156,117, 94,243,233,217,249,173, 59,119,247,143, 78,246, 54,102,109, 55, 81,211,147,243,243,154,203,203, 47, 60,247,242, 23, 94,
-218,187,186, 71, 32,231,167, 39,243,249,209,225,225,131,131,163,227,251,199,135,127,244,215,223,255,151, 67,189,122,237,250,209,
-209,193,191,252,111,254,219,139,255,229,127,254,205, 55, 95,252,194, 11, 79,222,186,249,233,229,107, 87,101, 99,243, 79,254,195,
-247,106,191, 80,240,183,127,242,222,222,214,198,172,155, 16,  0, 97, 34,  6, 96, 34,  1,150,134, 56, 26, 54, 80,107,149, 70, 90,
- 67, 35,144,196, 41, 49, 16, 49, 38,247,202,204, 30, 81,205,  0,224,226,250, 66,235,166,  3,160,152, 35,152, 43, 11, 58,128, 43,
-146, 25,139,152, 42, 33, 57, 33, 17,137,136,153,229, 82,201, 92,132, 75, 45,132, 40,156,108,252,  0, 56,161, 59, 84, 66, 10,103,
-  5, 26, 35, 65,214,154, 72,128, 88,205,153, 48,181,169, 86,139, 38, 16, 23,  6, 68, 32, 79,148,220,130,132,238,174,154,218,  6,
- 17,115, 45, 68,  6, 64,194,  2,204, 96, 26, 48, 39,225,196, 34,160,213,213, 48, 49, 35,  3, 49,228,146,218, 86, 77, 67,110, 41,
- 81,204,  4,201, 37,248,169, 42,210,150, 97,  8,247, 61, 32,113,219,160,249,120,251,  0,142, 41, 39, 97,114, 51,171,138,204, 14,
- 68,173,160, 65, 56,193,199, 34,107, 48,112,151,166,209, 82, 25, 81,154,206,181,  6,214,145, 16,221, 12, 71,132, 50,154,186,176,
- 16,249, 80,  7,116,145,148,170, 90,112,229, 18, 39, 45,153,155, 54,170,249, 34, 13, 32,228, 80,  3,233, 21,223,175,187, 43,183,
-201, 21,107,237, 83,219, 70,164, 68,154, 73,156,224,241,164,155, 59, 19, 99, 98,  0,179, 92,194,202, 15,  0,169,109,205,212, 29,
- 74,173,106,  5,137,192,141,153, 85, 13, 32, 14, 40, 77,169,  1,130, 90, 98, 17, 33, 73,216,180, 26,154,235, 90,116,137,100,111,
- 84,241, 50, 11,242, 80, 74,180,  5, 55, 77,155,115, 30,245,166,234, 36, 76, 78,106,  5,  3, 26, 42,220, 52,221,241,209, 73, 25,
-122,217,232,214, 86, 35,  8, 51,103, 41,165,109,219, 64,218, 49, 49,184, 73,211,230,156,173, 90,155, 18, 32, 91, 20,234, 26,  0,
- 99,234, 58,173,197,170, 73, 74, 76, 28, 41, 48,138,192,141,123, 53,147,113, 76,  5,138,227, 94,195, 87,128, 77,211,128,187,153,
- 17,  1, 10, 43,132, 15, 42, 94, 21,129,221, 53, 34,230,182,201, 67, 14,219, 24, 51, 69,106, 86, 49, 58,204,200,  1, 24,209,136,
-205, 28,129,148, 72,208,  7,173,252,175,255,197,239,  0,211,152, 22,197, 40,239,137,252,207, 72, 20, 48,112,  2,139,104, 49, 32,
- 32,104,244,123, 69,163, 49,162,  1,225,116,107, 99,117,113, 81,134, 12,235, 54, 15,  0, 36, 74, 30, 39, 30, 18, 32, 71,149, 19,
-141,253, 79,164,102,142, 30,209,159, 32, 34,132, 49,115,116,203,140, 49,211,135, 70,118, 71,  4, 70,138, 49, 90, 26, 94,204,207,
-157,100,218,166, 88,164, 32, 71,205,  8, 34,193,120, 73, 12, 23,206,120, 48,115,136, 94,184,  6,144, 69,253, 50,132,137,127,116,
-144,  5,136,201, 70,171,205,250, 18,243,139,133, 47,  2,128,193,184, 24,142,215,144,  1, 17,137, 32, 33,150,248,184,  3, 34,138,
-180,101,181,252,189, 63,250,179,141,217,244,139, 47,190,156,102, 27,205,108,106,165,172,161, 56, 44,109, 75, 76, 62, 82,250, 44,
-231,222, 74,  6,103, 93,173, 58,150,167, 95,122,245,173,239,124,231,159,126,247,183,158,188,122,233,133,167,159,190, 24,234,205,
- 91,159,223,188,123,239,228,244,120, 85,202,208, 15,253,170,223,158, 78,221, 29, 72,  0,109,185, 88,170,249,114, 40,243,179,249,
-107, 47,190,112,116,124,242,196,245, 39, 38,211,174,233,218, 82, 43,131, 62,245,196,227, 47,190,244,236, 87, 95,127,253,165,231,
-158,106, 18, 31, 29, 29, 30, 62, 56, 62, 61, 59, 35,192, 47, 62,247,220, 83,215,175,129,219,124, 62,103,162,175,126,229,181,151,
-158,123,113,115,119,135,128,143,246,239,220,189,115,235,214,157,123,183,246,247,239,236,239,127,242,249,221, 91,247,247,191,254,
-213, 55, 31,125,252,241,239,125,239, 79,158,186,254,244,116,186, 49,191,255,241, 35,123, 27,171,161,220,188,125,247,251,255,240,
-246,139, 79, 61,250,119,111,191,123,247,238,254,181,141,217,230,172, 19,100,  2, 70, 22,230,196, 66,179,110,218,182,173, 69,176,
- 12,169,147,177, 45,152,137,153,  8,204,153, 24, 99,225,204,236, 16,185,209,148,162,132, 19,130,136, 36,230,227, 47, 33, 41,197,
-220, 93,136,128,208, 17,144, 88,  1,136,198,107,187,131,119, 41,185,234,144,  7, 51, 72,146, 20, 52,165, 54,  4,127,117, 75,210,
-134, 14,209, 36, 42,181,230, 90, 36,138,120,172,144,  8, 16,148, 90,226, 94, 63,106,211,110, 68,108,181,144, 52,137, 17,  0, 57,
- 73,184, 38,  9, 49, 49,115, 26,255, 92,112, 48,171, 44,140,200,102,165,228,210,180, 83,  2,172,246,240,204, 53, 38, 97,  2, 53,
-195,145,154,142, 14, 94,189,180, 77, 87,107, 86, 48,102,  1,196, 16,184,221,109,212,166,205,  1, 42, 50,147, 48, 49, 25,232,200,
-104, 10, 65,149,200, 32, 56, 53,228,224,  6,128,106,156,146,176,184, 42, 16, 49,146,175, 87, 94,163, 64,132, 35,226,219,204, 24,
-121,  4,175,  3,112, 18, 68,180, 81,119,  4, 55,101, 78, 68, 80,171,154,107,132,245,144, 27, 51, 11,153,165,150,130,  8, 41, 53,
- 41,117,146, 18,177,172, 22, 23, 97,202, 48,173,210,180, 81,218,227,102,174,217,199,  2,136, 58,210, 52, 71,155,156, 69, 86,  9,
-129,  0,101,141, 26,  4,198,228,136,170,217,209,171, 86, 26,229,221, 17, 68, 59,154,250,133,221,  0,193, 83,147,130,101,130,225,
-  7, 49, 47,121, 32, 33,102,114,119, 73,  9,145,107, 41, 57, 23,119,107,186, 14,144,181,234,233,217,121, 39, 52,153,205,  0, 80,
-154,198,212, 21,128, 16, 83, 74,102,166,213,208,163, 62,139, 99, 67,205,140, 85, 85,107,173,181,198,242, 88,146,184,  1,  2,113,
- 98, 32, 28,135,205,248,201,169,154, 85, 22,138,221, 28, 18, 19,178,170, 66,236, 62,152,  3,223, 54,174, 15,  1,153, 41, 53,201,
- 77,  9, 49, 10,168, 83, 34, 96, 41,125,209, 90, 25,  9,137,204,107,232,207,225, 37,115, 55,102,174,213,115,206,104,198, 18,199,
- 23,149, 82,248,191,251, 23,191,  3,224, 28,105,145, 96,177,  1, 19,137,123,229,135,101, 77,177,175,199, 24, 10,204,215, 35,188,
-187,134, 65,241,244,240, 65,201, 89, 34, 76, 28,213, 31, 78,227, 83, 17, 53,101,128,142,196,204,227,138,213,171,240, 90,133,143,
-190, 65,138,159,127, 88,105,198, 31,224,216,143,  8, 54,250, 20, 31,222,183,  1,  4,225,108,209, 95,217,221,169,106,163,253, 43,
-  8,108, 48,166, 83, 31,190, 26,214,225,218,113,147,  7,  4, 20, 29, 81,163,129,107,196,136, 83,112,  8,145,214,255,215, 72, 61,
-255,207, 92,240,107, 95, 79,148, 50,192,136, 99, 30,205,185,  4,235,181,130,139, 72, 93,156,255,193,159,252,229,253,253,131,215,
- 95,251,202, 19, 79, 61,237, 96, 22,128,198,112,164,153,186, 86,115,  3, 45, 72, 13, 11, 73,219,105, 84,163,205,102,139, 97,249,
-217,207,127,254,217,167, 31,191,240,234, 27,175,126,237,173, 95,255,173,223,254,175,126,243,187,223,254,245,111, 63,251,200, 85,
-103, 17,150,123,  7,247,139,215,205,217, 12,137,102,221,100, 53, 12,125, 95, 86,195,112, 60, 63,107, 89, 54,166,221,103, 55, 63,
-237, 23,103,195,197,217,238,238,246,245, 39,174,111,110,110, 47, 23,139,155, 55,111,124,248,241, 71,247,247,247,135, 85,143,136,
- 77, 74,179,233,228,246,225,254,223,189,243,238,135,159,221,188,186,119,233,245, 87,190,248,196,245,235, 41,137,214,122,239,246,
-173, 27,183,110,222,188,117,247,206,225,131,123, 15, 14, 62,187,187, 63,191, 88,129,251,175,188,245,214,213,107, 79,124,255, 63,
-253, 85,206,171, 87,191,242,198,189,195,147,147,253,123,105,107,230,102,247,238, 31,124,250,241,231,179,212, 92,221,222,110, 83,
- 23,194,  2,  9,165, 70,218,182,221,232,102,  1,144,106,154,212, 38,137,102, 48, 98, 36,226,182,109, 25,133,133,185,145,168,149,
-  8,248, 84,172,187,181, 42, 51, 55,209, 53,170, 21,  9,132,133,137, 12, 92, 18,197, 14,159,144,152,  4, 69, 90, 22, 38,138,162,
- 75, 68,172,165,  6, 42, 81, 82, 66,162,166, 73,128, 81, 65,229, 76,132,232, 36,204, 72,170,138,177, 41,  5, 39, 20,150, 20,184,
-193,200, 72,120,141,  1,130,146, 52,102, 70, 12,113,193, 67,230,184, 85,172,171, 10, 16,204,136,  4,192,137, 88,132,133, 57, 70,
-230,201,100,106, 90,221, 97, 93,230, 14, 44,  4,128,185,150, 70,154,177,244, 44,168,208,128, 57,231,240, 92,147,  8,145,132, 43,
- 49,214,161, 16, 31, 51,  7, 55, 51, 85, 55, 67, 98,112, 67, 87,100, 66, 22, 87,139,180,163, 19,130,  3, 49, 17,179,175, 39,167,
- 68, 88,171,141,237,114, 50, 62, 21,196, 50,150,237, 18, 18,203,168,113, 17,141,117,215,200, 68,228,170, 68,205,136,254, 39, 16,
-110,214,174,188,134, 37, 89,205, 16,166,238,166,113,  5,179, 98,102,110,150, 38, 77,252, 40,153,217,193, 89, 82,108,176, 97,109,
-122,102,110, 12, 44, 42,125,106,169,200,  8,107,239, 54,104,101,102,  2, 66,162,106,149,137, 72, 18, 35, 73, 18,119, 71, 71,226,
-168, 80,164,120, 32, 71, 88, 97,148,196,  1,160,224,168,241, 18, 17,179,176,152, 71,174, 62,220, 56,218, 78, 59, 34, 86, 53,215,
- 90,134,220, 15,195,108, 54,225,148,220,141,  4,133,132, 89, 68,162,147,207, 89,136,132, 49,  0, 67,  0, 66, 92,205,173, 42,160,
- 71,212,107,  4, 50,  3,144,112,148, 20, 33, 11,160,137,196, 59, 50, 20, 93,148,166,197,241,123,240,181, 93,195, 61, 42,109, 17,
-128,176,105,146, 57,130,187,230, 16,171, 67,190,114,119,116,211, 36, 76, 76,170,102,181, 68, 69,109,  8,132, 44, 98,230,165,148,
- 54,113,211, 74,108, 61, 29, 44,  9, 13,165,  8,  6,163, 25,108,124,169, 99, 12,235,128,196,160,  6,  8, 76,  2,192, 14, 15, 39,
-111, 26,173,132,235,109, 99, 68,  4, 99,201, 73, 68,232,236,160,134, 99,137,135,233, 56, 60,  3,120,164,176,105, 77,181,199,  0,
- 90,140,139,166, 88, 20,248,248, 66, 65,128,245, 86,127,124,103,196, 15,222, 60, 10,116,102, 27,155,251,135,183,251,154,133, 81,
-  3,252,141,163, 84,191,198, 12,208,232,118,  7,196, 16, 15,215,189, 34, 96,190,166, 91,142,160, 40,136,124,214,232, 60, 26, 43,
-104,215, 71, 60,172,109,249,136,107,105,117,157,132, 25, 75, 78,124,188,167,140,105,103,100, 26,242, 10, 17, 87, 67,255,127,252,
-238,255,254,226,211, 79,209,214, 54,  0,212, 33, 55,179, 41,152,186,186,107,193,166,  3, 43, 78, 13, 24,214,190,119,173,221,246,
-222,205, 79,222,255,252,195, 15,190,240,218, 87,158,126,241, 69,116, 60, 61, 62,182, 62, 83, 35, 59,179,173, 55,127,249, 55,126,
-229, 55,126, 19, 17,255,175,127,247,191,253,219,223,255,253,173,141,173,157,205, 45, 98,222,219,218,186,183,127,240,200,165,157,
- 55,191,243,173, 23,158,121,122,210,180,205,116,186,123,105,215,115,222, 63, 60,120,247,230,173,227,227,  7,234, 54,235,166, 59,
- 59,219,128, 50, 44,207,151,125,127,112, 60,191,123,127,191,106,221,217,218,126,233,153,167, 95,126,225,197,203, 87, 47,245,125,
-127,126,124,124,120,116,124,251,238,221,123,199, 71,243,139,213,209,233,233,217, 98, 85,213,182,187,  4,147,102,123,107,107,239,
-242,229,183,190,250,181, 31,255,252, 71, 87, 62,127,228,249,151,223,184,243,249,199, 31,126,120,227,213,151,159,157,144,236,237,
-236,204, 38,157,130,245,171, 85, 41, 58,237, 90,146,132,192,196,108,170,146, 18, 68, 87,167, 97,173, 53,  9,143,155,109,194, 64,
-134,153,234, 72,175, 83, 23,  9,254,  4, 54,147,198,170,169, 26,194,216, 86,170, 69,137, 81,132,115,174,130,192,204,213, 10, 66,
- 66,117,133,113, 71,110,  6,106,230,128,210,112,205, 40,140, 64,148, 36, 85, 85,  0,173, 96,140, 66, 72, 85, 11,115,211,182,147,
- 82, 11,141, 97, 33,119, 71,179,232,175, 71,245, 98,  0,157,180, 86,205,216, 56,181,163,251,203, 11,179,152,213,232,138, 67, 67,
-145,164,170,241,123,196,104, 85, 75, 45, 76, 34, 44,165, 84, 36,228,160,116,  9,187,123, 24, 31,133,197,204, 29,161,105, 83,213,
- 98,102,132,136,196, 14,222, 54, 83,  5,245,106,225,144,171,170,137,153, 89,204,117, 93, 58,  8, 76, 80, 53, 74,143,185,214, 98,
-  1,116, 84, 71, 22,  0, 35,145,144,  7, 80,216,181,186,131,134, 58, 73,  2, 60,162, 63,136,193, 67,183,197,136,156, 84, 22, 50,
-163,192,  8,  6, 70,152,137,169,237,134,146, 17,136, 57, 17, 51, 32,155, 85, 66, 48,181,120,138,161,196, 10, 84, 13,204,171, 17,
- 59, 37, 65, 96,228,240,150, 97,173, 89,109,  0,160,104, 67,197,113,  8, 53,116, 52,116,115,151, 70,220,204,214, 81,116,105,187,
-104, 45,119,215,200,129,131,198, 83, 27, 78,188,216,  6, 39, 71, 55,205, 68, 72,192, 81,224,178,222,196,114,117,117,  0,173,181,
-105,  4, 17,133, 69,173, 56, 96,211, 38, 34,210,170,174,202,194, 78,120,126,186, 74,132,179,217,180,239, 11,153,233, 80,129, 93,
-205, 71,249,138,198, 47, 28, 49,125,  0, 46,185,  7, 87,162,113,126,134,112, 19,  6,222, 38, 10,179,194,192,231, 88,173, 34, 96,
- 74, 77, 84,227,104,173, 34, 34,210, 84,172,161,143, 59, 82,180,117,135,244, 87, 77,  1,157, 24, 17, 36,212, 39,213, 74,148, 72,
-  8, 70,235, 45, 69,105, 98, 72, 10, 34,160,230, 53, 23, 66, 76,146,140, 73,163, 48, 18,209, 69, 74, 41,170, 22,229, 24,  1,134,
- 76,235,253,166,153, 23,178, 17,219, 11,  8, 96,133, 25,145,192,107,104, 30,177,213, 15, 82,123,144, 57, 35, 96,229,228,190,246,
- 56, 58,  2, 34, 51, 26,185, 87,136,162, 26, 48,114,  5, 39, 13,108,204, 47,118,167, 30,228,130,241,237, 30,112,190, 17, 98,  9,
- 99,187,196,104, 57,247,200,227,164,212, 52,173,156,158,247,151,183,167,  2, 99, 27,153,227,218,239,131,  0, 96, 40,145,190,131,
-240,138,174, 51,169, 15,145,  8, 16,107, 85,164,  4, 96,241, 19,  2,  8,204,102,  3, 17,106, 29,101,122, 30, 59,139,226,151,195,
-104,160,140,175,129,191, 40,175,124,152,140,202,195,162,207,101,103, 99,235,251,111,255,253,123,159,124,244,229,183,190, 89, 42,
- 53,210,160, 87,  7,  3, 78,216,180,132,  6,188,  1,230,117,117, 65,210,154,241,219,127,245,103,117, 24,190,246,205, 95, 17, 73,
-101,121, 65,169, 67, 53, 36,196, 90,250,229,162,217,220, 41,231,231,142,242,155,255,228,191,252,147,255,248,215,247,246, 15,  4,
-169,107,186,231, 94,120,238,219,223,254,149,107,143, 60, 74,  8,121, 24,212,252,236,248,248,231, 63,253,241,225,254, 97,173,182,
-183,189,117,105,119,103, 99, 99,179,152,158,156,158,156, 47, 78,115,191,186,127,116,188,127,124,122,101,119,251,217, 71, 30,191,
-121,112,255,177, 71,175, 60,242,200,229,163,147,147,253, 59,119, 78,151,139,207,110,223,187,127,120,152,107, 57,154, 47,122, 85,
- 66,220,217,152,136,240, 70, 55,121,252,250, 83,117,181,186, 40,250,246, 79,127, 74, 77,123,253,209,195,103,158,126,225, 15,254,
-246,255,251,222,247,127,148,152,209,109, 99,218, 93,217,217,218,106, 91,132,170, 73,118,184,217,156, 78,185,109,  4, 73, 68,184,
-149,146, 43, 34,153, 89,173, 53,110, 63,193,185,141,135, 83,205, 69, 82,120,183,137,201,181,142,159, 31,128,212, 80,233,189, 90,
- 13,196, 41,160,165,134, 45, 91,223,231,168, 91,226, 16,102,208,  9,172, 47,165,225, 20,142,238,212,140, 98,111,173, 35,230,133,
- 57,  5, 14,101,194,162,224, 21,148,132,208, 88,189, 70,147, 92, 34, 46, 57, 27,  0, 75,195,113, 50, 10, 43, 80, 39,104, 70,134,
-149, 41,153, 23, 38, 49, 53,103,168,150,107, 44,105, 29,137,164, 12,153, 25,153, 83, 76,  0, 44,109, 41, 61, 16,136,176, 35, 10,
-167,162, 67,  0,187,172, 26, 39,214, 90, 17, 80, 72,220,172,145,  6, 16, 86,195, 50, 81,130,128,224, 56, 17,170,106, 45,181,  0,
-142,  0,250,170,165,102,107,187, 41,144,106,209,212, 54, 96,  0,234, 96,174,164, 12, 72,137,205, 42, 98,138,200,126, 44,129, 97,
-244, 60, 56, 17, 22,211,177,155,211,220, 67,107,  2, 43,171, 33,132, 32,115,147,212,  2,146,106,169,165,162, 41, 50, 17,115, 55,
-219,204,253,146,169, 85, 83,135,202,132,230,238,  9,192,200,172, 48,146,113, 48,138,141,132, 72, 82, 89,245,  0, 54,246, 72, 69,
-114,  7, 89,132,242,144, 29, 92,213,164, 33,  6,  6, 83, 13,142, 46, 32, 33,230,220,143,167, 30,162, 36,177,234,  8,128, 99,250,
-193, 57, 53,106, 21,192,220,106,100,233,205, 76,173, 74,106, 29,176,150,149,128, 51,146,130, 55, 77, 34,  4, 51,173,106, 77,106,
- 88,176, 20, 11, 93,187,  2,152,218, 80, 74, 45,101, 99,214,154, 65,211,165, 50, 12, 57,175,144, 18, 39, 17, 33, 38, 30,138,145,
- 16, 53,108, 10, 94, 43,  0, 66, 29,101, 20,205, 67, 74, 41,218, 80, 29, 42, 19,  7,235, 66,171, 34, 25,161, 32, 73,  4,223,250,
- 85, 38, 66,100, 39,  0,115, 71, 97, 83,  5,168,132,194,141,128,197,248,111, 81, 33,195,210,228,190,215, 90,153,176,145, 68,212,
-104,169,200, 24, 31,110, 48, 21, 38,117,119,245,229, 34,167,196, 28,101,232,165, 38, 35,  2, 52,192,162, 86, 75, 77,232, 73,146,
-180,205, 76,107,209,162,160,  0,232,230, 69,181,  0,130,161, 71,210,223,213,144,216, 29, 92, 67,162,  9,127, 97,180,106, 27,  0,
- 27, 56,184, 11, 35, 84, 11,223, 77,200, 44, 10, 42, 81,105, 98, 17,195,117,  7, 69, 55,  7, 35, 88,163, 16, 70,131, 74,176,175,
- 33, 98,213,244,208, 98,233,  1, 70, 24,131,173,104,225, 34, 10,189,196,247,182, 55,206,151,231,182,211,185,133,219,199,  9,  5,
-240, 23,150, 27, 87, 95, 59,103,128,208, 13,100,220,210, 91,133,177,100,210,136, 25, 80, 71,211,141, 43, 97,227,107,169,101, 77,
- 56,160,241, 74,176,126,111,174,191, 97,  0, 89,127,107,241,174, 26,213, 38, 71, 18,173,168, 17,210, 51,253,163, 63,254,195, 47,
-190,250, 58,  8,115, 74,142,  9,149,205, 12,189, 20,179,201,116,230,224, 66,219, 55, 62,122,111,255,254,189,235,207,191,240,196,
- 83, 79,215,162,165, 95,185,129, 14, 25, 72, 40, 81,189,152,179, 32, 49,152, 82,233, 87,219, 59,151,126,231,159,254, 23,255,233,
-239,127,248,230, 87,223,184,254,216,227,109,215,230,161,191, 56,155,207,207,230,251,119,247,143, 79,142,  8,113, 50,153, 92,127,
-244, 49, 64, 27,114,206,197,110,124,126, 59,123,153, 54,147,249,252,226,228,124,126,122,122,118,105,107, 99, 99,210,126,124,251,
-198,201,249,197,207,223,253,120,181,234,239,222,219, 31,114,190,125,120,120,112,124,154,115,237,179, 86,179,170,229,202,238,222,
-238,172,123,229,197, 23, 95,121,225,249,159,188,253,125,106,102, 55,111,124,112,105,107,122,120,247,243,249,252,228,189, 15,222,
-223,127,240,128, 29, 86, 67, 65,180, 69,174,183,142,206, 86,195, 80,114,  5,128, 54, 53, 41, 81, 43, 50,105, 91, 68,106, 19,109,
-109,205,118,167,155,179, 73, 59,105,187,166,147,205,182,107, 82,211,181,210, 54,141,  8,139,  8, 57,  0,162,164, 89,  4,163,135,
-146,133,152, 69, 76, 77, 26,106, 82, 91,135,106,102,170,149,141,137,169, 75,173,169, 18,  2,160, 27,120, 85, 11, 16,149, 51,  8,
- 18, 33, 41, 56,141, 67,125, 33, 70,  6,209, 40, 58,  0, 85, 15, 34, 54, 33, 71, 10, 28,165,101, 85,173,230, 24,220,149, 32,243,
- 73, 18, 22,  5,115, 71,119,101, 30, 45,131,238,192,169, 29,103,  5, 51,143,166, 62,115, 17, 98, 73,181,148, 53,203, 80, 83,211,
- 50,113,213,194,130, 53, 15,210, 74,173,138, 65,136,  9,241,144,  9, 33, 26,227,208,204, 26, 78,238, 24,193, 22,  7,168, 53,243,
-232, 88, 70, 52, 71,166, 20,211,171, 87,113,  6, 97,213, 12,174,224, 64, 34, 36,108,213,106,  9, 28, 13, 80,113,  7, 35, 73,234,
-142, 86,  0,153, 72,192,189,145,209,255,102, 90,165,107, 77, 43,  0,178,164, 24,130,  9, 73, 75, 94,183,194,146, 51, 18,145,230,
-218,251,185,170, 18, 37, 78,  9,133, 76,139, 52, 93, 85, 19, 80,173,108, 86, 37, 52, 88,136,147,174,144,144, 27,104,201,129, 90,
-  0, 64,  7, 27, 86, 53, 30, 50, 18,212, 98, 72,142,136, 66,  9,192,204, 93,205, 24, 17, 16,152,211,184,154,116, 37, 98, 87, 19,
- 22,  7, 41,185,231, 17,233, 28, 40,158, 74, 76, 76, 77,205,  3, 34, 54, 50, 81,203,177,215, 41,125,102,102,  7,107,186,  9,142,
-107,210, 56, 40,136,193,156, 64,213, 17,112, 58,155,177, 72, 46, 37,151,234,234,142, 67,  2,103, 17, 16,105,153,209,173,214,177,
- 85,  6, 28,168, 33, 51, 23,  7,132,198,180,162,  1, 73, 67,216,  1, 90, 52,127,177, 16,  2, 25, 56, 81,  2, 80, 51, 77,141,132,
-158,150,173,146, 27, 99,147, 36,185,179,154, 98, 44, 37, 29,204, 99,147, 64, 53,103, 34,108,155, 38, 18, 12,  6, 70, 66,148,  4,
- 12, 29,171,116,162, 69,189, 42, 50,  8,138,187,155, 43, 50,183, 56, 54,183,212, 92,  0, 52, 58,138, 77, 85,158,127,233,139, 49,
-128,214, 90,115, 63,148, 92,106, 41,170,165,148, 92,251, 85,169,131, 87, 51,  0, 43,213, 64,209, 13,121,196, 82,155, 27, 97,194,
-113,150,135, 90, 43,140,146,134,173, 93,227, 15,115,168,241, 87, 15,101,196,127, 65,240, 12, 49,159,201,109,148,155,198, 98,176,
-181,168,  2,107, 18, 24, 34, 35,  4,218, 24,209, 13,192, 85,117, 58,157, 29,205, 23, 90,214,134,122, 28,215, 79, 65, 58,136,216,
- 42, 33,129, 58, 80, 88,100,195, 92, 83,215,139,211, 49,180, 69,107,193, 63,136,106,176, 86,104,104,  4, 20,143, 71, 58, 50,  6,
- 16, 58, 62, 31, 64, 15,143,246,177,136,112,252, 62,205, 67, 69, 13,119,125, 59,105,126,252,179,159,124,244,254,135, 47,190,246,
-138,170,134,198,136, 68,166,  5,212,164,225,249,233,201, 79,254,230,111, 55,246,118,191,244,141, 95, 78,238,171,179,211,104, 72,
-112, 85,119, 69,200,165,100, 17,105, 54,102,104,104,208,148,213,241,173,179,249, 19, 79, 61,253, 95, 95,191,174, 53, 95, 92, 28,
-223,189,117,118,231,222,189,179,243, 83,102,222,217,220,122,226,250,163,181,148,210,231,213, 48,148, 82,220,225,236,236,220,172,
-108,110,110, 30, 60, 56, 57,189, 56,  3,180,199,175, 93,117, 45,203,229,176, 88, 13,181,232,207, 62,249,236,211,187,247,192,245,
-228,108,185, 26,250,234,  6,136, 67, 46, 69,117,119,115,250,252, 19,143,254,250, 91,223, 48,215, 63,252,139,191,184,115,255, 96,
-107,218,117, 93,218,156, 77,143, 78, 47,206,238, 30, 77,218,201,238,246,206,238,214, 38,137,144, 27, 34, 95, 12,139,154,181, 77,
-120,239,224,193,253,163,163,249,225,121, 45,198,204,204,152,171, 51,115,236, 81,188, 22, 18,153,117,147,157,205,141,182, 21,116,
-108,147,  8, 11, 19,150,154,103, 93,218,152, 78,183, 55, 54, 68,210,172,107,187,166,153,164,102, 99, 99, 42, 73,186,212, 36,102,
-  0,157,205,218, 36,  9,220,  9,176, 84, 37, 34,  5,155,177, 88,227, 53,  2, 65, 66, 90,149,147,196, 11, 33,168,  2, 85, 51,136,
-112, 43,230, 30,233, 18,116,140, 18,  6, 83,215, 26,133, 54,192,136, 85, 29, 67,114, 36,140, 53,146,185, 17, 71,135, 42,131, 83,
- 84,210,128,121,146, 86,107,213, 92, 35, 10,231,110,181, 14,  0, 20,254, 28, 73,162,213,134, 50,  8,203,136,210,  5,110, 90,169,
-121,136,207,161,130, 53,212, 72, 74, 37, 15, 62, 82,180, 13, 64,145, 24, 29,212, 44, 49,219, 24, 32,119, 36,134, 17,231,181,214,
- 34,221,  8,152,154,228,163,157,  6,184, 73, 16, 88, 47,  0,108, 88, 48, 57,130, 85,167,212,152,  6, 48,155, 76, 21, 12,144,145,
- 83,170,181, 82,164,100, 34,135,133, 80, 45, 71,215,105,192,206,195,153, 67,  8,110,150,186, 41,  2,154, 22,  8, 72, 21,113,215,
-205, 74, 94,152,214,168, 45,140, 76,144,155, 70, 39,137, 99,212,199,178, 59,152, 42, 10,135,247, 27,192,139,  2,163, 17, 38, 78,
-141,105,  5,144,128, 77,114, 98,175,106, 86,163,157,139, 92, 66,251, 86, 85, 36,105, 83, 91,204, 92,115, 69, 68, 64,110,164,230,
-  2,164, 35,194,193,170, 72, 51, 86, 86,116,100,230,  4,  0,106, 49, 74,131,141, 11, 19, 74, 92, 11, 46,135, 60,153,118,196, 98,
-165,138, 72, 55,221,208, 90,180, 22, 34,138,178,173,209,191, 29, 71, 10,160,131, 49, 75,106,154, 90, 84, 61,139,180, 99,120,134,
- 92, 13,  8,128, 36,153, 41,154,163, 33,196, 20, 12, 72,196,238,166,213,226, 92,114, 55,230,102,180,145,140,150,190,128,192,155,
-123, 37,  4, 64,113, 48,208,104,126, 15, 58,122,136,251,168, 86, 36,177,  9, 91, 13,111,186,167,196,136, 46, 13,175,114, 65,128,
-166,229, 92,  0,212,184,109, 72,146,148,190, 71,196, 48, 73,182,147, 73, 59,153,136,  8,186, 19, 55,234,213, 76,221, 76,115, 46,
-165,104, 85,211, 90, 74, 63,244,189,230, 82, 85,193,172,106, 14,111,127,104,169,130, 52, 22, 56, 49, 97, 20, 41,185,174,151,147,
- 99,248,  8,  8,176,174,167,222,120,105,  5, 78,224, 97, 95,107,124,144,199,227, 30, 44,124,174, 15,209,146,136,  8,100, 96, 41,
- 53, 66, 56, 20,237,228,161,213,249, 63,171,133, 93, 83, 35,  1, 97,148,197,226,205, 97,190, 62,203, 97,205, 31, 91,131,142,185,
- 13,214,252,152,243, 34, 10, 35,255, 24,173, 10,176,  2, 18,162,  3, 18, 38,198, 17,134,231,161,239,  7,  9,219,208,  1, 35,169,
- 28, 11, 51,236,151, 23, 63,248,187,191,125,237, 43, 95,174, 96, 81, 95,141,224,169,109,155,201,244,198,123,239,220,185,183,255,
-204, 43,175, 62,249,228,147,203,243, 51, 19,241, 90,195, 52, 93,115,145, 36,  0,134,102,204,105,113,252, 96,217, 15, 23,231, 23,
-203,229, 69,173,195,176, 92,172, 46, 46,142, 78, 79, 30, 28, 28, 56,241,164,229, 39, 30,121, 12, 25,207,207, 47,110,124,246,249,
- 80, 74,155,186, 73,219, 21, 47,171,161,175,185, 18,226,157,187,251,139, 97,213,164,  6,193, 46,150,139,156,243, 80,235,197,197,
-  2,  9, 29,253,238,225,225,249,114,  5,170,210,180,136, 56,228,204,196,207, 62,118,237,219,191,244, 75,175,188,250,210, 79,223,
-123,247, 47,190,255,195, 73,211, 60,249,216,181, 85,191, 90, 12,185,150,178, 24, 74,147,146,179,173,114,110,134,161,  3,106,155,
- 36, 41, 61,190,189,253, 91,223,254,181,203,215,246, 78,230,243,227,227,147, 59,119,110,223,184,125,251,147, 79,111,222,222,223,
- 63, 60, 57, 46,181, 32, 51, 17, 80,147,200, 33,215,210, 15,153,  9, 75,181,243,101, 31, 90,225,233,252,236, 98,121, 65,196,166,
- 33,125,114,  4, 56,  5,145,164,233,186, 38,178,152, 91, 27,147,173,110, 54,219,156,109,180,237,183,222,120,237,240,228,116, 53,
- 12, 91,211,105, 74,178, 57,105, 38,237,164,235, 82,155, 38,169, 17, 55,155, 78, 59, 84, 67,  4, 16, 70,100,105,147,153, 34,177,
-154, 25,152,232, 88,122, 97,166,220, 72, 89, 21,115, 37,  6,240,128,162,147, 72,170, 70,224, 33,248,166,152,185, 41,184, 29, 14,
- 35,178,152,215,225, 14, 32, 98,176,226, 76,  8, 72,209,155,220, 74, 11,104,106, 26,254, 50,205, 25, 29, 36,226,175, 41,129,213,
- 90,162, 69, 36, 62,125,238, 30, 84,175, 96,  6,176,219,202, 45,198, 90, 95,251,236, 24, 76,181, 22, 98,193, 36,196,108, 81, 50,
- 36, 12,234,128,100, 99,114, 10,129,162,167,201,  3,230, 26, 91, 59,100, 66, 38,247,234, 52,186,106,192, 45,165,182,170, 89, 45,
-140, 98,236,235, 66,168, 74,146,192, 76,189, 48,  8, 19,154, 42, 33,214,192,  1,161,153, 85, 55, 48, 53,105, 88,107, 24,  5, 28,
-169, 25, 99,234, 68, 96,110, 90,221,141, 72, 70,150, 36, 56, 56,  8, 51, 97, 32, 13,138,199,254, 24,169,154,215, 92, 17, 32,234,
- 73, 35,  1, 91, 75, 25, 87,166,142, 70, 88,203,192,194, 66, 92,139,154, 58,142,250, 59, 68, 39, 53, 50,150, 33,147,  8, 73,242,
- 90,215, 16,115,116, 87,100, 65,115, 39,247, 98, 86, 10,106,157,237,204,136,208,133,165,105,  4,  1,188,211, 82,113,108,161, 35,
- 18,  2,  7,171, 21, 41, 90,168, 84,139, 58, 16,197,250, 20,220, 61,254, 53, 36,165,132,145,234, 36, 50,116,102, 96,230,192,166,
- 68,201,248,195, 96,188,155, 81,114,141,109, 31, 32,  2,168, 43,250,152,119,171,181, 56, 20, 73, 18,160,133,152,122,205,193, 74,
- 54, 55,102, 18,105, 74,205,106,228,101,144,148, 88,194,254,103,179, 46,229,234,165, 90,178,209, 48, 72,140, 98,174, 96,  0, 70,
- 22,160, 32,183,154, 87,163,165, 36,162,161,238,224,214,116, 13,  1, 34, 75,212, 27, 50, 97, 28,253,165,170,213,226, 14,166,181,
-207,189,230,161,230, 65,107,181, 90,220,172,154, 58,160,154,153, 42,129, 59, 26,154, 99,133, 49,164,236,192, 97, 52, 35, 10, 36,
- 12, 90, 88, 38, 97,108,225, 70,  3, 70,176, 64,163, 25,140,180,248,  0,  1,163,153,111,204, 38,171,213,176,185,179, 89,204,226,
- 37, 77, 35,170, 56, 16, 13,177,109, 29, 35,240,227,218,150,113,172,238,140, 86, 88,116, 64,142, 94, 41,  8, 94, 52, 19,  1,142,
-246,208,181,220, 14, 64,163,159, 34,202,124,195,203,131,232, 14,107,224, 38,172,113,199,  0,232,203, 97,136,156,177,  0, 22,245,
- 31,188,253,131,127,117,250,175,186,157, 77,  7, 35,110, 26,225,195,187,159,127,246,233, 71,147,141,205, 47,127,237,173,174,235,
- 22,167, 39, 86,171, 13,  3,  0,  1,168,  3, 74,211, 89, 93, 20,133,249,217,124, 56,188, 55,172,250, 82,134,213, 98,113,118, 62,
-191, 56, 61,157,207, 79,139,218,164,107,175, 92,190,140,  4,170,245,116, 62,159,159, 95, 32, 35,177, 96, 41,139,213,226,162, 95,
-170,217,172, 73,  2, 56, 95, 46, 87,253,144,146,212, 50, 20,171,203,126,232, 75, 95,  7,173,166,125,214, 50,148, 86,100,144,116,
- 81,181, 12,131,185, 38, 78,111,190,254,242, 63,250,198, 55,180,234,191,255,127,255,248,246,189,131,221,173, 13, 55, 59, 61,157,
- 23, 13,131, 44, 18, 39, 10, 63,138, 21, 53, 85,203,  6,178,181,181,241,204, 19, 79, 60,251,202,203,195,106,117,117,178,121,229,
-234,181, 47,126,241, 85,116, 88,173,250,197,114,113,116,112,112,227,246,173, 27,183,239,220,190,119,247,222,225,131,227,227,227,
-197,106,121,120, 90,212,183,103,147, 86, 53,154, 33,237,234,222,222,238,214,118, 13,158,150,163,187,199,  3, 96,227,143,  3,181,
-150,172,182,127,122,113,223,206,  1, 96, 40,195,123, 55,110, 62,249,232,181, 62,235,193,241, 17,  1, 21, 45, 79, 60,122,141,185,
-121,252,209, 43,119,246, 15, 54,187,  9,  9,147,249,149, 75,123,187,155,155,171, 60,212, 90,246, 54, 55,173,234,149,189,157, 39,
-159,121,250,238,189, 59,109,162, 68,169,235, 26, 95,228,174,105, 22,171, 94,132,164, 21, 55,151, 10,106, 14,204,140,206,220,196,
-124,106,224, 34, 98,213,170, 22,146,212,181,157, 22,205,117, 72,146,226,129,228, 54, 60,214,182,174,196, 86,171,198,200,  0,110,
- 90,152,  5,220,212, 61, 17,155,170,131, 16, 33,141,142,  3,141,  6, 98, 85,117,196,148, 82,201,217, 12,152,192,221,117, 24, 72,
-146,164,228,128, 30,244, 62,137,233,216,153, 57, 80,195, 99, 80,145, 24,220,198,162,231,104,221, 28,  7, 82,160, 64,145,128,  3,
- 10,131,122,196,109,137,107,201, 99,114, 11,  9,205,220,149,144, 29,220,180,  4, 98, 13,193,181,102,  4,182, 90,193, 85,173,178,
-115,209,194,136,204,108,165,186, 25, 16, 42,  0,212, 66, 97, 75, 26, 71,166,136,161,208, 67,130, 43,115,227,154,145,  4,221,106,
- 29, 88, 24,  3, 36,101, 22, 36, 18, 85,103, 38, 11,114,253,218, 52, 61,244, 67, 59,105,155,166, 45,181, 90, 29, 48, 76,248, 20,
- 92,  9, 52,176,126, 88, 74, 98, 78,  9,  0,192,108,236,248, 54,141, 71, 83,107,198,232, 83, 74,124,124,118,214,  8,  3, 74,248,
-205,227,125,207, 44, 96,182,206,145, 49, 16,187, 43,155, 59,130,105,245,209,240, 18, 48, 34, 55, 51,135, 32,214,248,136, 41,209,
- 66,196,204, 73,107, 46, 85, 17,129, 80,204,148,  0,140,208, 29,129,200,212,106, 45,140, 41,145,152,214,154, 51,162,248, 26,132,
-192, 34, 97, 86,196, 64,246,  2,153,106,213,129,152,192,149, 82, 42,185,119,  0, 17, 80,104,204,173, 12,125, 74, 18, 81, 43, 33,
-160,182, 27, 44,175,134,218,138,145,131,132,192, 23,193,128,177,240, 59,150,157,232,230, 26,246, 18,119, 67, 27,170,141,101,181,
- 52,182, 16, 90,224, 43,145,136, 88, 18, 54,221,198, 38,  5, 69,127,189,193,116, 55,118,175,102,181,214, 50, 12,185,228, 50,172,
-180, 86,211,193,114, 45, 57,107,201, 10, 54,198,180,  1,192,156,156, 35, 21, 54, 38, 82, 21,199,177,127,125, 80,131,187,199,226,
-215,124, 50,153, 28, 28,157,227,165, 45,171, 46, 65, 11, 28,181,115, 27, 15, 98, 68, 24,233,170, 33,237,216,232,197,  9,194,153,
-173,149, 34, 20,240,  2, 80,  1, 24,220, 29, 12, 92,109,204,127, 68,138, 35, 60, 53,145,169,227, 17,182,233, 81, 49,192, 35,152,
- 15,195, 70,  3,140, 82,150,197, 29, 86,171, 30, 85,133,233,163, 79, 63,253,228,147,143, 95,255,250, 55,200, 21,  9,223,255,233,
-143, 15, 30, 60,248,202,155,111, 78,164,  1,180,254,124,142,141,128,154,235,  8, 58, 94, 44, 22, 67,238, 47,206, 78,135,146,107,
-206,181,174,206,206,207,206,142,143, 79, 78,230,253,144,119,182, 54, 54, 54, 55, 16, 89, 77, 79,207,206,136,168,239,135,163,249,
- 92,107, 37,132,170,134, 14,155, 27,179, 54,165,101,223,247, 67, 31, 35,149,153, 45, 86,139,146,107,174, 86, 53,247,185,150,161,
- 42,128, 59,110, 76,166,  0, 70,140,102,245,108,217,239,110, 78,255,217,111,124,251,235, 95,254,210, 95,254,224,239,126,240,211,
-119, 39, 73,182,167,141,106, 77,156,218,214,173, 55, 38, 94,213, 60, 63, 61,109, 83, 55,157, 77,166, 77,199,200,228,240,143,127,
-245,155,175,188,246,218,135,239,191,255,231,127,250,231,223,250,198,215,185,105,157,218,176, 33,119, 93,211,108,109,237, 94,123,
-244,133,215,190,164, 57,151,161, 88,233, 79, 78,142,246, 31, 28,125,114,243,198,167, 55,111,206,231,103,135, 39,199,165,106, 86,
- 95, 13, 43,150, 70,213,194,182, 10,  0,  9,132, 29, 29,161,  2,160, 90, 67,105,146,204,  9, 29,148,144,114,209,171,151,246,174,
-238,237,221, 62,124,112,105,103,235,124,209,159,247,203,243,139,197, 75,207, 62,178,127,114,250,224,248, 84,246,232,108,185,154,
- 76, 59, 96,190,119,116,122,112,124,178,179, 53,219,111,231,199, 23,231, 47, 61,251,156,109,236,189,253,225,231,215,175, 93,185,
- 88, 92, 44,251,188, 49,233,174, 92,185,122,251,238,157, 47,189,242,250, 79,127,248,246,119,191,243,143,101, 58,123,251,135,127,
-251,232,149,171,139,197,249,233,233,241,230,198,108,182, 49,219,221,221, 61,190,125,111,210,166,134,155, 33, 95,  8, 49,129,182,
-157, 44,115,105,186, 54, 53, 45, 58,154,105,215, 54,196,141,150,129,128,141,130, 75, 88,221,136,133,132, 91, 32, 46, 90,  9,219,
-152, 13, 16,  1, 18,168, 35,170, 23, 29,218, 36,102,238, 86,  5, 81, 36,133,155,218, 16,192,212,140, 73, 18, 24,132,237,  7,209,
- 72,196,171, 33,130,213, 10, 52,138,215,113,109, 37, 34,228, 78,203,224,106,241,104, 89,213,160,112,122, 85,  5,236,186,182,214,
- 90,243, 64,192,163,149, 69,141,136, 84,107, 25,  6, 22,  9, 41, 57, 50,165, 90,134,181,113, 46,110,  9,134,132,165, 86, 66, 71,
- 73,150,123, 11, 51, 62,  2, 32,153,214, 90,140,153, 82,219,105,173,170,133, 37,133,175, 84,107, 54,112,180,140, 44,210,164, 40,
- 57,138,193, 43,166,254,224, 72,233,156,219, 26,  0,  0, 32,  0, 73, 68, 65, 84,133,233,152,152, 53,103, 32, 22, 17, 80, 11,215,
-149, 34,169, 41, 33,  9,139,145,187, 86, 68, 76,169,197,113, 26,180,113,235,  7, 72, 17, 60, 52, 35,247,106, 74, 12,125,159,117,
- 40,219,151, 55, 37, 73, 28,205, 64, 80,173,  2, 56, 38,178, 18,184,220, 42, 72,134, 28,187,220,162,133, 89, 26, 78,202,100,181,
- 34, 11,161, 89, 53, 22, 10, 68,  0,115,131, 86,221,  1, 93,163, 58,216,  0,  9,141,153,204,153,161,230,108,  8, 22,145,218,120,
- 81, 40, 56,113,170,185,  2, 21, 73, 45, 50,107, 41, 94, 12, 19,163, 48, 40, 14,195,146, 17, 36, 62,  9,192,195,144,187,148,152,
- 83,113, 64, 44,  8,216, 54,109, 45, 57,181, 32, 44,125, 45,224, 74,140,109,203,236, 96,232,226,213, 65,226,216,212, 16,166,208,
- 53,142,170, 48,144, 68, 49,182,141, 53, 29, 10,228,166, 10,117,237,128,113, 65,116,240, 98,  0, 64,181,198,225, 88, 66,238, 70,
-  7,175,196, 72, 36,194, 34,211, 13,218,164, 20,133, 35, 20,149, 42,100, 86, 85,173,214, 33,247,117, 24, 74, 30,180,150, 90,122,
-143,134,222, 18,192, 97, 13, 42,119, 20, 60,185, 58,198,112, 33,208,166,164, 94,212,108, 76,178,142, 70,228,112, 51,249,136, 18,
- 24, 13,240, 52,118,  8, 96,152, 38,215,172,165,209, 15, 90, 28,  8,185,129,135,238, 71,100, 32, 71, 32,183, 53, 61,222,  0,216,
- 31,238, 87,221, 28,201,  0,162,154, 61,  2,183,113, 71, 32, 97,186, 24,  6,  7, 44,166,137,  1, 28, 79,231,167,111,191,243,206,
-215,190,245,107,251, 55, 63,122,239,103, 63,121,244,133,151,126,237,107,223, 40,139,179,160, 83,133, 15,167,  2, 13,253,217,176,
- 90,158,206,231,125,127,166,181,230,210,247, 23,203,131,195,195,179,211, 19, 53, 19,226,217,180,219,221,222, 58, 95, 44,206, 46,
- 46,134,156, 81,104,185,232,  1,177,148, 92,138, 10, 97, 85,101, 39, 39,152,159,159,153, 66, 95,135,212,200,106, 81,138, 14,136,
-144,171,230, 82,251,126,229,238,132,220, 53,201,209, 64, 73,205, 23, 57,151, 82, 55,167,211,173,217,198,191,254,157,223, 22,145,
-127,243,187,191,183,127,116,114,101,123,163,235, 58, 48,175,  0,125, 89,185, 66, 35, 92,171,158, 45, 87,125, 85,135, 85, 62, 43,
- 85,203,206,214,214,211,207, 61,251,230, 91,223,152, 47, 46, 14, 31, 28,252,251,255,240,167,119, 63,255,232, 87,191,254, 38,138,
- 76,102, 51,105, 38,210, 52,148, 90,  8, 12, 54, 49, 78,  0,133,119,155,102,107,119,247, 11,207, 63, 83,243,176,184, 88, 60, 56,
- 58,186, 88,245,  7, 15,142, 62,187,125,251,104,126,122, 58, 95,158,157,157,247,154,221, 76,  1,138,  3,133, 24, 70, 96,104,163,
- 71,203,161,168,182,109,218,221,218,120,231,163, 79, 78,206,231,215,175, 94,158,116,205,197, 82, 16,113,209,175, 46, 79, 55,210,
- 53,155,159,175, 38, 73, 38, 41, 61, 56, 58, 25,106, 73, 68,179,182,237,186,118, 27,116, 54,153,246,203,197,222,230,198,238,206,
-238,189,251,  7,243,179,211,188,177, 49,153,164, 95,122,227,141,157,237,157,179,229,208,204, 54, 72,228,124,185,252,202, 19,207,
-124,246,249,173, 71, 54,175,252,232,157, 31, 62,255,220,243,203,  7,139,110,114,249,246,252,248,246,254,205,169,208,116, 50, 77,
-132,119, 15,238,223,188,115,239,171,175,189,122,126,190,186,125,231, 86,206, 37,161, 23,173, 93,203,151,247,246, 74, 41,146,248,
-137, 71, 30,235,251,126, 54,237,134,161, 76,154, 52,155,204,134,146,187, 36,192, 16, 81, 47,225,  8,204,114,211, 36,112,  3, 39,
- 17, 17, 18, 73,104,209, 55,210, 38, 70, 79,146,204,171,153, 59, 37, 66,  5, 39,  7, 51, 36,110, 91,118, 51, 36, 80, 67,102, 78,
-140, 62,154,193, 36, 37,117,117,115,226,240,173, 25,119,169, 33, 41,195, 10,137,154,212,198,131,230, 86,153,217,170,130, 89, 44,
-188,221, 50, 74,243,208,  7,  1, 35, 84,145, 68,200,234,160,117, 64, 68,112,170,154,213,141,129,147,164,161,244,160, 78,  4,105,
-210,128,106,173,  5, 64,  1,193, 44,131,114, 56,193, 67,135,119, 85,  0,112, 83, 64, 12,248, 68, 48, 69,220,157, 24, 64, 45,108,
-207, 20, 12,100,166,156,115,211,180,210,180,154,135, 38, 37,119,182,170,142, 64, 36,128,145,119, 52,  7, 67, 48,  7, 25,137, 17,
-174,137, 88, 17, 28,  7, 68,  5,240, 82,234,116,163,107,155,  4,232,169,105,114, 45, 86, 43, 34,170, 58,147,112, 44, 60, 66,197,
-133,192,120,  1,147, 56,162,186,161,186, 52,173, 87,231,132,133,212,189,132,234,140,166, 65, 64,  7, 51, 74,226, 72,110,198, 76,
-106,174, 86,132,160,105, 91,  0,176, 97, 53, 44,151,156, 82,106, 90,228, 52,228, 21,145, 19, 75, 81, 69, 45,194,  2,146,114,173,
- 80,178,176, 76,103, 83,173,170, 86, 71, 95,164, 76, 12,160,239, 87, 73, 18, 98, 42,121,193, 84, 83,219, 58, 72, 41, 78,212,149,
- 90,130,100,192, 68, 66, 36,200, 15,149,104,  7, 20, 48,245,135,206,145,135,181,123,107,178,155,155,129,198,114, 39, 78, 65,  6,
- 87, 64,  6, 96,  7,  5, 29,157,145,224,230, 78,227,230,209, 52,122,146, 12,160,232,216, 66,  6, 24,245,128,107,166, 41, 96,215,
-117, 56,153, 18,163,  5,178,193,157, 88,162,160,178,106,177, 92, 29,205, 21,204,180,150,236, 86, 75,201, 94, 85,  8, 55,218,249,
-241,121,217,219,238,106,169,228, 21,104, 52, 81,141, 32, 95,164, 72, 28, 88, 40, 52, 68, 96,250,208,235,136, 40, 49, 27,  4,177,
-198,227,242, 56, 90,240,  1, 45, 10,159,214,252,122,242, 81,246,  9, 54,  1, 18,  0,143,221,130,161,195, 57,  2, 18, 40, 16,194,
-209,233, 28,136,162, 16,109, 40,213,193,255,225,199, 63,252,251,191,250, 51,173,250,210,215,126,249,234,163,143,246,231,103, 44,
-130,166,117,232,235, 48, 28, 31, 31,156,205,207, 75,205, 94, 75, 95,250,211,163,163,253,253,251,167,243, 51, 50, 69,132, 89, 55,
-157, 78, 59,119, 80,176,229, 98,177, 92,173, 28,124,181, 26,250, 82,170,106,132, 58,152, 40,145, 52,137, 27, 73,185,234,233,249,
- 42,151, 90,107,248,103, 74,159,  7, 65, 86,179,170,138,128,128,164,235,218, 29, 71,  0,194, 54,165, 36,  2,  0,139,101,249,155,
- 31,189,115,235,206, 61,105,248,169, 71,174, 58, 88, 46, 85,107,117,128,134, 19, 11,157, 94, 44, 78, 47,206,231,231, 23, 96, 70,
- 52,233,218, 68,140,231,231, 23,203,126,117,124,114,231,120,255,248,163, 27,159,170,219,247,126,240, 67,215,161,107,218,182,155,
-110, 78,186,217,230,230,108,182,217,116,109,211, 77,164,153, 36, 34, 71,168, 69, 83, 18, 74, 73,102,219,151,247,174, 94,185,254,
-108,208,123, 23,139,211,211,227,  7,103,243,249,249,114,113,124,122,126, 50, 63,189,187,127,176,127,120,112, 50, 63,159,159, 47,
- 86,195, 16,102,  6, 34, 20, 66,  5,216,217,154,245,125,255,242,147, 79,252,228,147,194,196,231, 23,203, 73,215,  2,194, 59, 31,
-124,212,117,237, 99,215, 46,221, 63, 62,126,225,250, 35,243,179, 51, 34,158, 78,187, 71,118, 47,165,212, 32,210,225,131,249,108,
-186,127,229,145,171,169, 73, 31,125,250,105,159,135, 87, 95,124,201,192,102,147,233, 59,239,188,179,234, 87, 87, 47, 93,249,155,
-191,254, 75, 98,254,226, 23,190,120,112,248,224,193,225,237,239,126,231,159,252,232,167,255,112,229,210,229,131,195,125, 16,154,
-159,156,234,226,124,235,209,171, 64,124,240,224,240,244,252,236,210,246,246,209,241,131,195,163,211,  7,231,231,102,250,224,248,
-184, 31,250,229,170,223,221,222,204,213,186,196, 79, 61,118,124, 60, 63, 39,180,161,212,105,219, 46,250,229,233,217, 34,137,172,
-134, 92, 75, 77, 77,218,154,108, 72, 43, 58,244, 33,199,115, 20, 68,129, 73,168,233,  8,200,220, 16,110,109,206,158,189,118,245,
-213,231,158,220,218,220, 89,174,150,253,144,103,211,  9, 49, 19, 19,152,165,182, 51,240,166,105,165, 17, 87, 71, 70,105, 91,243,
- 18, 45,128,113, 21,230,148,180,170,185,166,110, 50, 10, 20,166,110,192, 41,130, 78, 70,208,154,107, 60,  6, 90,138, 36,126, 24,
-207,113,  0,114,183, 90,130,152,170, 54,250,226,184,157,120,201, 37,103,  2,  6,114,  2, 46,185, 18,134,126,144, 70,137, 72,107,
-208,204,214,  6,186,245,226,205, 33, 12, 75, 99,159, 56,146,149, 28,185,197, 40,218, 69,196, 90,115,128,119,208,176, 97, 86, 83,
- 51, 85,197,166,235,162, 64, 17, 64,199,  0, 58, 10,140,252,  9, 20,150, 50, 12,106,185,107, 18, 81,215,231,162,117,216,218,222,
- 72,221,164,148,218,151, 30,145,221,113,196, 31, 86,149,166, 35,193,218,231,234, 61, 73,135,140,128,104,177, 50,101, 64, 76, 33,
-212,104, 52,114,137,128, 27, 40,170,  6, 97,155,137, 90,119, 99,  2,  3, 82, 53,112, 79,169, 33,130, 90,116,252,139,128,187,123,
-233, 51,  9, 53,205,196, 74,113,247,134,152, 82, 91, 75, 41,117, 96, 32, 73, 98,192,170, 22,251,156, 72,194, 34, 20, 68, 22, 97,
-119, 71, 52,105, 90, 85,131, 92,145,157,133,107,173, 86, 20, 29, 19, 19, 33, 22, 53, 65,166,208,155, 28,  0,172, 64,100,223,194,
-230, 24, 51,240, 72, 88,  4,119,133, 95,132,145,194,102, 98, 16, 39, 56,140, 22,195,241,181, 64, 12, 81,186, 24,160,188,192, 25,
-152,173, 49,193, 26, 77, 14,107,244,163, 35, 83,173, 53,102, 14,  0, 50, 83, 48, 55,202,128,136,152,132,176, 50,184,147,116,226,
-128, 72,179,177,140,201,141,185,109, 38,147,159,126,112,235,213,175,126,109,113,177, 48,112,203,189, 85, 85,203,154,135,210,247,
-181,100,  0, 19, 50, 64, 51, 48, 25, 17,  9, 50,178,229,162,214, 32,232, 73, 97,109,  5,113,138, 98,170,245, 43, 15,126,241, 95,
-252, 59,216,200,133,125,184, 50, 30, 29,247, 35,121,214,141,192, 79, 78,206,120,180,218, 35, 56, 60,255,212, 19,167, 15,238, 93,
- 44,250, 95,254,245,239,128, 64, 93,245,228,214, 95,156, 31,239,223, 93, 44, 22,181,150,  0,233,205,231,199,251,119,239,223,190,
-119,167,150,178,187, 57,187,180,189,113,126,177,  2,176,243,161, 63, 93, 92,212,172,171, 92,136,189,148,186, 28,134,139,190,103,
-119, 97,158,181,237,246,198, 38,130, 45,242, 80,139,173,114,  1,192, 82,173,148, 50,228,108,102, 68, 44, 68,236,148,189, 14,165,
-196, 85, 76,152,  8,193, 98,195,109, 30, 65, 26, 36,102,174,119,238,239, 95,222,221,102,225, 92,242, 48,244, 41,181, 10, 62,107,
- 59,102, 62,156,159,206, 23, 11,114, 80,167,101, 30,178, 90, 63, 12,211,233, 36,165,230,232,108,254,246, 15,126,112,255, 96,255,
-243,123,247,107,213,227,249,217,143, 63,252,120,115, 58,107,154,102,218, 72, 74, 77,155,154,174,105, 82,215,206,186,105, 59,233,
-132,165, 77, 77,215,181,123,151,174, 76,183,119,152,144, 37,169,153,161, 78,118,118,155,205,221, 43,154,173,170,230, 98,150,135,
-220,231,161,228, 90, 47,206,206, 30, 28, 61,120,255,131, 15, 63,188,241,217,253,227,147,249,233,217,157,163,211,221,205,238,210,
-108,242,209,237,219,194,252,224,120,206, 66,132,124, 50,191,112,119, 54, 59,155, 47, 30,187,124, 25,  0, 87, 67,157, 77,105,185,
-202,183,203,193,164,149,203,123, 87, 88,154,157,141,237, 27, 55,110,189,247,209,135, 72,244,230,235, 95,122,230,233, 39,127,246,
-254,251,183,238,220, 33, 76,143, 62,114,117,107,107,123,218,117, 15,142,239, 63,114,237,218, 71,159,125,122,253,177,235,255,207,
- 31,253,223,199, 71,199,111,255,248,199, 79, 94,127,236,230,231,183, 62,188,241,233,230,172,187,187,191, 63,100, 61,124,112,240,
-204,147, 79, 31,159,156,214, 82, 14,143,142,  0,173,147,110,181, 88, 25,104, 67, 84,114,206,185,212,204, 31,124,250,153,153, 78,
-186,201,252,226,172, 20,173,102,203,190,111,165,233,186,110,107, 58, 45,181, 63,187, 56,134,149,212,146,133,165, 58,  8, 64,106,
-210, 48, 12, 85,161,152,149, 60,184, 99,174,165,109,154, 31,116,205,183,238, 61,247,221, 47,127,105,190, 92,204, 54, 54,171,121,
-223, 47,206, 22, 11, 98,153,180,141,154,129,195,108,182,177,204,195,180,155,110,108, 76,151,171,213,162,239, 83, 74,109, 74, 53,
-247,221,198,166, 48,159,207,143,118,246, 46, 15,181,182, 93,103,225, 15,145, 68,204, 73,152, 68,192,144,  4,145, 69, 80, 37, 53,
-  0,206,206,132, 92, 74,  0, 59, 71,147, 18, 90,  5, 34,168,  0, 85,221,  1, 85,145,216,204, 44,176, 53,113,140, 36,118, 83, 48,
-111,155,198,  0, 70,218,224, 72, 95, 96,  7,  2,140,122, 16,113, 48, 83, 29,245,237, 72,188, 85,101,137, 54,136, 20, 15,150,214,
- 66,204,170, 70, 28,  9,217, 58,184, 11, 65,173,182, 46,229, 49,116, 16, 22,112,200,185, 34, 51, 83, 91,212,  5,188,212,218, 54,
- 50,157,181, 81,141, 52, 26,170, 17,  0,176,149,100,  6,154, 51, 16,161, 16, 25,130, 87,  8,202,115, 84,129,153, 99, 82,143,118,
- 44, 83, 38,113,163,172, 43, 92,211, 19,209, 65,181, 39, 17, 36, 70, 52, 64,115, 64,213,161, 86,  4, 64,105,146, 15,102,101,160,
-196,200,168,102, 88,122,230,166,170,170,233,176, 28, 82,211, 72,106,188,230,154,141, 18, 72,211,169,107,201,185,230,  2,104, 66,
-226,174,196, 52,198,175,156,204, 93, 29,200,209,139,  1, 82,234, 90, 53,143,157, 40, 50,202, 72, 63,136,130,150,136,178,121,112,
- 41,200,205,224, 33,249,125,148, 71,  0,188,  6, 80, 96,173,148,217,216,176, 61, 46, 92,141, 56,208,125, 20,229, 50, 30, 12,224,
-209,231,187,206,114, 59,186,186,167,117, 64,200,204,181,184, 81,192,139,163, 96,211, 52,194,202,189, 33,168,134,234,163, 36,  2,
-186,134, 62, 58,152,214,233,230, 86, 62, 63, 92,156, 47, 82,195,230, 64,105, 19,132,113,108,216, 65,116,179,234, 53,247,181,244,
-166, 89,139,106, 94,  2, 40,160,133, 99, 38, 72,162, 99,154,202,196,113,205, 42, 91, 55,241,132, 85,211,205,199, 18,171,168,131,
- 51,115, 30, 91, 94, 99,250, 32, 32, 95,251,249,  9,113,208,138,  4, 85,157,219,230,169,203,151,207, 22,171, 79,238,220,126,231,
-231,239,125,243, 55,190,187, 58, 62, 92,244,195,241,209,225, 48, 44,137,  5,220,206, 78,143,207,206, 78, 15,238,223, 63, 58,126,
-144,136,175,238,237,116, 77,179, 28,134,251, 15, 14,207, 46,250,221,141,233,241,217,185, 35,182,152, 42, 20,234,177,175, 67,191,
- 90, 78, 36,237,110,110,110,206,102,203,213,242,100,121, 94,171, 37, 22,215,186, 40,185,214,156, 75, 53,211,209, 99,140,100, 54,
-148, 90,150,181, 38,145, 41, 19, 18,230, 92, 99, 29,109, 10,110, 54,105,154,148, 68, 16,183,102, 19,117, 85,179,154,181, 22,109,
- 38,173,229,255,159,169, 55,137,213,237,202,242,188, 86,179,247, 62,231,124,221,237, 94, 99,251,249,217, 14,135, 35, 28,153, 17,
-145, 81,217, 85,166,146, 84,137, 74,101, 22,133, 10, 21,205,  0, 81,  2,169, 70, 48,  5,166,  8, 49, 65,  2, 49, 99,134, 24, 33,
- 33, 49,161,144,144, 16, 32, 64, 84, 86, 67,210,100, 86,146, 77,100, 56,108,135,237,112,243,186,251,222,237,191,238,156,179,247,
- 94,107, 49, 88,231,123,193,200,122,178,116,223,125, 95,179,207, 94,107,253,215,239, 87,199, 49,155,194,205,118, 83, 74,110, 56,
- 10,113, 74, 33, 75, 32, 83, 81,205,185,152,216,151,207, 94,252,233,143,127,186,222,111,247,125,189, 91,175,175,111,239,170, 72,
- 19, 67,151,154,182, 75, 77,140, 41,134,196, 28, 98,219,117, 49, 16,119,169,157,207,219, 16,194,114, 62, 91, 45,143,186,182,107,
-218,182,155,205,219,166,233,230,203,110,121,138, 12,200, 20,219, 96, 21, 83, 55, 43,227, 40, 82, 79,142,143,223,127,255,253,223,
-254,173,223,178, 90,214,155,205,245,213,245,207,159,124,243,228,233,211,199,111, 60,248,159,255,233,255,217,153,174,183,251, 33,
- 23, 68, 33, 14, 15, 78,142, 98, 72,132,118,188,152,221,237,134,152,210,213,205,221,124,214, 65,156, 29, 47,143,238, 54, 27, 12,
-248,226,213,139,219, 77, 47,106, 15,142, 86,179,166,249,103, 63,254,139,113, 20, 17,184, 27,238, 30,234,217,106,222,189,251,222,
-123,119,155,219,255,252,191,252, 47,126,248,253,239, 55, 33, 92,188, 58,255,224,157,119,126,254,244,201,243, 23,207,206,175, 47,
-126,231, 71, 63,170, 21,126,252,217,199,215,119,235,191,254,203, 63, 56,154,119, 31,125,254,105,184,134,126,236, 31,221,191,255,
-249,211,167, 71,171,197,237,102, 35,160, 49,240,110, 40, 38,163, 65,147,115, 30,171,250,224,169,230, 42,165, 12, 38, 90, 11,129,
-152,106, 96,231, 12, 43, 25, 50,152, 77, 40,116,191, 30, 42, 51,155, 42, 35, 52,129,106,213,255,253,199,159, 44,186,217,119,223,
- 56,189,188,236, 79,207,206, 56,196,161,148, 20, 56,196,174,101,188,189,219, 84,213,196,172,185,191,120,185,173,102, 72, 20, 48,
-100, 25, 54,155, 53,  3,167,121,115,254,228,155, 89, 88,152,230,220,231,126, 63, 84,173, 20,163,230, 12, 28,251, 97,115,114,124,
-116,183,222,206,151, 75,142, 17,192,218,166, 75,109,203,129,137,145,145,129, 57,132, 24,155, 16, 67,170, 57, 55, 33, 26,162, 26,
- 85, 67, 66,170,248,154, 56, 66,126,209, 97, 68,  1,209,138, 10, 32,128, 60,249,123,194,148, 97, 59,100, 64, 85, 20, 32,168,228,
- 24,210, 56,102, 83, 77, 93,227,132,119,142,193,106, 17, 51, 66,  0,228,212,132, 90, 51,130, 72,169,177,153,153,  8,135, 32, 34,
-  6, 22,  8, 67,224, 81,114,192,160,102,100,  8,192, 76, 98,  0,185, 31,218, 38, 33, 69, 19,101,102,226, 48,214, 26, 16, 13,169,
- 31,122, 63,168,136,  2,199,168, 42,110,228,133, 64, 80, 17,136, 76, 65,134, 66, 41, 17, 49, 77, 84, 89,233, 66, 91,106, 22,173,
-136,172, 96, 33, 68,138, 92,107, 69,226,192,109,201,131,137,196,212,  1, 99, 41, 35, 33,197,121,151,115,149, 90, 66, 72,238,222,
- 66,  4, 85,  9, 72, 12, 72, 49, 41, 70,169,123, 53, 45, 37,123, 96,187,141,177, 26, 90, 45,161, 11,164, 92,173,122,175,140,152,
- 13, 48,247, 67, 72,129, 24, 69, 36,143,133, 65, 67,106, 17, 17,159,252,248,255,  5,  4,145,250,186, 51,193, 68,135,114,105, 58,
-220, 14,250,107,157, 78,124, 32,183,151, 78, 83, 70, 15,190, 56,134,200,124,143, 60,170, 85, 83,  1, 37, 96,240, 61, 88, 52,183,
- 53,121, 19, 28,172, 42, 76,118, 41,111,197, 79,201, 71, 64,  6, 21, 81,245, 25,233, 20, 84, 57,120,157, 94,107,157,124, 40,175,
-166,109, 59,251,252,175,254,132,151,111,126,251,253,199,227,232,175,133,212,195, 67,139, 67, 64,199, 87,193,148, 69, 38, 68, 83,
- 44, 50,106, 30,165, 22,224,170, 69,213,  4, 68, 65, 20, 65, 84,139,167,101,124,102,207, 78, 42,163, 95,128,201, 28,160,129,  4,
- 68,140, 64, 83,230,147, 96,186, 10, 24,190,121,127,241, 31,252, 71,255,201, 79,190,122,217, 68,238, 66,184,219,110,247, 99,253,
-246,123,143,127,253,215,126,243, 15,126,255,111,237, 54,107,  1, 83, 41,181,212,245,221,205,197,249,139,237,110, 19, 57,182, 93,
-219, 52,169, 14,227,245,221,221,237,221,109, 41,133,153, 25,177,148, 98,228, 52, 77, 54,211, 42, 26, 67,104,153, 85,235, 62, 75,
-174, 69,253, 97,168, 90,138, 84,168,121,204, 70, 16, 57, 25, 88, 25,114, 46,185,138,  0, 66,147, 26, 70, 44, 85,135, 60,228,146,
-193,  1,116,196,109,140,196,164,162, 37,215,106,  5,145,205,172, 84, 65,196,227,197, 98,204,181, 72, 81,173,183,155, 29, 24,196,
- 16, 16,112, 20, 49,128,154,139,212,178,203,162,160, 49, 48, 81, 88,118, 13, 35,115, 12,127,254,233, 23, 57,231, 16,  2, 51, 69,
-166,192, 28, 67,104, 99,228,192, 77,138, 93, 74, 77,138,109,147,150,243,249,106,177,236,218,182,109, 66, 19,155,166,109, 23,179,
-249,124,214,181, 93,219,181, 93,215,118, 49,165,216,166, 24,154,152, 82,140,201,  1,207,  8, 16,154,  8,138,227,216,223,222, 94,
-223, 94,221,190,188,184,126,117,249,106, 24,199,235,155,155,187,221, 78,213, 74, 45,166,154,154,244,205,243,231,111,222,127,240,
-198,189,123, 23, 87, 23,159,124,249,245,201,114,241,240,193,105, 21,168,185, 12, 57,207,230, 29, 35,173,102,139,147,227,227,179,
-227,251, 77, 75, 47,175,174,246,251, 76, 33,129,230, 55, 30,156,109,119,251,156, 71, 64, 40,185, 34,218,106,121, 36,165,252,236,
-235,175,218,216,116, 77,162, 64,171,217,226,207, 62,253,120,214,180, 93,215,253,240, 91, 31,124,252,205, 23,215, 55,155, 89,155,
-154, 16,174,119, 91, 16,101,162,175, 94, 93,140,253, 24,  2,229,177,182, 93,215,165, 84,165, 26, 24,136, 14,165,246,227,208,151,
- 28,137, 25,105,181,104, 61,239, 45,217,209,193, 65,204,136, 40,134,184,222,238, 60,149,159,107, 81,179, 49,151, 54, 53, 77,228,
-126, 28,  1,232,239,252,230, 47,253,242, 91,111, 45, 87, 43,102, 54, 67,  1, 40, 99, 95, 75, 37,142,199, 71,171, 89,151,158, 62,
-125,202,129,153,194,217,201, 89, 54,139,  4,165, 20, 53, 48,173, 93,211,138,228,188,223, 80,106, 41, 52,104, 56, 84,201, 99,143,
-156,152, 12,181,238,118,187,249,124, 65, 33, 13,251,189, 17, 72,150,166,237,230,179,118,179,185,149, 90,123,129,213,233,189,231,
-183,119,183,119,107, 69,236, 82, 92, 46, 22,179, 38,174,102,243,166,137,179, 89, 23,  2,181, 33,117, 93, 19,  2,199,148,  8,205,
- 77,108,230,234, 31,243, 32,135, 51, 38, 85, 69,165, 22, 51,166,200, 42,197, 42, 16,153,160, 49, 50, 18, 58,140,222, 23,160, 56,
-184, 78,137, 13,216,100,156,  6,158,196,106,  6,170,128,228,141,154,  3, 78,138, 21, 12, 65,  3, 65,191,219, 14,187,205,242,236,
- 40, 53,115, 17,112,251,183, 20, 41,121, 28,246, 59, 41, 85, 69,154,121, 27,155, 46,198,  6,137,129,144,136,201, 80,252, 71,171,
- 79,119,201,247,146,252, 74,106,254, 80,210,106,147,157,136, 39,239,149,169,168, 56,144,199,239,173,196,129,128,138, 84,  3,101,
-194,170,211,104,211,111,146, 42, 74, 76, 28, 26,  3,169,185, 74,169,  8, 66, 77, 66,160, 50,142,  4,232,152,101, 20,128,128,222,
-149, 21,  5, 19, 33, 52,115,251, 10, 34, 17, 87, 85, 52,219, 15, 99,208,131, 28,195, 39,163,191, 96,246, 78,115,108,243,113,176,
- 29,142, 55, 63,114,221, 46, 53, 69, 78, 29,218, 65,  7, 34,182,170,104, 65,  3,112, 44,132, 33,  3, 41,138,137, 32,161, 67, 34,
- 14, 60, 70, 71, 95,146,170, 97, 32, 56,108, 28, 81, 96,203,170,224, 30, 40,223,112,160,  3,189,102, 82,251, 25,248, 31,173,148,
-250,230,219,143, 63,251,250, 21,242,119, 56, 57,206,127, 32, 71,154,  1,168,  8,170,202,212, 54,249,197,158,  5, 32, 32, 99,138,
- 45, 33, 90,131, 72,104, 42,166,106,200, 96,162,166,150,179,169,  8,152,149, 98, 86, 76,213,204, 87, 54,136,192, 48,  6,  2, 66,
-  8, 96, 50,217,130,204,220, 22, 66,  1,  2,179,  1,118,129, 83,155, 62,124,239,189,119,223,255,206,183,223,255,224,141,135,111,
- 64,140,187,221,174, 31,247,187,245,250,233,147,111, 54,235,205,106,181, 72,109,243,248,241,187,170,186, 93,111,246,251,189,148,
- 98,181,174,230,139, 38, 53, 67, 30,134,126,159, 71, 11, 33, 48,198, 20,194,110,232,  5,173,140, 99, 37,170, 90, 74,149, 42, 54,
-150,106, 53, 35, 97,224, 24,137, 40,181, 69,106,173, 85, 68,  0,172,109, 18, 81, 80,179, 60,230, 94,242,190, 31,204, 52, 53,169,
-109,186, 38,177,169,229, 82,251,126,168,162, 82, 85,173, 26, 72,228, 16, 67,108, 83, 24,107,222, 13,253, 56, 86, 99,104,218,132,
-222,186, 18,101,  2, 81,139, 49,140,185, 32,129,228,122,187,222,230, 42, 72,148, 98, 20,145,177, 84,223, 27,172, 85, 75, 49, 83,
- 51,  4,  2,  8, 68,129, 83,155, 98,219,117,179, 54, 33, 95, 51,199, 54,134,174,235,230,109, 51,239,102,243,174, 59, 57, 62, 62,
- 90, 45,230,221,172,105, 99,203, 77,240,174, 63, 18, 69,127, 78,164,182,137, 67,206,159,124,254,245,215,207,158, 93,222,220,214,
- 42,236, 30,138,192,  4,184,152,205,209, 64, 73,180,226, 88,243,241,106, 53,107,186, 92, 43,135,248,238,155,111,133,128,175, 46,
-111, 31,156,158, 40,115,106,187,  6,163, 49,189,251,248,157, 49,231, 79,190,250,188, 31,247,227, 56, 70,142,111,220,127,104,  0,
- 31,253,236,103, 41,132,123, 71,167, 79,206,159, 63,126,243, 65, 10,205, 71,159,126,122,113,125,133,  0,111, 62,188,255,234,252,
-186, 77,241,203,252,204,170,188,253,248,254,126,200,127,242,209, 79,246, 99,255,232,254,131, 77,191,251,252,201,179,237,208,119,
- 77,179,217,238,114,173,145, 35, 97, 56, 57,106, 17, 64,181, 42, 40, 26,184, 61, 92, 77, 77, 28,171,  4,234,149,182, 90,  6,104,
-204,196,173,161,177, 81,176, 34,165,141, 13, 18, 84, 15, 11, 59, 70, 19, 99,  8,220,151,250, 63,253,179,143,238,126,105,252,181,
-247,223,153,207,230, 41, 70,145, 34,128,219,113,232,154, 80, 75, 30,160, 80,108,114, 30, 54,235,203,245,221,205,155,143, 30,115,
-196,171,205,122,177, 60,238,135,190, 10,236,182,155,121,151,108,200, 99,217, 45,143, 78,216,228,100,185,184,188,219, 96,138, 98,
-204,237, 34,231,129,114,142, 33,164,110,209,221,159,109,119,187,175, 46,174,190,120,254,234,242,110,253,252,226,242,102,215,223,
-245,123, 41,210,166,134, 35, 51, 81, 21,105, 99,138,145,103, 77, 34,226,163,249,188, 73, 33, 48,166,148,218, 20, 78,102,179,179,
-227,213,106,181, 92, 46, 22,139, 54,158,204,187,217,124, 49,155,181,  1,184,105, 19, 98, 36, 66, 41, 90, 44,148, 82, 20, 16,234,
- 72, 12,101,204,136, 53, 52, 77,136,141, 74, 85, 85,  4, 52, 20, 34,194,152,170,129,212, 74,137,  3, 51,197, 56,142, 61,136, 80,
- 19,208,184, 90,117, 43, 44,135, 88,115,222,245,101,214,166,200,141,129,113, 12,154, 51, 65, 35,104,165, 20,157,240, 53, 48,246,
- 61, 42, 32,114,211, 53,140, 36,234, 93, 39,  4,  3,230,201, 70, 61,241,221,192,151,249, 73,  0,107, 53,230,137, 87,107, 90, 85,
-225,144,154, 86, 48, 67, 85,142, 36, 86,197,140, 67, 80,161, 82,138,137, 97,164, 24,131,128,106,150,201,242, 40,197, 76,152, 24,
-152, 85,  4,213, 98, 98,226, 54,231, 98, 42, 72, 76,137,205,208,180, 26, 96,140, 33,171, 25,104,205,153, 17,140,131,168,250,104,
- 29, 16,  2,120,  2,242,112,196,155,153,137, 18,  7,183, 96, 31,130,142,168,170,147, 64,  0,100,146, 99, 76,181,137,159,252,116,
- 32,114,129, 33,160, 58,116,114,218, 15, 18,143,170, 76,253,238,195,230, 18, 33, 72, 53,  3, 51,228, 16,212, 65, 69, 96, 96, 34,
- 21,128,  8, 21, 60, 77,165,102,116, 80,  6,250,171,239, 71,177, 35,107,106,201,237,242, 12,202, 87,251, 92, 23,179, 69, 25, 71,
- 69,114, 34, 12,210,  1, 54,140,206, 80,  3, 20, 68, 86, 83,115,159,159,138,168, 26, 48,129,188,158, 52, 24, 18, 82, 72, 24, 18,
- 33,152,121, 17, 70,170,181, 12, 25,160,168,212, 50,142, 62,111, 64, 21,  0, 13, 10,102, 10,254,106,134,  0,166,255,248,143,254,
-184, 91,156,254, 27,255,250, 63,255,157,239,124,120,122,124, 90, 12,114, 25,111, 54, 55,121,183,187,120,254, 98, 55,110,135,253,
- 56, 91, 46,127,229,215,126, 35,160,221,222, 92,230,113, 24,246,251,125,191, 15, 20, 16,113, 62,159, 25,209,213,229, 43, 85,104,
-154, 56,111,155, 62,231,245,102,191, 86, 33, 68,102, 14, 77,218,247,253, 80,107,169, 42,181,168, 89,215, 52,128,144,139,130, 34,
-162,137, 72,201,153, 35,167, 24,171,202,174,223,239,246, 61, 16,118, 49,158,157,156,196, 24, 84,117,204,121,187, 27,164,138,152,
- 14,227, 40, 34, 69, 44,  6, 94,116, 77,211, 68, 64,220, 13,227,190,239, 85, 45,196,192, 76,125, 63, 86, 17, 17,  5,173,  2,168,
- 98, 69,100, 55,236,171,210,190, 31,115,173, 64,136,106,195,144,  1,161,139,209,239, 56,200, 76,140,193,195,213,196, 41, 52, 28,
-144,136, 21, 64,204,100,180,205,254,118, 24,118, 78, 43,232, 82,106,218,118,222,181,109, 74,203,197,188,107,219,163,197, 98,181,
-156,117,169,155,205, 83,219,116, 90, 36, 16, 60,127,117,241,151,159,126,126,179,222,132, 64,132, 28,136, 66, 19, 81, 49, 48,251,
-114, 80,136, 49, 48,153,218, 88,242, 56,244,215,140,179,210, 18,226,163,  7, 15,139,106, 76, 93,151,162,245, 61,168, 14,162, 17,
-195,118,183,123,246,242, 98, 44,195,172,235,218,208,206,186,118,209, 53, 93,219, 17,232,213,205,205, 21, 92,205,187,217,139,139,
- 43, 34,186,190,187,157, 55,237,195,123,103,127,249,217,103,185,212, 95,249,224,219, 33,132, 71, 39,103,219, 50,124,115,254,188,
-239,135, 89,215,221,174,239, 62,251,250,233,118,232, 17,200,  4,231,221,226,216, 65,106,132, 34,146,139,248,103,146, 13,128, 25,
-  0, 65,166,201,149,195, 77, 85,197, 14,206, 73,111,  6,138,105, 27, 40, 80,136, 49,168, 26,171,  9,104,  8, 78,102,155,188,170,
- 98,246, 79,126,250, 51, 41,195,175,127,240,173,213,234,120,232,119, 93, 59,159,119,203,192,225,201,211,103,169, 13,167,171,179,
-118,209, 52,105, 86, 74,169, 98,219, 60,156, 28,175,252,119,217,239,247, 20,210, 88, 49,198,208,239,135, 86,165,137,225,197,229,
-171, 97, 44,177,105,  9,185,101,124,248,198,187,130,225,110,232, 63,123,121,253,241,159,125,242,245,179,167,219,221,102, 63,140,
-158,218,218,230,140,104,196, 20, 34,197, 20, 73, 77, 69,212,164, 31,107,206, 69, 13,246, 57, 35, 98,191,223, 21,147,126, 95, 69,
- 11, 83, 56,154,207, 56, 76,152,219,147,163,238,222,106, 89, 10,222, 91,118,203,197,252,193,217,241,195,179,211,123,171,249,195,
-211,147,197,114,149,154, 36, 34,109,147, 40, 54, 98,128,  8,217,216, 60,114,  3, 70,200, 82, 20,  1,186, 89,151,199,106,102,192,
- 16, 66,128, 72, 53, 23, 54,224, 64, 68,193, 16,173,106, 41, 37, 15,121, 62, 91,148,106,145,162,170, 43,162, 42, 17,206,186,110,
-  0,147, 90,192, 64,212, 40, 50,  7, 52,211,172, 85,171,112, 76,132,196, 33, 72,205,181, 20, 10,193,183, 95,  8,163,234,168,136,
- 76, 33,  4,241,203,164,100, 87,247,161,169,146, 33, 81,162,  8,181,142,109, 66, 64, 26, 11,214, 42,181,  8, 49, 27,154, 33,228,
-156,209, 32,117,141, 84, 41,121, 52,209,118, 49,203,163,136,214, 24, 35,167, 84,197, 47, 79, 77,173,217,233,101, 76, 68,161, 21,
-201, 98,226,224,213, 72, 60, 61,244, 17,137,153,153,  9, 33,184,166,195,113,254, 62, 50,128,195, 10,168,167,  2, 17, 92, 44,106,
- 64,134,128, 24,216, 23,181, 15,196, 92,  4, 49,227, 41, 15,238,132, 70, 67,  0, 53,213, 10,134,138,138,232, 62, 29,114,132,133,
- 31,183, 86, 20,105,218,214,  5, 68,100,223, 24,155, 16,196, 94, 92,197,224,  4, 81, 71,  2, 76,165, 66,205,197,144, 25,105,  2,
- 35,128, 10,226,106,181,232,183,155,229,124,102, 86,164,136,119,197,171, 78, 64, 31, 79, 33,162,  1,160,104, 57, 52,205, 61, 65,
- 67, 54,173,197, 78, 43, 10,  0,106,104, 89, 21, 92,143,168,238,163, 65,226,134,136,230,136, 56, 91, 50,  6,210,170, 37,143,142,
-185, 81,201, 76,102, 90, 47,206, 95,125,245,228,252,225,163,247,255,237,127,231,183,149,160, 14,229,118,179,190,189,122,117,113,
-254,108,179,190,235,135,108, 64,143, 30,189,253,246,219,199, 77,211, 93, 95, 95,212,146,219,182,  1,177,174,155, 49,147,154, 13,
-187,126, 40,165,105,154,  7,247, 31,222,220,222,108,182,219,253,110, 44, 34, 77,227, 90,  3,237,135,190,106, 29,179,128, 65,138,
-145, 65, 13,209,140,170,149,170,181,142,238, 72,179,144,194, 56,150,205,110,159,115, 21,213,229,108,118,180, 56,138,145,138,214,
-190, 31,183,251,126, 24, 71, 66, 45, 21, 20,212, 53,208, 93,136, 77,219,166, 16, 74,213,126,216, 23,169, 78, 11,237,135,236, 43,
-204, 34,213,135, 49, 85,172, 40,168, 34,242,172,101,106,211,204, 91,172,232, 11,108,  0,140,145,192, 16,137,137, 76, 13,232, 80,
- 25,186,163, 67,132,  0, 74, 85, 64, 77,129,123,195,245,126,215,140,195,142,131,145,  5,164,197,108,121,239,244,200, 99,145, 77,
-228,174,235,102, 41,205,102,221, 98,182, 80,145,167,175, 46, 74,205,169, 73, 82,242, 62, 15,140,100,189, 79,194, 17,153, 16,128,
- 57, 57,  2,187,212, 98,166, 82,139,112,232,102, 75, 14,129, 12,112,142,166,186,156,  7, 32,172, 34,  4,120,117,123,219,143,125,
-155,210,209, 98,181,237,247, 87,235,219,219,245,250,225,201, 81, 81,120,121,125,221,165, 48,235,186,187,205,221,110,191,191, 94,
-239,154, 16,179,214, 89, 59,187,119, 28,175, 55,235,237, 56, 50,192,151, 47, 94,236,250, 65,196,206, 47,175,119, 99, 38,228,163,
-249,252,193,217, 49,152,150, 90,251, 62,  3, 76,187,230,190,172,101,  4,  2,168,158, 55, 35, 48,122,109,246, 37,133,106,  6,100,
- 80,  1, 81,205, 55,242, 65,141, 14, 42,131,130,166, 85,213, 55,255,196, 99,201,  6,  1,139,232, 31,126,244,115,197,240, 55,126,
- 48,187,127,118,118,121,115,119,181, 94,191,255,232,109, 76, 77, 95,237,122,125, 43, 82,219,166,171,165, 15,180, 60, 90, 30, 23,
-209,243,235,107, 82, 67,205,185, 82,155,186, 87, 87, 55, 15, 79, 79,  3,112,192,116,118,114, 86,  4,198, 97,255,217, 55, 95, 95,
- 14,218,127,250,252,217,213,229,102,191, 30,134, 60,140, 57,165,152,152,152,208, 24, 39,121, 27, 34,128,214, 42, 76,117,234,204,
- 26,153, 89, 85, 97,196, 90,106,100, 66, 36, 84,  9, 12,134,156,  2, 51,  1,147,  1,144,136,108, 54,253, 56,214,139,155, 93,209,
-162,  6, 99,206, 12,198, 28,212,180,  9,225,108,185,122,252,240,244,193,233,201,106,222,206,231,179,183,206,142, 79,143,142, 79,
-142, 87,145, 29, 90,167,179,229, 10,128,202, 48,  4, 50, 34, 52,177,196,161,212, 18, 57, 96,  8, 38, 46,207, 66, 49, 88,223,238,
-153,177,105,102,238, 89, 68,  0, 15,122,115,140, 96,134,156,192,140,209, 18, 49, 80, 64, 12, 20, 40, 80, 99,  9,164,102, 81, 65,
-135, 28, 68, 48, 19,  4, 82, 55,  2, 81, 52, 83,177,233,100,  1, 68,100, 86,169,165,140,136, 20, 98,148,146,213,147,166,  8,132,
- 98,  6, 68,156,102, 73,213, 36,143,224, 54, 15, 36, 17, 49,213, 16,162,176, 12,195,216,134,  6, 83,147,165,212, 92, 38,175, 30,
-  6, 70, 82, 43,129, 26,  5, 48,169, 76,228,127,  5,  2,231,146,217, 76, 81,220,228, 71, 70, 64, 28, 38,238,181,186, 26,233,181,
- 38, 85,108,114,136, 35, 34, 49,138,122, 52,134, 94,211,  1, 94, 51,207,188, 51,  6,158, 46, 58, 48, 99, 28,179,138,254,141, 71,
-  4, 53,104,154, 38, 52, 97,127,187,157,198,172,140,  6,122,200,160, 24, 34, 17,144, 65,245, 22, 92, 49, 37,100, 34, 84, 69,241,
- 65,235, 20,216,121, 93, 98,120,184,207,204, 76,114, 57, 58, 58, 94,223, 92,158, 28, 45,107,206, 98,202, 46,111, 69, 68, 83, 60,
- 44,149,226, 36, 95,192,  3,167,221,  0,209,127,229,233,128, 87,143,128,138,151, 54, 19, 88, 24, 12,196,166, 56,191, 85, 32, 16,
-173,160,  8,  8,129,  1,136, 67,104,204, 22,151,175,206, 63,249,232,227,152,102,239,126,231, 87,218, 24, 47, 46, 94,148, 82, 46,
-206,159,191,122,249,188,223,245, 72,225,173,183,223,253,224,222, 61,149,  2, 86,145,105,223,175,119,155,117,149,250,234,242, 85,
-191, 31, 24, 48,166,112,114,118,186, 60, 89,149,203,203,139,139,139,126,200, 57, 15, 33,198,148,  2,138, 86,173,253, 40, 99,206,
- 98,230, 44,134, 89,147,156,143, 80, 69, 75,201,181,230, 90, 51,  2, 41,192,126,200, 85,197,  4,218,212, 28,175,102, 77, 96, 49,
-221, 13,155,113, 83,242, 88,199, 82, 74, 45,204, 33,134, 48,150,222,192,  0, 83,215,117,206,157, 42, 82, 76,140,155,152,112, 70,
-104,132,176,219, 13, 96,176,181,253,186,212, 34, 82,157, 45,129,236, 42, 43, 67,243, 44, 44, 59,185,223,133, 11, 30,175,147,154,
-205,212, 42, 19,250,198, 28,152,127,198,148,145, 49,160,170,198, 16, 23,243,238,118,179, 17,  0,  2,  5,195, 44,178,235,247, 39,
-101,214, 54,237, 56,150,161, 14,227,144, 47,197,196,  4,192, 82,140,  6, 22, 67, 84, 48,239,191, 22,176,  8, 68, 76, 42,162,181,
-130, 97,201, 91,175, 43, 85, 21,  9,168,232,200,149,134,253,232,215, 76,160, 24,130, 33, 68, 12, 77,140, 68, 72,204,111, 52, 15,
- 13,196, 41,196, 93,104,  1,244,203,231,207, 75,173, 99,201,121,236,115,201, 99,169,155, 33, 63, 60, 57, 93, 45,102,231,215, 23,
-199,139,163,148,226,147,243,203,237,176,219,238,134, 64, 68, 72,217,138, 55,233, 12, 97,172,217, 12,115,169,165, 10,162,  2,210,
-235, 74, 82,201,211,199, 64,  0,162,158,230,125,189,188,225, 82, 31, 99, 38,247,186, 43, 40, 35, 24,130, 50, 18,133,156,  7,169,
-197,124, 40, 69,  6,132, 38, 96, 12, 96, 70,  6, 49,134,255,235,211, 47,111, 54,235,127,237,119,126,123,214, 52,251,166,219,238,
-119,203,174,235,139,169,148,221,238, 70, 49,214, 82,204,140, 98, 88,223, 93, 15, 67, 47, 34,109, 12,243, 89,119,180, 88,222, 59,
- 89,237,134,124,181,219,127,250,245,167, 95,159,191,120,121,187,239,115, 30,139, 84, 19, 38, 92,204,103,  4, 60,107, 19, 25,136,
-169,137, 78, 10, 11, 53, 69, 52, 53,246, 97,156, 47,143,219, 68, 15,156,  0,220,170, 22,244,150,  0,  0, 32,  0, 73, 68, 65, 84,
-104,134, 88, 85,165, 90,145, 10,  2, 98,101, 32,138, 16,  8, 33,139,  0,193,176,173,  8, 18,  1,136, 48,166,104, 64,106, 82,178,
-222,150, 97, 55,142, 79,175,111, 14,200, 29,139,196, 72, 56,159,205,151,109,211, 54,241,116, 49,187,119,118,122,182,156, 31, 47,
- 22,199,171,197,209, 98,182,152,207,222, 56, 59,109,231, 29,  1,  6,  4,140,193,185,134,125,206, 90,243,217,217, 49, 82,200, 37,
-179,  9,  5,156, 86,141,106,225, 24,151,171, 48, 14,161, 12, 99, 21,137,238,147,180,232, 78,104, 68, 34, 16, 53,247,131,177,170,
-163,149,221,144, 77,234, 90,113, 68,162, 32,181,212,154, 67, 68,  7,232, 35, 18,197, 38, 16,214, 58,150,226, 75, 50,  8,  0, 82,
-170,107,227,192,208, 84,129, 12,204,128,217,106, 97, 12, 49,  0, 18,169,  9,  1, 26,147,169,168,136, 79,169,  1,185, 74,  5, 19,
-160,  0,198,  6, 86,198,130, 44, 33, 68,  1,208,126,175,181,112,228,169,186,  5, 85, 67,114, 61, 29, 77, 81,152,131, 30, 69,241,
-181, 78,122, 82,231, 49,145,122, 65,233,116, 35, 87,251, 57,251,104, 90,213,153,174,224,132, 32,134,132,120,112,126,148,113, 44,
-227,  8, 96, 80,205,124,137,106,250, 12,211,148, 44,157,104,118, 82,171,146,239, 37,185,148,152,204,137,163,224, 20, 89, 95,  3,
- 86,197,  9, 55,138,166,146,230,139,171,155,103, 82,134, 92,202,  4,137,124, 29,173,157,  6,  4,234, 26, 97, 38,  4,155,136,100,
-126,196,155,218, 68,113, 35,115,189,217, 47,214,230,192,125,223, 64, 46, 11,192,105,209,219, 87, 38,114,149, 50,148,126,188,253,
-236,147,159, 14,195,240,238,183,190,179,156,207,175,175, 94,124,115,115,121,125,117,181,223,238,114,174,247, 30, 62,252,238,247,
-126, 16, 83, 35, 37,223, 94,191,122,245,242, 85, 41,117, 55, 14,155,221, 78,139, 52, 77,138, 33,164, 20, 83,211,132,200, 47,207,
-207,215,235, 53,  0,198, 16, 23,243,102,143,176, 27,246,227, 48, 22, 17,239,247, 17, 97, 36, 14, 28,156, 97, 93,160,140,217, 65,
- 50, 90, 69, 74, 45, 34, 86,  1,186, 16, 87, 93,203, 76,129,121,187,223,109,182,217, 12, 66,136,181,202,182,239,157,195,188,235,
-247,110, 38,105,155,102, 22, 19,209,  4,189, 83, 21, 19,147, 90,119,227,222,115,179,155,221,126,172, 32, 90,247, 67, 53, 82, 54,
- 50,  0,197,226, 49, 90,246,131,123,210, 54,170, 34,130, 24,240, 68,110, 32, 81,241,167,178,203, 11, 13,  8, 76, 77,249,117, 10,
- 15, 21, 45,164, 24,198, 82,  1, 98, 32, 68,  0,145, 90, 74, 77,169, 34, 26, 42,186,133,109, 28,234,245,230,238,209,253,147,239,
- 62,126,115,189, 27,231,179,213,237,246,246,234,246, 14, 24, 71, 49, 70,  0,196, 38, 38,100,242,111,129, 42,  1, 22,154,238,149,
-117, 43,142, 24,131, 73,109, 22,136, 41, 36, 14, 76, 28, 67, 10,145,188,158,157,181, 73, 83, 10,129,143,142, 79, 68,106,174, 53,
-231,113, 24,199, 82, 43, 82,  8,  8, 95, 62, 59,191,222,172, 95, 93,222,169, 42,113,152,117,109,192,144,152, 51,100, 52, 55, 78,
-  0,161,144, 37, 10, 68,149, 24,107,  5,159,239,131,190, 14,126, 77, 22,176, 73,201, 62, 29,238,238, 93, 82,241,156,177, 34,152,
- 41, 16,  8, 64,173, 70, 64,232,203, 53, 54,129,237,212,204,196, 38,163,197,  4,214, 69,  6,248,233,147, 87,252, 39,127,246, 91,
-223,121,119,222,206,  2,242, 80, 75, 30,135, 89, 55,159, 47, 79,119,195,158, 57, 94,173,183,  5,104,213,182,219,102,119,118,239,
- 29, 12,233,118,179,249,163,143, 63,253,242,252,242,197,213,205,213,102,189,222,237,252,175,155,167, 24, 83,138, 64, 41, 68, 80,
- 51,156,102,161,  7, 42,147,203,233,166,175,154,255,199,243,120,132,128,132, 38,147, 73, 14,167, 64, 51, 16,146,248,193,133, 20,
-  0, 64,173, 98, 45,185,104,  5,166, 48,228, 28,189,199, 81, 68,188, 48, 80, 69, 83, 64, 14, 14,135, 64, 42,126,220,170,230,156,
-215,160,151,235,205, 55, 47, 94,206,158,189, 26, 74,185, 92,223,161,200,188,233,150,243,110, 53,235, 22,139,217,114, 54,123,112,
-180,124,120,122,116,118,188,122,243,222,201,106,185, 76,132,243, 38, 49, 83,199, 93,149, 12,132,234,171,142, 30,190,119,115, 72,
- 16,198,192, 41,185,110,211,166, 64, 33, 33, 77,  6, 54, 53,156,  8, 29, 19, 13, 17,  1, 25,129,  8, 21,145, 25,188,159, 12,160,
- 74, 33,128,145,105, 29, 74, 97,  2,164, 88, 84, 77,196,164,114, 12,129,217, 12,213,109, 30,106,  8, 26, 67,210, 24,196, 84,165,
-128, 42, 48,  7,130,108, 19,103,212,227, 45, 90, 43,  0,144,243, 17, 12,131,115,135, 76,193, 60,140, 10,160, 90, 10, 18,  8,161,
-134,137,129, 55, 61,119,205,219,218,211,138, 19, 26, 34,123,139,  2, 93,129,230, 11, 74,132,211,197,195, 76,127, 17, 20, 63, 20,
-144,134,128, 76,175,117,126, 14,155, 48,  3,157,246,130,156,169,134,108, 83,199,199, 75, 84,157, 26,250,  6, 22,  2, 79,104,  1,
- 48,  6, 18,  1, 67,  3,154,182,136, 13, 77, 69,205,128, 34, 97, 32, 19,  1,  4,  6,252,248,163,143,122,  9,191,250,131, 15,215,
-155,157,155, 34, 16,217,192, 76, 42,  2,  2,138,151, 36,234,202, 78,244, 44,102, 69, 37, 15, 62,250,129,132,122, 48, 18,178, 47,
- 18, 79, 82, 43, 39, 12,195,  4, 71,211,221, 38, 87,145,188, 31,158, 63,253,230,217,243,167, 15, 31, 60,124,240,232,237,245,245,
-203, 47,127,118,113,125,117,173,104,139,197,252,209, 59,223, 58,187,247, 48,165,180,190,189,122,249,244,201,110,191,221,108,247,
- 23, 87, 55,185,228, 90,165,155,181,173,119,244,136, 16, 96, 55, 12,249,110,  8,196,243,249, 66,164,170,202,205,221,118,179,219,
- 35,122,239, 12,  9,137, 67,195,140, 62,219,204, 57, 15,101, 48,131, 90, 74, 41,101,204, 85,204, 66,224,196, 24, 66, 48, 67, 81,
- 25,203,168,166,251,177,144, 71,142, 76,198, 90, 76,193, 80,199,162,136, 12,  8, 77, 72,145,120, 63,142,178, 23,100, 84,213, 90,
-197,212, 74,173,187,190, 18, 83,151,218, 77,159,199, 82,220,210, 11,  2,130,138,  7,143,138,223, 61, 21, 20,  1,176,170, 25, 41,
- 26,249,119, 28,136, 14, 66,117, 64, 35,  3, 51, 49,243,112, 18,142,165,150, 90, 42,134,212,198, 24, 66,  3,179,253,184, 38, 44,
- 12, 17,  9, 69,180,104, 45, 69, 92,175, 92, 75, 53, 48, 14, 52,107,218,  7,199,199,187, 33, 95,111,118, 33,118, 39,171,147,183,
-222,124, 20, 66,216,239,134,167,231, 95,207,218,249,144,199,245,110,211,132, 56,129,249, 28, 37,228, 66, 13,112,176, 10, 42,130,
-168, 88, 17,130,218, 35, 56,101,156,153,152,  2,  5,110, 67, 19,153,253,244, 15, 76, 13,209,114,121, 10, 75,  0,134,183,223,120,
-115, 24,198,  7, 15, 30,142, 99,217,236,119,227, 56,140,227, 88, 85, 12,160, 88,173,181,130, 89,173, 85,212, 11,246, 73,245, 32,
-106,  2,198, 52,237,115, 59, 25,210,212,136,176,138,231,205, 14,110,  3,159,255,136,248, 94, 30,129,  1, 24,  3,154,136,212,  2,
-104,132,216,  4,222,  7,178, 90, 96, 34, 19,250, 13, 11,171,170, 31, 17,204, 28, 99,252,248,217,121,174,229,111,253,181, 31, 22,
-145,245,110,211,166,214, 52, 31, 47, 22, 93, 10,253, 48, 70,228,156,235, 75,158,255,249,243,155,243, 31,127,113,126,117,185,217,
-141,213,252,173, 23,149, 26,152, 24, 88, 93, 65,105,230, 89, 53, 17,229, 80,192, 32, 87, 97,162, 10,224, 68,201,250,154, 30, 66,
- 72,  0, 33,134, 82, 10, 24,130,218,  1,244,135, 10, 96,165,154, 86,240,214,147,  2,187, 82,208,227,228,128, 85,133,201, 84,161,
-138, 11, 61, 44,139, 16,162,130, 89,  5, 37, 20, 21,  3, 16, 52,241,  5, 61, 70, 83,149, 82,208,148, 16,152, 49, 20,154,135,  4,
-209,  0, 97,168,117,123,115, 93, 47,174, 94,187,171,  8, 48, 16,221, 63, 89, 17,211,201,124,118,122,180, 60, 91,204,142,142,143,
- 30,221, 59,125,243,236,120,121,180, 88, 45, 86,243, 14, 99,  8,216,116, 50,155,249,141,170, 10,248,250,  8, 99,144,168, 86,213,
-204,141, 44, 72,156,  0, 76,164, 34, 29,206, 59, 85,166,  8,  6, 22,146,212,130,140,128, 36,106, 10,  3, 35,135, 38,162, 66,173,
-  2,170, 41,178,197, 56,228,140, 38,236, 70, 23,243,125,160, 88, 68,152, 29, 40, 25,212,143, 58,196,136, 36, 77, 35,101,212, 82,
-152, 57,164, 36,230,251,252,132,211,238, 10,131,  1, 51,107, 46,222,101, 33, 53, 38, 50,197, 96, 96, 40,134,126, 22, 19,146,136,
- 63,152, 21, 25,205,152, 13, 12, 14, 36, 69, 31,  5, 31, 96,144, 58,245,217, 15,184,223, 67, 86, 94,213, 64,144,  8, 29, 55,111,
-254,224, 81, 64, 37, 63,255,213,128,212,121,234,254, 83,112,194, 15,161,169,130, 33,  5,191, 31, 79,255,155,252,202,103,122, 64,
-210,160, 34,  2, 88,215,196,253,126,215,117,243, 16,200, 84,134,237,250,127,251,195,127,242,163, 95,250,246,180, 81,237,198,166,
- 73,135, 41,160, 70, 97,  2,  9,121, 89, 73,166,  8, 12, 19, 71,195, 84,170, 83,128,  1,200,192, 64,166,252, 59, 34, 18,161, 17,
-104,150, 93,159,199, 97,204, 99, 38, 10, 55,183,175,158,124,245, 85,205,195,106,177,220,220, 94,127,253,197, 23, 55,219,219, 89,
- 59,187,119,118,111,177,152,137, 98, 32, 94,223,188,186,185,186,190,184,190,188,185,219,238,199, 65, 68, 18,115, 10, 60,159,117,
-204, 88,198,108,208,152,122,152, 23, 25,217, 84,183,219,254,160, 35,136, 71,139,249, 48, 14, 99, 46, 76,196, 20,153,160,150, 50,
-214, 90,164,170,129, 26,228,113, 44,181,136, 72,147,146,145,239,153,217,110, 24,134, 97, 68, 98, 98,146, 42,197,106,195,201, 64,
-115, 81, 53, 11,145,170, 98, 76, 92, 75, 54,131,221,208,111,  7,155, 86,149,145,246,251,126, 63,148, 92,165, 40, 18,105,224,184,
- 31,199, 42,  2,166, 85,108,114, 93,130,  7,213,  8,  0,164, 24,178,161,122,186,217, 37,247,102,100,193, 51, 88,138,135,159,140,
-190, 51,206,190,237,226,168, 69, 68, 64, 29,242, 16, 57,117, 41,201,124,182,222,237,  0, 36, 33,  3, 64, 63,142,  8,180,104, 91,
-241,244,172, 41,128,198,192, 47, 46,175, 63,120,252,230,119, 31,191,121,219,151,111, 61,126, 12,132,203, 89,151,  5,111, 54,155,
- 71,247, 78, 63,127,242, 13, 66, 56, 61, 58,189, 89,223,237,250, 97, 49,107,134,154,  1,145, 17, 99,140,  8,174, 43, 37,239,141,
- 28,214,169,124,155,198,178, 20, 27,109,143,123, 79,192, 50,113, 10,145,153, 99,216, 51, 83,160,200,137,  3,211,106,177,162, 21,
-189,129,247, 16, 88, 84, 75,205,162, 58,142,227,102,187, 45, 67,185,237,183,231, 47, 95,249,208,195,247, 60, 68,100,130,158, 34,
- 32, 98,209,105, 39, 92,193,180,122, 28,  9,145,144, 12,216,215, 85, 17, 16,125, 39,127,106,245,152,  2, 56,174, 88,213, 11, 38,
- 67, 62,240,183,157,172,162,244,255, 83,192, 19,  2,  6,250,236,252,114,252,147, 63,255,253, 95,249,165,183,238,159,130,192,171,
-205,245,197,205,237,249,122,251,213,203, 87, 69,232,118,191,239,115,201, 37,251,166,249,178,153,165, 24, 24, 33,103, 85,  0,243,
- 29,124, 68,166,102,218,209,  3,  5,110,204,132,136,167,166,  3, 64, 38, 82, 21, 54, 80, 83,168,128,137,216, 47,112, 19,226,207,
-215,216, 93, 91, 12, 14,244, 16, 80, 49, 35,  0, 49, 51,172, 85, 66, 17,241,  4,182,  1,154,137, 10,  0,105, 53, 69, 83, 70, 30,
-167, 39, 11, 38,112, 21,140,185,165, 34, 66, 64, 67, 17, 20,213, 41, 80, 80, 75,169,  5,  9,  3, 19,138,129,  0, 19, 70,  6, 21,
- 70, 66,  3, 45,162,219,126, 24,115,125,121,117, 91,164,238,115,110, 67, 88,204,230, 93,234, 24,117,214,198,163,197,236,222,209,
-209,227, 55,238,157, 30,173,190,243,248,209,131, 71,111,213,177,134,182,227, 96, 76,134,196,140,172, 68,160,122,128,153, 35,135,
-224, 27, 82,136,196, 33,152,161, 22,225, 38,197,212, 14,227,222,170, 34, 35, 35, 19,  6,201,130, 12, 72, 64,136,165,138,106,230,
-233,161, 99, 49,112,169,140,117, 20,171,  4, 72, 24, 69, 65, 64,240,176, 82,175,102,181, 10,115,192, 48,205,112,  3,153,255, 38,
-147, 34,219,212, 12,198, 97, 48, 80, 36, 36, 74, 50, 22, 51,157,216,102, 41, 68,117,108,174, 42, 78, 83,121,244,  1,166, 29,144,
- 94, 96, 54,149,101, 30, 81,199,137,113, 10,204, 33,198,169,135,126,248,204, 57,231,  8,253, 92, 62,  4, 27, 65, 77,173,162,103,
- 43,189, 28,128, 67,237,112, 16,209, 34,177,211,241, 15,170, 12,157, 40, 35,254,179,166,131,  8,136,136,  3,254, 31,255,232,127,
-253,  7,255,227, 63,164,216,164, 38,157, 28, 31,175, 88, 16,219, 24, 83, 81, 45,185, 56,159, 18, 76,  8,193, 81, 97,160,134,128,
- 42,117,194,227, 33,169,186,254,113,226,176,138,249,121,143, 90, 11, 34,113, 76,206,115, 26,199,186,223,247,227,126, 44,181, 74,
- 25,251,126,251,242,249,147, 79,191,248,249,131,179,251,128,118,121,117,211, 38,142,177,121,120,118,186,104, 23, 22, 35, 26, 45,
-150,179,126,191,125,242,228,249,211, 23,231,165, 84,  4,104,154, 38,133,224, 53, 81,205, 82,217,220, 37,109,104, 34,121, 55,142,
-238, 53, 79, 41,181,177,203, 99,238,247,187, 77,191, 39,230,166, 73, 34,138,104,185,228,109, 63,228, 82, 60,166,201, 33,112,  8,
- 41, 70, 67, 41, 85,107, 17, 19,  5,196, 90,197, 24, 85,101,216,143,132,148, 82, 18, 17, 67, 85, 85,173, 54,100,185,221,110,230,
-237, 44,165,192,158,201, 67,205, 37,239,246,121,189, 29,198, 90, 29,254, 30,208,181, 12,154,221,239,131,147, 62,195,247, 13,139,
-105,240,192,135,161, 42,208,235,239, 51, 26, 26,162, 55,190, 29,244,140,206,154, 83, 68, 12,  7, 13,  0, 29, 54, 45,188,177,144,
- 75,  1,196,101,215, 17,242,110,191, 29,165,  6,160, 90,  4,147,229,154, 83, 19,177, 90, 21,245, 36,234, 80,228,231, 79, 95,156,
- 30, 45,255,213,127,233,239,214,177,254,241, 95,254,197,217,209,114, 55, 14,167,199,171,227,227,227,250,229,215,199,179, 21, 34,
-174,119,251,239,127,240,189,199, 15, 31,156, 30, 45,215,251,253,159,254,213, 79,246,227, 78, 69, 68, 37, 48, 85, 17,166, 72,165,
- 32, 34,  5, 33,  3, 12,140,196,222, 54, 49, 68, 53, 45,162,163,100,  2,  2, 68, 66, 76, 20,128, 49,112,100, 34, 36,238, 82,106,
- 98,226, 16,  3,117,204,164,243,197,189,147,123, 49,144, 33,230, 92,174,174,175, 46,110,174,155, 20,  8, 97, 44,165,168,152, 23,
-216,106,132, 88, 85,137, 48, 48, 87, 44,  8,192,  4, 34,126, 11,115, 20, 48, 16,  0,241,161, 39,111,128, 76, 28,  8,171,131, 66,
- 32, 48, 87, 21, 21, 67,159, 50, 33, 25,184, 31, 97, 82,197, 35, 96,176,160,  0, 95,156, 95, 17,252,244,131,183,238,127,254,226,
-234,197,122,125,187,217, 87,129, 20,120,222, 80,140,141, 59, 44, 49,160,169, 41, 26,169,103, 46,167,212,243,129,134, 58,149,183,
-  0,  8, 90,212,144,  9,226,164, 89,166,160, 42,168,197, 12,128,140,170, 33, 84,176, 96,213, 87, 79,212,  0, 80,139, 74, 34,244,
-193, 34,121,131,222, 43,  2,240,130, 89, 20,148,  0,201,231, 56, 62,208,211,137, 99, 12,254, 88,159,228,157,  6,102,204, 76, 82,
- 29,224, 94,173, 86, 53,  2,100,128, 97, 24,157, 83, 41,234,144,209, 82, 85,  0, 16,148, 16, 60,219,173,168, 98,218,136, 26, 49,
-144, 80, 66,103,102,170, 89, 29,213,246,235,225,229,205,221, 79,190,252,166,  9,105, 24,243,127,248,247,255,133, 95,251,157, 31,
-221,222,109, 75,209, 50,150, 49,143,232, 61,182,195,135,188,153,205, 99, 51,179, 42, 76,202,156,212, 76, 74,230,192,  6, 25, 12,
-138,148, 16,131,144, 18, 64, 21, 53,172,212, 54, 40,181, 84,149, 98, 33, 48,  7,158,234,  0, 10,166,142, 86,111, 69, 51,146,119,
- 16,176,141, 51,  1, 45,146,107, 29,  3,199, 24,147, 65,213, 42, 85, 32, 53,141, 42,154,136,103,223,253,194, 77,129, 16,217,140,
-144, 76,171,114,215,120,136, 54, 16,134, 34,  3, 81,152,122,213,236,  4, 94,  7,225, 78,254, 61, 56,200,142, 15, 14,105, 31, 59,
-123,222,157,224, 53,113,221, 38,143,210,129,248,168, 48,  5, 40,125,111, 85, 39, 45,134,175,227,185,228,101,242,126, 28,160,141,
-168,134,  1,188,197,133, 19, 80,223,237,127,226,239, 19, 78, 19,134, 39, 95,124,250,223,252,119,255,195,203,157,158, 46,106,190,
-189, 59,127,113, 94,213,126,251,215,126,253, 31,255,225, 31,190,241,248,189,119,223,125,171,150, 50,141,179, 14,146,245,137,227,
- 75,236,191,254,107, 96,217,107,248,  0, 79,219, 22,  2, 20, 84,160, 31,181,228,220,239,198,113,232,107, 25, 17,116,236,119, 47,
- 47, 94,125,252,201,199,219,125,158,207,103,151,183, 55,100,120,188,154, 47,230,139,118, 62,107,218,212,197, 48, 86,123,117,121,
-241,252,167,231,235,245, 54,231, 28, 82,211,166,196, 68, 49,177, 40,  4, 98,  3, 81,177, 24, 89,198,220,247,195, 68,108, 98,236,
- 82,  7,  8, 67, 25,174,111,111,199,113, 68,228,174,105,192,108, 55,246,251,190,119, 38,143,136, 49, 97,138, 13,115,100, 70,  0,
- 27,242, 40,213,218,216,142, 50,172,183,219, 10, 74, 16,192, 80, 84,221,150,161,112,104, 22, 82,192,132,  9,108,185,176, 54,198,
-162,101,172,197,128, 25,240,118, 51,108,251, 49,151,202, 19, 77,194, 12, 44,155,  5, 64,158,112,160,238, 46, 87,247,110,177,239,
-171,137, 18,163,169,235,139, 12,192, 64, 20,144, 39, 49,139, 29,  2,170,160,135, 10,143,144, 21,225, 32,210, 68,  5, 35, 52, 96,
-132, 90,242, 94,164,107, 82, 10,171,109,223,151, 82,134,113, 92, 52,211,250,120, 64,170,128,165, 22, 64, 20,213,171,117,255,224,
-222, 89, 25,182,159, 63,121,  9, 24, 62,120,255,219, 79,207, 95,198,148,182,235,245,188,235,152,224,226,230,230, 91,111,189,245,
- 43, 31,126,235,231,207, 94, 60,126,244,240,114,189,126,247,237, 71, 47, 94,190, 66,176,243,171, 11, 10, 60,140,153,188, 87, 34,
- 74,132,134, 24, 34,  7,160,144,  2, 96, 32, 48, 38,118,186,180,  6,243,225, 66,150, 34, 21,136,138,155,  6,118, 59, 12,156, 56,
-114, 36, 10, 41, 70, 98,134,144,  9, 21,113,214,181,111, 60,124,120,239,228, 76,172,168,193,174,239,135,126, 95, 75, 25,203,184,
-239,199, 82,107, 24,177,152,223,202, 15,223, 28, 38,158, 32,214,200, 60,161, 51,166,164,177, 63, 32, 85,152,  2, 17,171,100,  0,
- 99,114,229, 24,160, 65, 64, 84, 51, 69, 50,167,234, 57, 22, 30, 13,209,218, 72, 63,127,117,251,217,249,229,118, 44,140,216, 53,
-177,137,254,117,101,191,127,218,164, 86,152, 24, 36, 72, 78, 37, 65,125, 45,173,113,178,176,139,107,204,124, 21,190,170,132, 24,
- 84, 39, 38,171,248,147,200,195,121,  6,136, 36, 34, 41,113, 29, 43, 48, 51, 18,  0,166, 64, 67,241, 69, 70, 35, 66, 81, 16,177,
-170, 83, 46,131, 24, 69, 64,192,212,109,217,224, 56,  0,212,  9,248, 14,136,152, 85,  3, 64,203,140,211,210,185,169,184, 26, 20,
-128,120, 63,150, 41,185, 98,134,211,243,233,176, 22,233,  2, 20, 64, 81, 80, 21, 15, 95,123,159,197,135,  7,185,102, 85, 83, 21,
- 52,232, 98,156,117, 77, 74, 60,239, 58, 20, 11, 68,221,162,129, 85, 82, 85,145, 98,170,165,148, 90, 93,  3,179, 23,201, 28, 26,
- 17,180,113, 67, 28, 24, 88,242, 32,170,168, 18, 82,139,  6,160, 98, 86,153, 25, 12, 24,188,167,129, 20,131,199,200,252, 81, 94,
- 85,  3, 98, 12, 49,107, 38,136,  0,232, 47, 81,  5, 81, 21,  4, 11,222,193, 69,168, 50, 41,221,171, 20,166, 38, 48,138, 59,196,
-196,164, 86,  4, 35, 52,226,  0,  0,200,177, 74, 77,104,  4, 22,  0, 80, 13, 77,196,199,189, 32,250,250,189,245, 59,184,136, 76,
- 77,138,  3, 23,  0,180,122,197, 25, 56, 58,  7,206,251,245,228,117, 37,251, 76,107,106,250, 76, 50,107,  4,164, 56,189,244,  6,
-135, 65,187,  7, 86,  4,129, 16,  9,216, 38,135,146, 55,218, 39,162,  1,121,208,157, 48,170,137, 63,117, 76,245,241,251,223,253,
-123,255,242, 31,252,215,255,253, 63,116, 73, 66, 12,109, 54,249,217,151, 95,125,244,201, 71,127,227,247,126,255,251, 31,126,235,
- 58,103, 80, 33,226, 64, 92, 65,225,176,185,229,221, 68,  5,163,105, 22,236,104, 58, 36,160,172,  2,162, 34, 92,139,149, 82,182,
-155,219,190,223, 90,173,196, 36, 82,159, 62,249,230,203,111,158,172,183,251,132,180,154,117, 90, 43,165,248,222, 59,111, 29,159,
-158,206,186,217,122,189,126,242,226,197,205,245,245,122,187, 99,  3,111,132,206,187, 24, 99,104,218,  6,145, 68, 10,146,186,118,
-217,207,229, 90,196, 64,  3, 48, 16,182, 41,110,242,122,183,223,101,209,200,161,105, 58,211, 58,228, 97,179,221, 86,169, 96, 24,
-136, 99, 10,129, 25, 13, 69,171, 65, 21,245,207,143,246,253,120, 43, 27, 85, 43, 34,128, 40, 38,  0, 16, 41, 18,123,161,140, 38,
- 86,138,204,187,121,219,117, 82,235,118,  8, 23,151,151, 64,156, 98, 36, 47,196,144, 76,209, 73, 31, 38,  0, 96,242, 11,242,130,
- 78,195,118, 63,174, 81,236, 96, 46,124,221,181,  3,143,114, 79, 80,185, 73, 81,110,224, 31, 36,251,133, 96, 23,196,227,183,230,
-192, 31, 23,100, 29,122, 23,  6,186, 27,251,200,113, 57,155,143, 57,239,199,190, 47, 37, 40, 35, 66,228,144,179,  0,216,209, 98,
-121,124,180,124,235,254,131,211,227,249, 59,143, 30,125,253,244,229,241,106,126,117,115, 99, 64,243, 38,237,153,110, 55,155,253,
-176, 59, 91,172,126,240,157, 15,190,124,246,124,183, 27,186,118, 86,164,158, 95,190,236,115, 63,140,101,170,228,204,198,154, 85,
-100,179,223,139,  2, 49, 53, 49, 52, 49, 49, 97,  8,132,196,129, 25,145, 66,226, 36,193, 27,122,190, 66,229, 25, 98,  1, 33,196,
- 92,118,144,  1, 21,140, 56, 16,197, 20,  2,167, 38,  4,171, 89,192, 76,141, 57, 18, 26, 50,117,109, 71,243,165,106, 21, 53,  5,
-171, 89, 74,201,253,216,247,195,176,222,238,110,215,119,185, 31, 70, 51, 50,100, 14,106,224, 59,223,174,238, 33, 35, 12,228, 23,
-231, 64, 72,  8,204, 60,214,  2, 64,132,168,206,237, 10,225,224,134,155,164,165,222,252, 36,164,121,162,106, 36, 10,106,224, 62,
-107,158,250,147, 10,230, 56,247,105,238, 45, 86,153,153,144,  1, 21,  1,130,129, 78, 52, 51,159, 15,168, 26,138, 78,192,121,240,
- 25,130,169,249,202,161, 40,120,202,  7, 16, 20,170,148, 32,147,177, 27,  8,153, 25,153,235, 96,168, 94,195, 24,120, 58, 14,192,
- 39,177, 42, 38,166, 65, 39, 85,146, 18,128,  0, 51,153, 30,160,234, 62, 79, 86, 45, 85,109, 42, 11,209,192,162,151,245,160, 38,
- 85,112,210, 63,192, 52,192, 38,191, 96,190,254,248, 33,162, 34,  0,161,122,108,  0, 13,205,249, 42,182,207, 25,181,154, 90,211,
- 36, 81,169,185,214, 34,226, 21,111, 21,164, 98,106,104,170,102, 33,  4,102, 87,195,  1,152, 32,100, 65, 52, 18, 52, 21,149, 92,
- 70, 83, 20,  0,217,141,218,151,217,124,142, 20,164,142,158,220,101,118, 81, 19,136,178,138,170,168,128,166, 24,  1,200, 16,152,
-130,104, 65,162, 67,116,219,199,  6,164,104,102, 24, 41, 16, 83,197,172, 62,215,  1, 69, 34, 15,215, 35, 19,  6, 12,196, 24,130,
- 22,  1, 80, 38,139,161,  1, 19,172, 37,248, 16,  5, 12,  0,217,  3,141, 70, 19,  3,192,251,240, 96, 64,254, 15,242,181, 86, 64,
- 35, 50,127,  5, 19,193, 33,133,110, 98,194,132,248,250, 94, 76, 62,125,  3, 87,159, 78,189,243,169,103,228,231,  2, 78, 92,245,
-224,162,130,234, 48,162,195, 93,219, 76,200, 67,144,164, 40, 83,215, 29,125,252,139,  0,156,126,227,183,126,247, 39,127,245,217,
- 95,126,121, 62, 22,  5,172, 98,245,249,179,175,175,119, 35,254,223,127,252,175,252,139,191, 23, 17,170,  1,  0,138,  1, 35,187,
-125,220,107, 34, 39,200,212, 90, 76, 32,117, 45, 49,155,218, 80,180,100, 21,195,177,223,110, 54, 55,195,230, 70,181, 16, 52, 24,
-224,213,249,213, 23, 95,124,241,234,246,246,236,228,232,209,189,123,254,140,185,127,239,228,241, 59,239,150, 90, 63,254,228,147,
- 39, 47,206,183,155, 45, 50, 53,169,233, 98,116,109, 83,219,134,200, 41,196, 84,107,221,247,123,169, 38, 32,104, 48,150, 44, 62,
- 22, 16,193,192, 49,165,128,184,221,237,247,117,156, 55,179, 46,145, 66,237,251,221,221,110, 39, 53, 35,133, 16, 98, 74,145,  0,
-106, 21,138,228,153, 76,100,220,237,251, 82,234, 56,142, 67,205, 67, 17, 52,240, 37,108, 71, 81,215, 92, 20,168,141, 12,  8,185,
- 10, 80,192,192,221,172, 67, 83,142,169, 31,199,190, 31,  1,145,137,170, 74,155, 82, 79, 67, 21,144,170, 96, 54,249, 33,  0,  0,
-176,250,136,115,218, 52,112,150,160, 47,240,201,107, 78,  4,161,153, 84, 18, 52, 70,240,110,236,228,142,240,176,  7,152,107,214,
- 16, 84,125, 72,134,  7,110,219,107, 23, 35, 32, 98,128,168,162,131,230,211,213,252,141,120,180,222,236,171,  8, 87,170,117, 60,
- 93,173,254,218, 15,126,248,203,223,253,246,217,209,241,213,245,205,205,230,174,235,230, 63,127,242,205, 63,247,215,127,253, 39,
-159,126,129,  0,127,244,167, 95, 75, 41,187, 97,124,116,239,222,143,190,247,221, 24,194, 23,223, 60,249,240,219,239,253, 47,255,
-232, 15,127,254,252, 89,140,225,187,239,188,255,217,147,175, 36,151,181,202,221,250, 46,139, 34,113,147,218, 89, 55,107, 34, 65,
-213,106, 58,230,177,102, 25,139, 53,109,154,165,176, 94,103, 10,161,235, 98, 12, 33,134,164,166, 76,204, 20,220,  9,163,100,100,
- 17,  3,130,214,177, 74,174, 57,114,206, 28,183, 62,116, 34,  8,192,109, 19,230,179,217,241,201,106, 53, 91, 44, 22,139,197,114,
-217,164,132,224,208, 43, 37,166, 97,216,247,195,112,187,221,223,222,220, 92,222,220, 92, 92, 95, 95,223,221,109,118,187,113, 24,
- 21, 16,136, 34,154,130, 53,137,171, 26,249, 22,  9, 10, 81, 64,  0,102, 14,200,194, 64,170,  8,134, 85,  9, 95,231, 18,  4, 12,
- 98,224, 64, 80, 11, 18,128,  0, 84, 55, 60,160,209, 65, 81,227, 89, 55,  5, 83,180, 68, 36,102, 85, 20,193,200, 64,208,204,128,
-201,199,132,140,204,117, 20, 96, 68,196, 20,130,  1, 72, 17,181,233,140,  7,223,122, 12,  0, 78, 87, 55,200,165,  4,242, 46,196,
-116,133,102,132, 74,147,172,195,  0,101, 66,157, 24, 57,242, 89,  9, 95, 63,239, 41, 32, 84, 10, 80,242, 97, 68,230,119,  8, 52,
-213, 26, 83, 16,255, 98,147, 41,128,  2,  4,131, 38,165, 34,117,132,202, 24,188, 28,170,135, 91,188, 63,142,166, 63,168, 30,118,
- 56,209,196, 52,152, 41,138,104,201, 37, 48, 35,186,123,141,188,  9,129, 64,222,156, 48,169, 70,135, 46,238,228,150,245,184, 97,
- 48, 83,  4, 99, 99, 65,  8,204, 33,206,167, 35, 18, 76, 22, 77, 63,150, 50,246,165,102,  4,202,219, 29,161,174,142,143, 65, 33,
-  4, 78,169, 17,199, 67,233, 33,202,  2, 96,200,117,204, 68, 16,187, 14, 20, 84,132, 56,160, 66,213,202, 42, 20, 99, 84, 54,173,
-197,  4, 77,128,162,203, 41,  1, 45,181, 51,160, 70, 84, 17, 70,173, 89,148, 74, 41,  0, 86,198, 26,204, 44, 16,187, 88,212,  7,
-125,147, 74,148, 24,181,138,186,192,197,  5, 52,206,226,114,189,246,212,192, 57,204, 48, 13,167, 81,172,247,225,205, 49,188, 56,
-133, 61,217, 84, 16, 25,220, 71,240,186,181,232, 44, 80, 55,225,137, 77,115, 39,169,126, 11,161,224,240,107,179, 98,134,130,  8,
-200, 65, 93,  4,  8, 38, 90, 67,211,158,157, 29,133,111, 94, 50,113, 95,198,191,253,183,255,206,223,255,187,191,251, 31,255,167,
-255,217, 71,207,111,239,110,215,247, 79, 87,  8, 40, 90, 35,199, 73,176,164, 21,129, 28, 32,105,  0,134, 65,  8,106,  1, 85,200,
-185,236,247,125, 25,247,155,187, 43,169,125, 41,194,204, 99, 63,188,186,120,250,252,229,121,191, 31, 87,199,171, 31,125,248, 97,
-215, 70, 49,107,186,166,107,103,219,253,238,159,254,241,255,243,244,233, 11, 84,156, 47,218,163,213, 74, 75,165, 72,136,200,132,
- 41,165,192,156,115,222,247, 89,180, 26, 88,169,101, 59,246, 42,214,196,232,143,103, 64,146, 34,125,217,138, 89, 12,180,104, 90,
-209,124,181,223,229, 33,103,169, 76,212,181, 11, 87, 56,214,146,199,113, 64,132, 93,191, 51,128,174, 73,  6,160, 34,187,253,190,
-207, 85, 14,210,  6, 64,  8,136,200, 44,110,206, 50,219, 13,121,172, 18, 66, 56, 89,117,  0,  8, 68,203,249,113, 72,187,162,114,
-125,123,155,135, 33,  5,130,138, 33,193,201,114, 46,106, 85,178, 20,237,171,136,135, 66,193,  0, 72,138,137, 21, 15, 85,161, 17,
-128,232,180,220,172,  0,236,253,129,131,142,124, 10, 68,191, 70, 38,123,119, 21, 64, 13,244,160, 51, 68,  0,100, 36,100, 50,209,
-170,114,160, 80,184,  5, 27,  8,112,187,207,139,123,179,227, 85,216,238,119,106,150, 82, 60, 61, 57,249,217,151, 95, 32,193,111,
-252,234,175, 62,189,120,117,117,125,243,103, 31,125,244,  7,191,247, 55,193,240,234,230,246,110,183,101,179,211,147,179,251, 32,
-247, 79,206,250,220,255,244,203, 47,193,234,221,245,237,237,110,247,224,232, 56,197, 16, 80, 77,236,102,191, 55, 85,160,112,178,
- 88, 44,218,200, 33, 52,137,251,177,  8,212, 89,140,  2,154, 51,  0, 85,239, 39,109,246,251,237, 48,  6,226,227,197,114, 62,107,
-124,170,204, 68,196, 76, 72,145,137, 89, 72,200,145,135,196, 20, 34, 51,211,178,107, 87,179,249,209,209,124,217, 45,142, 87,203,
-  7,247, 78, 23, 71,171, 38,164,110,190,108,187,  6, 57,198,208, 32, 18, 51, 41, 96,238,119, 82,133,  2, 73,201, 67, 63,230, 50,
- 12,251,225,250,246,238,249,203, 23,215, 55,215,175,174,110,206,175,174,251,113, 44,181,108,182, 61,249,188, 36,155,169, 16,147,
- 78,155,241,147, 28,144,  2, 50, 51, 30,114, 16, 16,152,249,144,129, 64,245,224, 26,185, 43,141,208,  0,  2,130,  0, 25,  0,249,
-206,253,100, 34,  7, 84, 31,237,249, 56, 16,170,154,162, 69, 85, 67,101, 32, 19, 19, 81,102, 34,162,215,177, 31, 31,183, 76,236,
- 61,  3, 37,223,106,  3, 85, 13, 49, 32, 76, 19, 26,157,  0,124, 38, 82, 99,  8,136, 19,114,209,151,187,244,128,242,155,232, 49,
- 66, 58,177, 24,136,129, 92,202,  3,  8,234, 78, 47, 55,165,120,129, 15, 20, 27,166,202,125, 41,191,160,221, 30, 98,205, 94,205,
-  0, 26,  1, 16,177,128,248,  5, 72,204,129,184,160,134,  6, 26,136, 83, 72,204, 44,104,106, 26,152, 60, 48,231,135,149,233,193,
-241,  0, 24,188,154,240,198,254,244,  8,241, 50,  2, 85, 11, 76, 37,170, 17, 83,215,112, 23, 16,176, 19,145, 82,115, 85,232,251,
-141,130,201, 86,193,128, 56, 32,114, 12,129,145, 93, 21,146, 56,104, 67,138,106, 82, 69,192,197,132, 68,200,212,148,154,163,162,
- 25, 34,179,235,225,189,155, 69, 76, 41,118, 20,163, 26,128,168, 48,131, 48,162,184,160, 43,166, 24,124, 70,195,164,106,138,222,
-233,113,168,130,200,148,129,132, 26,220, 91,228, 23,187,105, 44, 64,240,122,156, 58,153,103,109,122, 49,224,208, 79,  7, 50,127,
-202, 50,  3, 18, 30, 72,147, 94, 19, 76, 18, 73,143, 87, 22, 53,156,150,152, 60, 41,139, 83,236,210, 59, 62,135,241, 45, 26,146,
- 11,124,  3,154,197,212,157,156,156,196, 16,108, 28,  9,237,195,247, 31, 47,239,191,253,239,255,187,255,222,215, 47, 46,222,184,
-127,154,165, 18, 34,249,146,147,191,201, 22, 20, 76,180, 42, 54,128, 73,209,198,220,247,187,245,110,123, 11,160,253,110, 43,181,
-214,113, 24,114,190,189,187, 27,246,187,167, 47, 94,222,237,199,119,223,124,248,230,123, 15, 30,156,158,238,199,129, 98,179,217,
-220, 62, 57,127,181,221,238,250,126, 47, 34, 71,243,101,140, 68,132,166, 48,155,207,129,212,239,190, 82,202, 48,228,177, 12,106,
-152,203,184, 31,134, 92, 74, 76, 77, 27, 83,206,185,170, 17,152, 47,103,167,148,128, 96,236,135,245,176, 21, 81, 69,136, 28,102,
- 33,229,156,183,253, 46,231,108,104, 12,160,196, 94,250,116, 77, 82,131, 82, 11,152,  6,230, 38,162,177,  9, 64, 46, 89, 68, 81,
- 77, 12,198,177, 20,145,249, 98, 53, 14,163, 24,204, 83,211,196,208,180, 29, 24, 50,208,106,182, 84, 49,  4,188,190,185,164, 16,
-131,  9,171,142,165,  0, 81, 96,142, 28, 79,219,118, 40,  5,  0, 57,  4,169,117, 44,165, 31,185,106,  5,133,125, 46,224,187,109,
-190,109,140, 24,152, 39,241, 49,144, 19,129,  8, 80,124,124, 98,102,  0,213,243,193,  2, 72,211, 12, 29,253,147, 86,157,169,239,
-233, 16, 80,  3,144,226,242, 94,149,250,205,249,171, 20, 82,100, 34,198, 93, 63,252,252,155, 39,187,156,111,215,155,245,110,207,
- 28,150, 77,184,184,188,250,209,135,223,251,175,254,219,127,240,245,243,167,219,221,240,214,131,179,229,172, 93,180,205,243,203,
-139, 79,191,220,236,198,225,151,223,123,175,214, 50,239,154,161, 31,158, 93, 92,252,197,231,159,143, 99, 65, 14,247,143,142, 56,
-134, 89, 10,226,254, 63, 32, 55,150,149, 34,175, 23,253,162,219, 19,  8,  3,179,175,153,148, 42,102,134, 25,  8, 81, 85, 82,106,
- 76,149,153,145,177, 73, 13, 17,182, 93,119,180, 92, 52, 41, 53,145, 17,177,140,117,135,253, 88,203,237,122, 29, 83, 76, 49,165,
-192,177,105, 98,224,182,105, 83,211,116, 93,155, 82,215,117, 93,136, 77,  4,167,225,116, 11, 64,169,245,222,155,143,190,243,225,
-135, 53,143, 67,223,239,251, 97,191,219,221,238,119, 55, 55,183,125,223, 95, 92, 93,157, 95, 92,188,188,188,185, 94,223, 14,227,
- 40,166, 82,235, 80,106,100, 98,167,222, 33, 50,162,168, 17, 25,161,138, 10, 57,196, 65, 13, 16,196, 27, 47,  6,  7,199,185,137,
- 11,196,167,131,210,200,231,  2,  7, 97, 41, 32, 86, 81, 35,216,245,  3, 35, 66, 12,168,130, 94, 68,136, 77, 20, 28,175,225,192,
- 16,216, 13, 11,  4,102, 98, 74, 58, 61,241,  1,212,192,204,170, 86,123, 61,112,115, 71,142, 79,231,241,181,146,243,144,214, 38,
-239, 26, 79,171,135,135,101,115,111,113,160, 79,250, 15, 43, 57, 83,168,207,197,182, 94, 13, 42,168, 39,158,189,123, 48,197,165,
- 16, 25,253,251,105,116, 88,119, 84,223, 66, 64,242, 49, 53,161, 63,180,176, 77,105,250,165,167,203, 40,153, 26,210, 65,215,137,
-232,203, 76,126, 75,179,195,125,  6,192,165, 17, 14, 83,215,201,149, 34, 25, 57,  0, 96, 19, 40,197,160,106,210, 84,  4,168,213,
-212,164,152, 20, 49, 43, 40,158,245, 80, 52,211,148, 26, 34, 66, 85,110,102,192,164, 42,140,236, 26, 91,153, 54, 71,145,136,137,
-128, 66, 40, 90,104,172,128,172,181,162,169, 15,234, 25,217,204, 68, 53,120,109,124, 80,160,122,168, 82,209, 96, 28,247,138, 16,
- 98, 98, 12,192,234,207,241, 73,154,  1,  7,162,129, 41, 26, 34,177,119, 27, 38,199,152,185,203,132,166,115,158,144,  1,100,154,
-218,226,100,  3,156,108,123, 56,125,198,216,208, 87, 38,124,250,141,138, 46,  8,  6,243,119, 85, 77,161, 40, 78, 15, 34, 64, 53,
- 32,131,144,222,126,231,209,172,249,201,205,126,247,111,253,189,127,243,111,254,238,111, 93,223,174,219,229,201,247,150, 39, 99,
-206, 46, 64, 83, 21, 49,  9,196, 96,152, 85,139, 24, 88,163,162,187,237,171,187,219,203, 60, 12,181,230, 54, 54,155,237,238,110,
-125,179,185, 91,143, 99,217,236,182, 23, 55, 55,187,113, 24,134,252,155, 63,252,254, 59, 15,239,109,250,225,235,103,207, 95, 92,
- 94,170,170, 41, 68,102, 38,106,155, 70, 65, 83,136, 77,140,181, 20,136,147,246, 88,164, 74,150,  2,178, 27,122,149, 58,150,234,
- 76,184, 38,182, 77,211,212, 90, 74,201, 49,133, 20, 98, 32,206, 85,214,187,253, 48, 12,128,126,231, 49, 16,237,181, 82,128,126,
- 28,107, 22, 66, 42,160,168,150, 18,165,192, 33,132,148, 18,170,133,166, 51, 21, 77, 96,125,191, 29,199, 82, 10,136,229, 92, 55,
-251,190, 22, 49,131, 16,194,138, 98,106,177,239,183,137,136,153, 82, 74,132, 40,181,132, 54,205,218, 57, 32,170,202,118,191, 13,
-145,135,221,110,148, 74, 24,198, 33,171, 72,215, 53, 99, 29,115,214, 54,197, 89,155,174,238,  6,145, 82, 85, 23, 41, 22,  6, 85,
-200, 94,177,  1, 86, 25,198,106,136,180,104, 23,164,162,170,128,254,205,135,195, 90,244,161,168,  3, 51, 65,142,129,137,204,196,
- 79, 86,  1,129,131,150, 17,255, 63,166,222,228,201,146, 43, 75,239, 59,211,189,238,254, 94, 68,228,136,  4,178,208, 72,160, 10,
-133,  2, 10,133,170,234,177,154,205,238,102, 75, 38,146, 34,165,141, 54,250, 87,100,166, 21, 55,210, 74, 75,153,100,148,204,180,
-144, 22,148, 22,220,203,180,144, 68,177, 57,136,109,106, 90, 79, 53,  0,141, 49,231,200,136,200,136,120, 17,239, 61,119,191,247,
-156,163,197,185, 30, 40, 24, 12, 11,100,100, 90, 70, 60,247,123,207,240,125,191,143,192,201,168,137,173, 29,220,231,105,174,232,
-146, 51,128, 87,117, 97,222,238, 71, 51,115,155,254,242,201, 55,111,222,125,240, 63,255,243,127,158,200, 62,249,224,253, 63,255,
-155, 95,117, 41, 37,198,199,175, 94, 61,125,121,140, 68,111,222,191,115,118,121,113,126,181, 59,223,108,166,121,158,107,217,205,
-179, 16,175,114, 74, 89,192,148, 72, 98,148, 69, 68,132, 22,233,151,220, 68,191,212,183,144,140,152, 46,185,153,  9, 68, 48, 54,
-127,164,218,126,  0,  0, 32,  0, 73, 68, 65, 84,104,200,254, 16, 38, 51, 44,133,136,204,  9,220, 78,207, 55,167,231,175, 69, 82,
- 34,236,115,151,251, 62,  9, 15, 41,231, 62,175,251,190,239,186, 33,119,195,106,232, 82,215,101,  1,132,156, 83, 78,105,213,117,
- 93,238, 83, 78,125,238, 68,114,215,103,233,114,226, 14, 68,250,131,131,225,240,214, 29,128, 50, 79,101,154, 34, 98,177,150,178,
-223,237,171,233,118,187,221,238,118, 47, 94,157, 60, 63,126,254,234,228,244,229,217,235,205,213,245, 84, 74,169, 85, 17,170, 59,
- 34,177, 80,226,206, 92, 17, 32, 49, 59,  2, 97,  0,129, 48, 10, 52, 71,211,166, 91, 39,107, 34, 93, 50,168,177,225,173,174,213,
- 42,129,171, 59, 24, 42, 32, 49, 87,176, 82,106,183, 94,185,151, 22,228, 19,193,216, 11, 84, 53, 80,105, 46,208,178, 49, 29,  8,
-145, 16, 84,219,218,  5, 93,145, 40, 94, 98,173, 21,146, 52,183,161, 81,156,231,222,246, 54,104,  8,160, 14,130, 75,163, 16,190,
- 11,144, 69,211,225,  0,  2,208,166,234, 30, 33, 24,128,224,218,250,138, 88,  7,196,182,207,221,169,154,133,202, 40,164,249, 14,
- 28,131,108,110,147,105, 20, 68,  6,174, 45,235, 77,209, 20, 68, 22,163, 71, 88,144, 26, 13, 55, 80, 89,176,252, 23, 91,125, 27,
-161,111, 96, 22,231,123,196, 62, 65,117,  5,  3, 35, 50, 83,  4, 96, 32,141,234,219,157, 24, 73,200, 99,125,138,136,  0,101,198,
-113,222,199, 29,171, 87,215,132,158, 83, 39, 34, 76,243,208,119, 57, 15,224,125,245, 26, 20,150, 54,140,211,234, 54,155, 53, 86,
-164,154,154,107,151, 68, 82,150,134, 62,140, 40,120,136, 80,104,  2, 80,104, 42, 87, 34, 34, 45, 21,127, 45,225, 34,246, 62, 45,
-178,176,197,163,198,245,127,131,160, 97, 12,123,196, 18,140,221,248,234,237,113,112, 12, 51, 95,236,199,205,219,154,179,209,127,
-169,  9,103,189,137, 54,227,154,176,224, 32, 56, 48,130,130,129,131,170,126,239,251, 31,189,255,232, 47,206,175,174,254,252, 47,
-254,242,247,126,243,147,135, 15,238,107,144,  3,157,193,201, 45,196,178,190, 29, 75,169, 62,215,121,127,189,223, 94, 95,108, 47,
-207,129, 60,247, 67,166,238,250,250,252,228,234,197,102,179, 57,187,216, 92,239,198,205,126,111,238, 12,246, 27,247,238,173, 87,
-  7,168,246,255,253,205,175,230, 82,166, 90,250,190, 59, 90,175, 81,141,146, 76,115,233,251, 62,160,201,165,148,170,202,  0,165,
- 76, 83,213,237,126, 55,149, 74,136,224, 80,138,185, 27,177,116, 41, 51,147, 91, 69,244,245, 48,152,131, 22,221, 76,187,105,158,
- 40, 48,159,104,213,124,156,138,187,151, 50,155,249,106,232,136,220,221, 87,146, 73, 66, 89, 33, 34,  4,224,187,121,174,181,152,
-195, 84,202,126, 63, 22,179,243,203,125, 47,121,181,202,215,251, 73,152,  0,201,106,153,167,221,193,225,209, 52,143,213,189, 58,
-148, 90, 19,167,209, 77,231,210,119,121, 42,124,235,240,246, 56,141, 69,173, 78, 51,  2, 36, 78, 38, 58, 47,241, 89,230,243,118,
- 95,  9,161,216,156,114, 63,237,118,213,157,137, 51, 51, 85,221,169, 18,120, 45,109, 92, 86,185,152, 71,195, 36, 14, 46, 66, 72,
-174,165, 21, 96, 81, 20, 75,162, 46,101, 55,175, 78,137,221, 92,201,227,212, 16, 10,207,106,173,106,176, 36,236, 26, 17, 24,242,
- 28, 87, 53, 25, 40,108,107,249,252,155, 47,127,247,147,159,220,221, 77, 47, 78, 95,253,187,159,255,229,135,239,189, 43, 44,235,
-126, 24,250,225,151, 95,126,115,118,185,233, 58, 41,251,114,126,113, 61,149, 82, 74, 81, 51,  4, 76,196,  8,  4, 72,130,220,165,
- 52,206,234, 14,140, 76, 34,132,128,192,166,213, 29, 52,150,144, 64, 90, 29, 51, 58, 97, 76,120,205, 93,137, 96, 54,103,100,193,
-162,160,110, 45, 39,129, 80,205,136, 96,154,167,205,246,122,158,231,169,234,186,235,238,221,185,219,103, 49,119, 38,200, 93,238,
-114,223,119,169, 75,121,181, 26,214,125, 78,185,235,115, 78, 44,253,208, 13, 93,223, 17,165,156, 72,120, 72,137, 24,153,164,203,
-221,106,189,202,125,223,247,125,204,115, 68, 56,165, 78, 97,181, 62, 58, 68, 71,115, 53,181,143,127,232,243,180, 87,211,237,213,
-110,115,117,117,189,187,186,216, 92,157,158,111, 78,206, 78, 47,175, 55,187,237,190,104, 25,167, 66,233,234,122,187,171,101,  6,
- 18, 96, 36,201,  8,144, 18, 67,117, 87,  7,196,204,162,110, 70, 97, 75,105,154, 66,104,193,  8,132,110,171,190,175,102,141,101,
-  2,192,205,158, 98,  6, 75, 27,191,168,171,133,196,213, 84,227,165, 70, 53, 16,136, 50,182, 80, 51, 48, 18, 69,208, 34,  2, 16,
-  9,199,200,  5,  0, 12,127, 61, 78,231,102, 30, 31, 69,222, 77, 34,115, 51, 81,218,183,206,169,246, 79, 59, 81,  0,144,131,107,
-  2, 74,203, 95,207,  1,144,141,154,247,161,141, 16,  4,129,144,237,198, 95,230,145, 64, 17, 99,101, 52,171, 49,173, 90,124,  5,
-184,240, 80, 22,157,246,242, 95,132, 95, 27, 76,123,  4, 52,147,186, 57,134, 70, 74,172,204, 76, 24, 55,209, 98,246,141, 11,  5,
- 33,  8, 95,  6,  8,173,246, 37,162, 62,177, 69,226,220,  0,213, 76,171,206,102,101,156,232, 26, 25,185,239,187,156,  6,247,210,
- 15,189, 71,114, 33,160,161, 51, 83,124,215,237, 90,131,228, 54, 10, 32,  0, 90,219,106,104, 88, 14, 21,  0, 82,234,  0,129,137,
- 22,253, 98, 67, 18,184,  1,210, 34,130,108,202,241,166,182,113,215,144, 83,182,212,246, 80, 97, 16,220,124, 45, 52, 35,176,131,
-183,213,  5, 32,120,132, 48,154,183,150,203, 26,186,166, 54,169, 76,  5, 39, 68,148,166,140,132,198,181, 49,208, 82,215,183,239,
-255,228, 71, 31, 62,125,245,250,179,191,253,244,191,249,111,255,233, 31,254,236,183,223,125,231,237,119, 31, 61, 90, 31, 12,117,
- 46,213,113,158,109,119,181,221,110,175, 46, 94, 31,107,157,  9, 41, 13,131,187,237,174,199,103, 79, 95,108, 54,151,211, 92,205,
-180,212,249,122,172,199,167,231,175, 55,175, 75,133,223,250,248,251,204,252,226,244,149,187,119,146,115, 74, 67,223, 73, 98, 87,
-115,  4, 68, 31,134, 46,145, 76,101, 95, 38,155,234, 92,107,157,180,106, 41,145, 44, 44,200,115,173,238, 22, 90,198,148, 36, 49,
- 87,  4,161, 84,173,238,119,251,237,110,111, 90,195,228, 51, 77,234,164,153, 72,193,221, 93, 85, 29, 17,192,166,185,  6,112,115,
-246,146, 85, 82,230,113,218,215, 42,136, 84,106, 13,207,250,241,201,235,235,237,148, 83,222,142, 99, 62,148,144,187, 54,145, 42,
-248,245,118,123,116,120,120,184, 94,237,246,211,209,129,153, 26, 11,130,185,147, 39,228, 33,103,181,218,231,161,238,182,251,113,
-138, 48,248,177, 86, 34,116, 80, 15, 74,  4,243,126,158, 19,114, 39,121, 15,123,115, 23,137, 72, 73, 22,115, 71,  3,100,  0, 71,
-  2,181, 90,220, 28, 32, 71,151,167, 68, 78,156,144, 16, 17,104,154, 75,117,200, 44,  0, 80,172,148, 82, 99,220,198, 76,128,216,
-161, 64,196, 60, 18,155,107,148,252,193,115, 37, 36,213, 90,107,201, 41, 27,249,126,156,190,248,234,201,203, 87,167,219,253,  4,
-102,230,254,171,175, 30,223,191,125,171,152,255,237,227,199,227, 56,137, 72,172,131,198,105,102, 38, 38,170, 53,188,126,102,110,
-  2,236,230,115,173,  4,160,142,166,245,160,235, 23, 43,174, 19, 35, 20, 23,  0,  5,216,105, 89, 85,129,182,149, 91,  8, 23,177,
- 84,139,229,131,186,187, 51, 33, 17, 67, 68,187,  0, 48,177,176,212, 64, 98,187,169,251, 56,238,189, 88,215, 77, 35,237, 47,208,
-138,129,  1,100, 73,195,208,245, 57,229,156,135,161,207, 41,173,251, 44,146,186,110, 24,152,115, 18, 96, 72, 40, 34, 32,146,251,
-156,187,148,134,213,106, 24,250, 46,231,148,251, 97, 53,244,253, 64,146,220, 13,145,186,213,129,214,185,239,215,111,188,249, 80,
-132,145, 12,129,208,169, 90,157,203,140,  0,169, 27,246,219,237,147, 23, 79,126,245,249,151,127,253,243, 95, 62,121,254,236,242,
-234,202, 61,244, 43,136,  8,137,153, 18,121,141, 96,131,155, 96, 50,112,160,162,145, 94,205,196,132,106, 75, 22,  4,128, 91, 99,
-125, 99,152,135, 12,152,140, 66,203, 67,106,132,102,  4,192,132, 20,101, 25, 33, 32,171,213,208,184,187,129, 53,144,  3,178, 83,
-187,211,  9,168,233,112,113, 97, 65,  1,242,194, 75, 89,150, 59,196, 88,212, 36,126,251,114, 44,135,185,107, 73,230,137,  4,160,
-182,217, 69,192,128,159, 80, 60,140,  0,205,124,199, 33,216, 64, 52,  6, 32, 98,138,243, 23,180, 13,232,169, 21,229,234, 78,  4,
-173,172, 13,225, 56, 51, 53, 44,  4,  1,212,240,237, 59,146,131,125,123,200,251, 50,  0,115, 87,162, 22,115,100,176,232,  9,208,
-163,147, 80,112,  4,108, 43,180, 38,219, 86, 55, 66,  3, 11,179,146, 16,101, 79,128, 29,118,224, 80,205,118,243, 56,150, 73,221,
-253,106,139,104, 93,146,190, 27,170, 26,186,167, 68,194,153, 72,156,132,216,187,220,201, 50,180,106,183, 36, 24, 54,212, 10,179,
- 47, 22, 82,162,229, 39,223,200,235, 97,162, 96,168, 22,243,211,118, 29, 53, 13, 98,  0, 14,110,166,111, 97,192,117,247, 26,169,
-153,232,248,107, 67,123, 68,140, 68, 93, 96,140,  9, 69,148,123,113, 91, 48,198, 84,108, 33,130,197,157, 23,105, 26,224, 88,  1,
- 63,250,248,195,255,227,255,254,215,128,248,217,151,159,159,188, 58,249,224,189,119,254,206,239,253,236,251, 31,252,160, 22,189,
-188, 60, 63,125,245, 98, 30,183,135,135, 71, 40,208,247,171,147,151, 47, 79, 63,255,114,187,219, 95,239,119,211, 52,147,208,189,
-163, 91,187,113,252,213, 87, 95,159, 95,111,175,183,227, 88,230,219,135,107, 43, 58, 82, 93,245,131, 59,136,144, 48, 17, 49,154,
- 86, 55,  0, 34,164, 82,202,102,188,218,239, 71,119,136,158, 11,  8, 19,231,226,166,117,158,107, 65,132, 97,232,187,148,208, 41,
- 39,  6, 71,171,229,106,119,189,159,198,121,156, 83,206,136, 20, 91, 92,117,173,181,170,137,147, 23,179, 56,211,157, 41,114, 26,
-  1,168, 79,210,117,169,212,146, 37, 57,200,103,143,159,100, 74,138,176,189, 30, 83, 48, 50,213, 76,107,223,165,170,134,190,240,
- 50,  1, 75, 45,151,155,205,237, 59,119,182,219,113, 55,238,115,215, 59,130,106, 33,166,169, 22, 22, 73,194,134, 86,180,198, 20,
-181, 84,117,115, 68, 81,131, 82, 85,132,133,152,153, 70, 40,241,227,142,135, 33, 11,141,179, 13, 34,163, 22,  5, 19, 32, 64,112,
-  2, 50, 92,180, 84,160,110,  8,  4,234,  6,241,173, 88,173,213,152, 10,145, 86,109,108,103,116, 84, 80,116,  6,116,247, 10,222,
- 75,190,179, 62,236,114,183, 94,245, 69,171, 19,141,187, 73,189, 74,238, 90, 35,120,168,227, 56, 79,115, 57, 90,103,102,100, 98,
-114,152,231, 73,205,201,177, 27,122,173,  5,213,220, 21,208, 59,145,105, 46,213, 20, 29,138, 25,  2,133, 11, 49,179,236,166,153,
-185,246, 41,133,155,217, 90,245,233,193,215,107, 52, 95,106,228, 59, 48,103, 18,  8,225,  7,162,  1,144,144,155, 41, 56, 85, 55,
- 52,  2, 53,171,174,218, 34,222, 13,209,117,210,194, 46,  4,168,132,106,142,228, 65,125, 40, 85,103, 24,231,121,190,112,221,238,
- 39, 36,100,230, 62,167,190,235, 87, 67,215,229,212,229, 28, 35,155,156,164, 11, 74, 79,151, 51,113,151,101, 24,134, 46,119, 89,
-184, 75,121, 88,175,114,215,175,134, 97,181, 62, 76, 73,186,156, 73,160, 91,175, 57, 15,145,120,156,220,123,176, 97,117,216,175,
-214,170,245,209,247, 63,250,217,239, 79,187,203,215, 79,158,124,243,249, 23,127,251,217,151, 95,125,253,244,233,241,217,249,197,
-245,118, 86,239, 34,149,135, 81,  8, 33, 49, 87, 82, 55,161, 64, 38,  4,222,210,204,141,145,163,173,119, 34, 87,183,104,244,137,
- 91,132, 25,114,172,206,132, 83,169,161,101, 64, 34, 65, 98,243, 54,110,  1,192,101,  9, 27, 55, 34,148,150,140,214, 42,101, 15,
- 63, 38, 80, 44,233,154,187,106, 17,  6, 17,128, 90, 76, 66,  8,177, 45, 57,173,169,244,112, 17, 95, 35,199,138,216, 33,192,230,
-145,215,215,118, 70,141, 75,  8,232,196,136, 68,168,174,161,193,181,216, 38, 36,  6,152, 45, 66,181, 91, 43, 25,170,109,188,  1,
-164, 44, 29,  6,184,234,  2,123,246,  6,165, 93,138, 89,  2, 86, 85,243,106,145,112, 68, 28, 50, 69,247,216,139,  7,139,194, 64,
-154,151,196,129,219,212, 19,220,205,128,163,113,114,159, 43,176,196, 11,232,  0, 68,148,  0,145,128,  1,148,157, 80, 12,240,106,
-220,155,170,155,233,149,  1,104,151,115,150,126,213,119,251,253, 94,218, 90, 58,124,101,109,221, 12,174, 21,111,150, 13, 20, 97,
- 31,161, 44,178,136, 77, 71, 66,175,182,200,219,117,177,  9,133,206,141,220,181,157,247, 68, 96, 96, 94,225,219, 44,168,112,164,
- 33,  0,129,153, 55, 45, 87,204,176, 24,201,220, 52,214, 41, 20,238,133, 40, 23,220,127,109,155,235,224, 26,119, 70, 45,229,254,
- 91,239,254,230, 15, 30,157, 92,141,191,255,163,143,126,240,254,247,238,223,191,143, 36, 95,127,241,171,211,147, 83,240,122,184,
- 62,236,115,119,113,113,121,189,217,156,156,191,222,237,167,125,153,146,200,170,235,190,243,224,222, 60,207,167,103,103,159, 63,
-123,250,234,252,138,192,133,232,135,223,125,247, 96, 61,220,187,125, 72,  8, 85, 43,146, 88, 45, 85, 43,170, 33,186, 35,129,217,
-230,250,122,183,189,174,  6, 57,  0, 50,136,213, 20,204,175,166,107, 38, 18,225,219,221,161,177,103,150,248,166,247,101,190,190,
-222,109,167, 49, 17,179,112, 56,102,135,126,165,251,237, 56,205,  6, 46,196,192,100, 90,  9, 64, 77,  3,113, 42, 68,140,196, 12,
-213,230,231,207, 94, 49,117,255,228,191,252, 39, 95, 61,121,246,171,127,250,223,207,243,252,250,242, 82,132,215,183, 14,246,179,
- 13,125, 58,191,170,166, 86, 52,152, 29,109, 73,133,136, 87,215,215,171, 97,117,116,176,186,220, 92, 31,172, 15, 74, 17, 22,164,
-153, 10, 75, 38,236,251,213,225,176, 58, 63, 59,207, 34, 14,190, 26,242,213,126,207, 89, 57,  9, 16,220,191,117,251,244, 98, 51,
-116, 66, 44, 70, 20, 27,113, 74, 92,171, 58,225,144, 18, 78,188, 31, 39, 71, 71, 39,111,175, 80, 51,184, 41,128, 24, 26, 24, 18,
- 81,160, 42,152,219, 20,212, 91, 63, 76,128,  8, 40,  8, 73,210, 84,139,213, 90,124,  6,234, 19,107,217,111,163, 33,239, 51,164,
- 52, 16, 16,137, 60,184,123,239,106,191,125,189,185,250,250,249,177, 24,118,210, 79,101, 20,102,106,175,186,163,185, 85, 83, 34,
-116, 72,200,213, 76,205,192,213,177, 97, 18,  8, 25,217, 12,116, 50,205, 22,127, 21,  5, 98,171,138,136,203, 57,  0, 44, 20,173,
-190,197,159, 10,110,132, 14,144,152, 23,225,167,185, 19, 25,184, 43,  3,251, 77,131,218,214,128, 14, 68,104,228,161,161,142, 52,
-155,104, 33,212,112,137,182, 49, 11,183,141,143,101,  7,110, 89,228, 96,189,202,196,142,222,117, 29, 33,231, 36,196,148,133,115,
-206, 41,165,204,148, 82, 26,186,174,207, 34, 57,245,169, 99,132, 68, 57, 15,114,116,120,112,251,240,246,193,193,193,122,189, 62,
-188,125,255,232,206,157,225,240,136,136,  9, 28, 69,144,  0,220, 25, 81, 65,214,183,239,125,120,251,238,135, 63,252,201, 63, 28,
-183,175, 95,159, 28,159,188,250,250,155,111,158, 60, 63, 62, 61,191,120,117,118,122,121,189,119,132,121,182,169, 20, 97,  1,194,
-156,123,119, 23, 38,164, 20, 51, 91, 92,104, 37, 45, 51, 16,177,173,206,144, 98, 79, 14,170, 72,158, 57,133,209,205, 76,213,156,
- 88,124,185, 71,  9, 80, 81, 17,161,170,118, 76,229,166,114,132,155,204,180, 38,243,105, 46, 24,144,246,203, 17, 87, 20,127,144,
- 56, 17, 35,160,161,241,  2, 59,107, 34,108,  4, 36, 86,117,108,190,249,229,224,109, 53, 66,192,194, 12,200,220,145,136,200,157,
-136,213, 20, 35,198,129, 66, 56,  0, 75, 62, 51,194, 82,177, 66, 76, 26, 33, 14,254,133,189,212,154, 77, 82,117, 83, 67,161,160,
-249, 91, 84,252, 30,182,  9,115,211, 24,204,195,194,112, 12,218,157,149, 95,243,185, 97, 24, 76,  5,208, 48,216,173, 37,242,173,
- 85, 35,186, 58,150,188,216,134,103,180,148,219,132, 68,137,  1, 73,188,153,  9,182,101,183,215,233,122,183, 21,244,101, 76, 14,
- 75,252, 70,  0,228,201,209, 17, 12,144,  1,151,134,169,153,230,220, 98,242,142,238, 22,123,232, 72,218,141,185, 64,155, 97, 44,
-198, 49, 95,246,183, 55,124,207, 88,130,132,228,104, 73,224,  0,140,189,136, 47,152,119, 35, 22,104,161, 33, 13,152,215,158,  1,
-  4,  4,  6,  7, 98,116,173,199, 39,215, 63,252,233,111, 15,119, 31,174,250, 92,139,190, 58,121, 89, 38, 69,132,163,195,161,148,
-233,233,139, 23,187,235,253, 56, 77, 87,227,246,242,250,250,104,189,126,248,198,131, 59,135,  7,251,253,254,197,233,201,203,211,
-243,147,215, 23, 93,206,127,247,167,159,220, 59, 56, 82,240,195,163,213,126,156,213,180,204, 90, 74, 65, 82, 85,141,184,  2,117,
-173, 85,205,157,  8,187,220,101, 36, 15, 39,155,233, 60,207, 76,120,180, 94, 11,179,169,137, 36, 98,208,170, 83, 45,211, 56, 93,
-239,247,132, 88,171, 42, 56, 91, 37,130,185,204,211, 52,  3, 26,144,247, 34,232, 56,107, 85,208,134,137,212,226,140, 64, 84,117,
-222, 92,143,199, 39,151, 87,219,253,126,156,255,167,127,246,191,156,156,158, 61, 63,126,241,254,219, 15,227,227,119,112, 39, 74,
- 57, 25, 68,150, 39,181,101, 82,232,206, 12,129,252,229,233,233,111, 60,124,147,136, 47, 47,175,242,189,148, 83,239,104,102,138,
-169, 99,128,219, 71,183,159,203,241,245,126,191,234, 58,145,212, 49,  5,247, 53, 46,250,142,217, 28,132,128,209,185, 97, 84, 85,
- 29,200, 93,132,  7, 64,187, 70,110,205, 46,248,194, 41,137, 94,186,120,101,194,  0,153,  0,  3,170,169, 59, 47,143,113, 20,250,
-204, 84, 76,115,146,162, 10, 72, 67,215,177, 81,173, 58,214,232,153,221, 28,246, 69,117,154,137, 57, 37, 62, 61,219,140, 58,143,
-227,254,225,189,219, 66,180,159, 13,152,195,  0,172,209,248, 25,104,244,194,140,170,234,139,121,123, 73,  6,  3, 70,182,162, 90,
- 53,158,200,198,127,105, 51,220, 70,196,  6,196,176,147,154,153,186,  3,130, 32,128,129,  9,153, 91,117,133,152,131, 53,220,  0,
-182,199, 31, 17,129,220, 26, 90,203,188, 90, 83,112,128, 69,166,129,187, 66,251,209, 54,130,  9,185,215,152,119, 48, 16,185,186,
-147,215,170,100,147,187, 79,137,173,154,  1,133,140, 72,  8,114,151,221, 60,167,212,117, 57, 19,163, 96,206,194,200, 41,167,195,
-174,123,231,237,183, 15,135,213,106,245,108,189,238,239,220,186,211, 13,107, 36,202, 34,135,119,110, 57, 80,151,123,  3, 12,232,
- 30, 16,211, 48,188,241,240,221,187,111, 62,252,232,163, 31,150,185, 78,243,126,183,219, 95,188, 62,127,252,252,233,167, 95,124,
-241,197, 55,223, 60,123,117,122,252,250,226,122,183, 19,102,160,148, 26,176, 16,152,154,191,136,136, 69, 88, 43,168, 41,132, 50,
- 31,193,204,139, 27, 58,144, 16,133, 87, 42,138, 62, 91,236,176,161,172, 65, 49, 51,130,160, 11, 44,217,198,208,170,228,152,146,
-235,175,165,218,  7,197,123,249,  3,194, 66, 36, 30,194, 73, 71, 53, 88,142,241,184,197,137,192, 25,160, 66, 59, 56, 98,216,203,
-240,173,186, 15,193,209,226,172,  3, 70,202, 33,226, 36, 22,166, 90, 45, 94,115,116, 52, 11,247,246,141, 35,251,219,168, 59,140,
- 69,180, 47, 81, 78, 26,195,105,240, 82,145, 25, 17,136,200,156,209,212, 92,137, 56,198, 45,237,225,143,105, 53, 81,153,103,180,
- 16, 53,199, 62,  3,137, 28,153, 24,216,209, 66,197, 98,109, 33,172,104,228, 64, 81,131,136, 51, 88,109, 30,134,200, 23,138,114,
- 36,224, 80,142,136,216, 37, 46, 53, 11,134,174, 31,221,111, 28, 76,136, 21,130, 91, 76,192, 11, 39,164, 93,175, 28,183,119,216,
- 64, 23, 28,204,205,185, 30, 50, 35, 13,208,102,171,181, 23,175,240,194, 25,110,158, 24, 64,189,249,118,  1, 91,234,222,242, 47,
- 32,242,183,146, 75,183,112,163, 33,144, 33,160,105,115, 83, 51,191,124,254,226,171,207, 63, 51, 83,113, 31,199,169,214,130,238,
-146,  8,220,119,187,237,230,242,122, 28,231,203,237,213,102,123,141,140,247, 14, 15,205,233,233,241,241,151, 79, 30, 79,115,185,
-216,110,215,185,251,248,253,247,238, 28, 30, 34,154,186, 58,227,197,197, 70,213, 92,157,146,  0, 82,128, 97,231, 90,204, 60,177,
-  8,161, 16,119, 93,214, 82,118, 58,153,170,171,179,240,122, 88,117, 93,103,165, 24, 57, 33,151, 58,142,251, 58,205, 99,228,245,
-  0, 54,117,  1, 17,120,141,139, 29, 36,177, 57,205,117,222,205,  5, 52, 52,224,144,144, 89, 72, 59,158, 13,204,212,198,250,242,
-197,233,197,126,234,251,204,  5,254,175,127,241, 47,175,199, 93, 74, 93,164,159,131, 90,173, 22,225,181, 34,  2, 64, 85, 39,116,
-183, 82, 49, 11, 16,105,173, 36,124,181,223,191,190,236,110, 31,221,121,125,177, 89, 13, 59, 97, 97,166, 66, 69,152,114,234,186,
-110,120,248,224,193,215,143,159, 48,179,169, 18, 83,169,102,170,125,223,205,115, 37,193, 62,201,110,138, 97, 74, 19,163, 97,208,
- 69, 84,153, 19, 34,104, 40,207, 72,204,107,128,244, 26, 31,196, 76,114,210,170,145,170, 28,114,250, 69, 21,219, 26,222,128,  6,
- 19,139,227,184, 74,121,232,147,161,105,197,162,213,145,209,189, 79, 57,110,212,170,182,219,143,171, 85,198,153,  9,184, 79,137,
-144, 83,132,201,123,244,232,224,230, 70,102, 78,212,  4,121, 81, 40,121,172,242,111, 50,208,181,106, 56,122, 72,  4,  0, 66,165,
-218, 98,146,205,  4,145,137, 24,201,138, 45,128,105, 96, 68, 55, 37,103, 87,195, 86,228,199,105,109, 77, 70,141, 96,238, 73,  0,
- 57,182, 87, 65, 28,160,136, 43,  8,242, 54, 32,161, 87,119, 87,211,100,169, 77, 62, 23, 85,134, 55,168,113,204,113, 99,243,228,
- 72,  8,136, 93,146,170,170,128, 86,109, 59,142, 90,175,182,211,180, 26,186, 44, 41, 47, 96, 99, 78,242,234,242,242,232,224,160,
- 75,233,160, 31,134,161, 95,119, 29, 11,221,191,125,235,224,214,109, 34,236,146,  0, 98,151,250,156,187, 24,  3,113,202,204, 29,
- 37, 74,195, 32, 93,119,120,116,255,205,135,239,124,244,163, 31,255,131,127, 80,231,221,180,219,111,159, 62,123,250,245,227, 39,
- 95,126,253,245, 55, 47,142,175,182,219,215,181,186,187, 97,198,132, 26,200, 26, 34,206,168,147, 17,199,218, 18,169,197,211, 57,
-179,152, 85, 67,170,106, 66,196, 28,  2, 41, 93, 94,111, 16,162,212,102, 96,112, 83,190, 81,  4,145, 46,  9,246,  1,196, 37,118,
-112, 35, 34, 97,177, 80, 97, 57,123,140,188, 52,150,122,214, 97,131, 25, 68,245,233,196,228,132, 81,189,  3, 32,160,  4,186, 22,
-  1, 24,133, 89,139,  1, 57,146, 19,129, 26,131, 23,102, 49,  3, 16, 38,231, 68,216,231, 38,115, 55,143,181, 66, 99,116, 52, 46,
- 51, 58, 88,117,215, 32,162, 99, 91,192, 44,203,102,115, 83,  5, 52, 68,  2, 74,160,170,170, 81,164, 54,105, 80,252,  5,221,146,
-112,220, 32,182,120, 70, 90,202, 51, 56,218,162,200, 97, 49, 85,138, 28, 34,179, 24, 28,198, 93,225, 24, 33, 12,128,136,  5,148,
- 67,  0,187, 92, 31,193,247,149,245,221,195, 58,215,113,179, 71,196,192, 36,128, 27,183,240,140,232, 84,154,200, 13, 22,201,123,
-168,153,  2, 13,131,205,142,234, 45,124, 47,106,243, 26, 60,184,176, 73, 55,134,160,171,135,139, 49, 48, 95,120,131, 79, 10,210,
-100,171,191,194,  7,143,208,128,200, 55,116, 24,104,179, 26, 11,  4, 10, 32,226,126,115,125,252,252,169, 86, 69,172,106,213,205,
- 16,172,206, 94, 74, 45,102,251,121,188,218,237,199,105,116,176,213,208,151, 82,207, 55,155,171,253,184, 94, 13,101,174,143,143,
-143, 39,131, 63,250,228, 67, 64, 58,190, 60, 39,167,148, 19, 35,245, 57,185,233, 88,103,155,125, 42,197,219, 42,136,134,156,135,
-174, 43,106,106,117,183,221,207, 86, 72,128, 80,242, 32, 57,229, 68, 56,151,169,148, 50,141,213,138, 78, 58,107, 13, 14,  6,230,
-212,105,173,165,204,204,196,204,197,171,112,118, 47,227, 56, 79,117,174, 85, 17, 97,189, 90, 29, 12,195, 92,234,108,238,230,197,
-204, 84, 95,159,190,238,144,179,164, 78,212,213, 16, 80, 36,117, 41,  1, 81, 51,  3,  4,235,217,125,183, 31,133,168,150, 50,215,
-106,110, 40,204,200,194, 50, 53,113, 11, 60, 61, 62, 59, 90, 31, 14,171,238,252,114,219,167,180, 94,173, 85,235, 92, 40, 73,  7,
-238,247,238,222,125,247,209,219,199,167,175, 21,208,  1, 59, 78,  8,128,238,177, 91,131,182,238, 64, 66,  4, 97, 48, 51,183,196,
-100,230,142,150,153,139,185,129, 86,171,241,248,234, 66,139,117, 38,115, 18, 65, 53,171, 75, 15, 26,126, 63, 88,102,220, 40,136,
- 37, 18, 34,220,201, 16, 41, 17, 87,179,102, 72,161,  8, 99,194,166,215,174,154,186,110,154,119,234,174, 21, 10, 20,171,166,  4,
- 64,177,105,  4, 38, 18,135,  8,211,136, 84,171,230, 20,  5,196, 82,227,204, 39,166, 46, 49, 23,186,145, 68, 56, 56, 11,235,108,
- 11,213, 46,102,235,224,  8, 66, 56,  2, 16,  2, 35, 26, 18, 50,105,  8,100,137,106,113,117, 75,128,205, 42, 25, 96, 62,184,129,
-158,106,116, 49, 22, 11, 60, 71,141,155, 61,218,114,103, 39,  4, 96, 36, 54, 87,  0,243, 86,176,162,186, 81, 72,246, 16,208,189,
- 20,165,174, 11,195, 78, 41,181,207, 93, 20,122,227,126,175,106, 57,149,174,116,137, 60,172,173,175, 95, 95, 15, 67, 98,230,131,
-213,208,231,110, 53,116, 73,228,214,225,193,157,195,195, 62,165,174, 19, 71,114,247,149,164,220, 15, 93, 39,125,215, 69,130,121,
- 30,134,190,235,115, 55,164, 97, 69, 64, 34, 57,247,235,225,240,214,155,111,191,247,251,191,231,227,188,127,125,118,114,113,254,
-250,155,103, 47, 94,188,124,249,242,228,244,248,236,236,106,179,121,125,225,165,236,212, 98,240,228,140, 40, 44,169,203,228,100,
-160,204,226,213,129, 49,165, 16, 46, 97, 76, 61,200, 73,162,130, 69,208,160, 98, 85, 15,201,184, 35, 56,163, 16, 33,222,156,148,
-216,  6,141,156,152, 82,204,236,147,128, 99,228,140,138, 27,128,  5,214,165,141,224,218, 49,100,  4, 80, 45, 66, 16,113, 65,235,
-183, 84, 33, 14,212,  1, 34,147, 83, 36,168, 24,180, 48,160, 37,  0, 26,137, 57,154,146,248, 36,189, 17,211,252, 91, 94,222, 50,
-123,  8, 15,135, 55,232, 70, 20,168,182,172,135, 45,194, 34,220,108,201,188,  1,143, 28, 35,  8, 26,200, 50,109,111, 14, 76,  7,
-  7,157,205,204, 49, 81,168,113,163, 53, 69,  4,183, 74, 30,191,247,  6, 90,110, 14, 24,254,  5,154, 43, 32, 88,153, 17,193,140,
- 41,  5, 79,193,101,119,177, 13,  3, 28, 34,130,105, 36,149,196,109,131, 16,131,255, 54, 92,251, 53, 86, 79,188,199,205,  1, 17,
- 39,178,171,  7,149,  0,  0,129,  3, 29,137, 13, 44, 19, 63,  8,162,120,226, 33, 92,104,128,  8, 12,168,109,207,  0,238, 90,221,
- 20, 89,190,253,180,252,  6, 93, 11,241,116,226,146,124, 51,237,230,147,147, 19, 32,201, 93,  6, 69,238,169,168,215,185, 34, 22,
- 36, 52,199,162,142, 68,204,220,231,110,154,103, 96,239,251,225,244,226,242,114,187,219,108,182, 36,240,198,209,173,205,245,150,
- 88, 68,196,217,124,154,170,218,118,  2, 68,210,218,  2,121,145, 96, 37, 29, 18, 26,216,245,254, 26,129,170,169,169,118, 41, 35,
-115,151, 59, 70, 24,231,233,114,156,212, 52,162, 15,192,192,153,147,120, 85, 37,146, 70,183,117,212, 89, 41, 67, 45,122,113,253,
-122,158, 11,  3,222, 58, 60,122,247,189,223,184,119,251,118, 41,245,108,115,241,234,252,188,130,206,181, 92,156, 95,222, 58, 88,
-181,213, 94,236,117,150,129,134,154, 11, 57, 49,186, 85,226, 76, 14,102,170, 85, 99,194,166,102,213,171, 56, 71,162, 18,137, 36,
- 78,140,229,114,123,253,252,228,248,157,183,223,190, 44,219,221, 60, 83, 78,107,238,180,206,227,180,207, 57, 37,150,239,191,247,
-221,237,126,188,184,188,156,230,145,192,110,193, 42,167,116, 53,142,153, 57,196,146, 55,246,110,119,247,170, 55,220, 40, 68,200,
-132, 45,100,162, 69,240, 53, 98,  9,  5,179, 36,202,177,168, 99,131,161,136,141,221,204, 44,130,236,168, 85,205,193, 16, 82, 34,
- 32,161, 14, 89,204,133, 41,115, 82, 87, 68, 87,243,106,218,101,145, 44, 10, 78, 68,196, 80, 74,132,211, 57,120,  9,197,158, 33,
- 16,177, 87,195, 20,155, 93, 32,  2,245,216,232,135, 20, 27,192,193,153, 19, 75,164,136, 48, 74, 76,127,171, 27, 19,153,155,131,
- 23,179,158,217,188, 70,208,139, 24,168, 42, 19,183, 27,193, 20, 56,155, 87,211, 10, 36, 49,209,173,170,109,236,184,240,175,137,
-176,128,130,131,106,149, 76,139,100,141, 28,136, 17,  5,161, 88,179, 33,162,121, 27,129,162, 87,135, 68,225,243, 35, 68,119,  6,
-  5, 83,111, 95, 90,213, 74,100,153, 45, 19, 75,  6,140, 19, 86,171,169,151, 90, 38, 53,187,190,222,170, 25, 19,231, 36,125,223,
-173,215,253,209,106,213,117, 89, 56,  9, 17, 51,136,228,117,215,229,156, 86, 17, 47,147,250,190,203,253,144, 15,214,  7,125,223,
- 15,253,106,181, 94,165,174, 79,221,192,210,  3,226,157,123,111,220,127,240,157,247, 63,252,100, 26,199,113,119,181,185,188,184,
-186,218, 28,159,156,158,156,158, 60, 59, 62,254,230,249,139, 39, 47, 79, 46,174, 54,165,214,237,110,159, 57, 49,147, 66,101, 14,
- 57, 14,  7,124,  5,219,110, 15,189, 49, 46, 67,127, 78,138, 26,178,200, 24,149,196,145,178,144, 12,155, 24,  5,155,150, 37,188,
- 58,  9,200,201,129,156,140,221,205, 57,164, 60,208,  2,153, 17,145,208,204,129, 17,190, 69,151, 91,203, 42,114,176,144,244, 45,
- 27,203, 27, 90,106,219,236, 82, 98, 38,  2,243, 72,121, 38,150, 80,140,152, 41, 56, 90, 91,177, 70, 82,  4,224, 13,181, 35,  6,
- 19, 55, 82,251,208,132, 47,248, 28, 34,178, 16,129, 34,186,214,182,169,109, 31,162,182,185, 76,252, 62,111,134,  4,111,  2, 83,
- 95, 94,124, 69, 98,106,224,174,  5,248,  5, 16,185,122,181, 42,130,155, 46,162,166,136,214,  0,  7,112,209,106, 20,195, 37, 92,
-176, 48,180, 28, 39,222,210,164,  2, 17,140, 68,225,118,134,101, 85,218, 70, 43, 17,176,  4,213, 33, 88,130,140, 55,  7,120,211,
-201,196,120,201, 99,167, 26,147, 28,  6,212,134,255,245,  8,237,  8,141,119,131,145,184, 57, 96, 29,175, 92,146, 72,231, 55,  2,
-169,182,241, 37,160, 52,239,183, 73,100,125,239,222, 52,207, 90,107,153,166,157, 93,237, 71, 69, 65,159, 21,180,170,214, 32, 13,
- 37,102,  7, 66,171, 67,159,235,110,122,244,246,131, 62,115,151,251, 44, 60, 77,243, 56,151,106, 51,115, 78, 57,205,251,218,247,
-195,208,247, 90,138,185, 35, 19, 49,109,182,219, 37, 48, 69, 87,121,224, 46,166,124,224,174,251, 82, 29, 12,  9,202, 84,  0,176,
-239, 18, 75, 42,181,154, 25, 90,100,140,213,162, 69, 40,153,218,229,118,156,230,249,246,173,195,239,127,239,253, 55,111,221,149,
-148, 46,247,211,171,227,227,203,237,102,179,189, 42,197,166, 82,246, 87, 87,155,203,203,187,183, 15,135,174,171,181, 76,181,180,
-232,187,229,165, 96,226, 68,130,196,179,106,164,111,  2,  6,143, 73,220,247, 92, 17, 40, 98,179, 16, 42, 40,132,159, 13, 94,190,
- 58,189,119,235,206,186,239,174,174,119, 93,150, 34,210,177,204,117, 70,132, 36,169, 75,221,131,123,247,254,147,127,248,159,253,
-241,223,251,251,255,213,127,253, 95,188, 62, 63,145,212,215, 90,135,156,106, 64,161,193,213, 13, 44,208, 84, 64, 12,138,206,232,
-213, 61, 17,177, 51,  1, 86,116,138,222,144, 22, 51,155, 80,228,205, 57,186,106,136,102, 49, 20,238, 65, 46, 55, 51, 32, 69,  4,
- 13, 34,141,147,106, 93, 13,171,237,126,118,130, 33,165, 89,177,130, 18, 97, 66,226,196, 89,114, 45,102,106,166, 33,211,141,238,
- 49,170, 61,114,112,171, 26,240,103, 97,174,181,170,129,214,146,115, 71,109,127,132,224, 80,212, 56,156,136,  6,206, 65, 89,112,
-  6,172, 53,198,179, 70,200, 93,162,185, 54,227,191, 11, 23,111, 29,166,  5,147,133, 16,212,133, 25,162,111,136,  0,  5, 98,104,
-142,141,118,159, 81, 37,245,133,115, 27,228,164,208, 23, 51, 54,215,163,153, 35, 84, 64, 84,232,144, 50, 10,103,154, 75, 13,131,
- 96, 80,172,188, 56, 13, 24,  9, 59, 49, 40,176, 54,110, 38,  0,116, 50, 50, 42,174, 45, 39, 25, 32,188, 72,101, 46, 51,149,113,
-242,203,171,171,241,185,178,208,173,131,245,122,181, 10,128,  1, 49,247,194, 93,151,135, 62, 53,205, 14, 19,139, 28, 30,172,135,
- 46,175,186,238,112,189, 94,173, 86,  7,171,129,115,150,212, 31,172,215,253,234, 64,186, 62,165,238,240,246,189, 97,125,120,175,
-206,143,222,253,174,187,215, 50,109,206, 47,174,182, 87,155,203,205,229,245,245,243,151,199, 79, 95,157, 94,109,183,175, 55,155,
-253,118,187, 25,103, 33, 20,100, 71, 20,145,106, 32,238,  8,145,161,  6, 11,223,209, 17,113, 65,149, 52,195, 14, 52,209, 28,  2,
- 27, 53,137, 54,  2,139,171, 18,135,123,147, 56, 33,  2,150, 18,148,164,118, 48,248, 34,225,128,165, 64,140,227, 71, 23,225, 75,
-164,241,181,172,149,144, 12, 68, 59,217, 34,206, 61,142, 40,228,  8, 47, 77, 45, 74, 58, 86,191, 65,196, 70,110,171,226, 80,151,
-184, 44,147,155,106,142,136,236,145, 19,  7,132,132, 70,214,224,187,224, 76,209,255,181,235,188, 33,144,141,220, 42, 17,180, 18,
- 41,102,223,209,209,185, 52,201, 22, 18,169,133,  0,  5,102,  7, 50, 66,118,208,162,  6,  6, 70, 64,128,225,210, 32,  0, 34,116,
-226,224, 57, 33,204,210,102, 42,209,  3,112,  3,202,  0, 49,122,203,217, 36,108,223, 26,180,242, 25,221,212,  1,208, 90,253,222,
-174, 77,102, 15,148, 67, 12,214,153,150, 14,107,233,131,161,221, 78, 49,127,  9,132, 66,195,218, 52,166,  4, 53,228,100,236,164,
-106, 81,171,182, 87, 62,200,141, 95,136,  8, 10, 36, 84,139,167,188, 62,184,125,247,155, 47, 62,123,246,236,233,249,249,185,187,
-139,228,213,170,235,242,192, 34,110, 70, 76, 73,132, 66,187, 35, 12, 58,129,217,237, 91,183, 58,217, 85, 55, 53,155,166,113,158,
-209,  0, 18,137,112,  7,110,106,154, 36,153,217,110, 63,  1, 57, 19,215,121,218,110,183, 14,216,229,220,137, 56,186,186, 78, 69,
- 17,208, 85,171,107, 38,174, 90,186,212,203,225, 26,129,153,161,206, 37,206,146, 18, 28, 49,  7, 83, 43, 84, 14,111, 29,125,252,
-206,163,223,252,209,143, 31,189,243,206,241,139,151,191,248,244,211, 95,126,241,249,102,179, 27,231,113, 46,179,153,109, 54,155,
-121,156, 51,147, 57,198,220,198, 84,139, 90,202,  9,205,113, 66,106, 24,174,176,  9,144,185, 86,211, 64,187, 84, 43,128, 14,106,
-200,136, 72,174, 86,230,226,234,156,155,166,202,205, 94,190, 58,121,247,157,239, 76,165, 94,110,182,  4,168,238,104,190,199,253,
-225,193, 97,146,244, 71,127,248, 31,253,227,255,244, 63, 63, 56, 90,221,187,119,255,213,171, 19, 17,103,192,120, 98,114, 74,212,
-200,245,128, 72,161,252,142,221,187,171, 11, 83,206,201, 17,231,121, 90,128, 29,206,  8,  4,192,142,138, 55,251,164,120, 39,  8,
- 92,205, 65, 40, 64,129, 52, 87, 87,173, 96,110,100, 76,  4,238,243, 92,  0,161,134, 11, 24, 80,213,  8,208, 69,146,100,166,197,
-  1,143, 46,140,251,192, 93, 47,189, 75,248,230,144,192,162,136, 48, 15,171,214, 92, 52,158, 76, 66, 68, 66, 85,117,  2, 20,172,
- 65,113,137,238,  3,193, 99, 15, 10,  4, 26,188, 12,174, 22, 53, 50,128,213,196,157, 85,171,165, 32,226,220, 18, 21, 20, 41,153,
-107,109,146,225,118,  6,223, 56,119,149, 21, 35, 50,199, 12, 13,147,224, 52, 53,246,121, 83,211, 44, 37, 61,160, 58,139,187, 33,
-179, 56, 45,  0,118,114,196,128,110, 18, 71,120,100,155, 55,187,153,171,115,130,132,172,168,141,224, 73,139,193,144,212, 28, 48,
- 16,160, 12, 54,234,118, 28,175,182,123, 52, 63, 90, 13,196, 36,140, 41,103,  2,226,196, 57,229,156,169,151,156,115,151, 19,119,
-146,250, 85,238, 36, 31,172,250,245,122,117,216,245, 67,223,229,174,203, 93, 62, 24,250,156,187,220, 13,171,131,117,202,125,215,
- 13,136, 60,172, 15,134,213,193,  3,  2,175, 90,107, 21,226,177, 76,  4, 54,207,243,171, 87,103, 63,255,236,211,111,158,189, 56,
- 62, 61, 27,119, 99,213, 98,176,159,102,245, 27,106, 55,  0, 16,  8, 18,170,107,192,199, 57, 14, 28, 84,111,117,234,205,120,208,
-192,123, 38,  5, 39,226,200,133, 54, 53, 53, 71,  0,117,207,204, 69,153,200, 35,212,138, 48,166, 46,173, 83, 36,112, 14,  5,162,
-  6,134,207,  9,176, 58, 80, 67,236,128,187, 99,140, 98, 56, 56,225, 97,202, 52, 55, 11, 45, 15,186,183,143,213,205, 85,137, 72,
-131,150,186,212,236,  0, 26,118,132,  0, 48, 48,177, 27,186, 43, 33,  3,130, 86, 69, 71,  5,131,  8, 11,114, 55,181, 70,111,113,
-  3, 48, 87,138,216, 80, 47, 14,230, 16,224, 48, 48, 68,177,  8,222, 19,  6, 51, 48,192,132,209, 70,132, 82,220,212, 41, 42,  7,
- 67, 17,  2, 51,115,136,177,146, 91,113,  5,105,125,135,108,161,  0,  0, 32,  0, 73, 68, 65, 84,184, 71, 67, 96,  8, 25,255,146,
- 59,218,238,171,112,241,134,176,183,  5,151,198,172, 81,218, 20,101,193,124, 59, 16,134,101,180,141,234,205, 34, 79, 36,196,141,
-109,187, 26, 94, 40,186, 49, 77, 53,197,170,135, 44, 30,150,180, 63,  0, 39,202,253,161,  3,164, 44,193,169,  3, 66, 20,  4,242,
-105,103,132,155,191,253,229, 95,254,242,151,159,238,166,130,177,234,169,117, 26,199, 59,247,243, 81,215, 87, 45,243,172,251,237,
-110, 44,101, 63,207,166,181,168, 10,194, 52, 77,115,173,196, 56,205,138, 14,194,140,132, 68, 70,146,136, 72, 68,194,184, 73,140,
-106,186,185,190, 38,162,131, 97, 93,180,146, 67, 68,242,100,118,  9,178,146,164,158, 83, 74,121,158,107, 18,156,171, 86,181, 90,
-235, 92,234, 60,205,234,150, 72, 50, 34, 39,118,164,247,222,251,240, 63,248,147,255,240,141,  7,111,237,246,151, 47, 30, 63,249,
-197, 47,127,241,229,227,167,103, 23,175,167,185,160,112,153,117,183,219,158, 93,108,214,125, 71,196, 28, 82, 10,119,162, 48, 27,
-169, 46, 20,190, 22,113,  8,110,106,204,132,  8, 66,194, 40,128, 40, 64, 34, 50,142, 83, 78, 20,241, 87,234,234,158, 92,221,221,
- 88,120, 42,243,225,106, 93,212,198, 89,207,183, 87,105,191,251,147,191,247, 31,167,126,248,238,187,239,223,190,115,239,224,240,
-246, 87, 95,253,226,127,252, 31,254,187,191,252,229, 95,221, 57, 60, 50,115, 53, 51,245, 26,167, 10, 84, 12,188,172,171,  8, 16,
- 65, 80,  3,147,176, 35,152, 26,145, 44, 10, 89,119,192,112, 66, 19,179,215, 86, 65, 17, 71,178,161, 46,162, 18,104,  5,105,195,
- 78,169, 27,238,231,210,231,100,142, 86, 21,208, 74, 53,228,  6, 13,159,107,217,108,118,111,220, 73, 57,  9, 32,  2,145,151, 26,
-233,198,194,172,106,136, 48,171,129, 25, 33, 99, 91,251,248,130, 11, 53,128,  8, 64, 64, 55, 80, 13,  7, 99,243,210, 73, 34,100,
-210,217, 57,228,  4,228,197,116, 81,241,135, 42,215, 17,145, 57, 19, 41,134, 92,164,217,158,  2, 71,130,112,147,156,237,100, 26,
- 28, 45, 74,146, 56,161, 85,109,229,155, 89,181, 80,230, 52,203,247, 66,206,114,100,131,136, 79, 67,215,246, 69,241,235, 13, 40,
-101,213, 90,  4,168, 25,  3, 84, 51,199,136, 60, 17, 39,180,234,140, 75, 10,230,141,158, 97,  9, 68, 13,  7, 37, 19, 17, 97,176,
-131,133, 41,214,197,251, 50,219,  8,136, 59, 70, 22,225, 46, 39,  4, 39,150,190, 99,230,212,119, 41, 49,229,212,173,215,253,144,
-211,208, 13,183, 15, 15,186, 46,247, 57, 31,172,  6, 78,105,189, 26,134,190,207,221,208,119, 93,183, 90,231,188,146,148,136,229,
-104,125, 32, 41, 59,194,155, 15, 31,253,224,163, 31, 77,227,118,115,113,113,177,217,108,206, 47,158,159,157,188, 58, 62,249,230,
-213,203,205,230,234,244,252,178,204,115, 53,219,205,197,171,  1, 97, 18, 70, 71, 98, 34, 66,172,230,130,168, 26,252, 74,  4,226,
-112,158, 70,222,179,147,186,167, 80,112, 51, 21,179, 80, 50,129, 17, 48,154, 59, 82,236, 91,155,236,208,150, 31,203, 92, 35,163,
- 77,  0,  1,136,110,226,197,224,  6,186,139,180,200, 79, 24, 29,141, 26, 60, 44,216,149, 55,250,118, 68, 68, 23, 64,116,171,238,
- 64,204,170, 10,193,250,  1, 70,  2, 80,  5, 52,  3,250, 86,216, 77,168, 85,  9,128,152,151,104, 57,  0, 55,116, 39, 76, 49,221,
-  5,141, 23,131,150,207,207,220, 75, 68, 52,186, 26,  2,  1, 51,184,130, 57, 49,152, 49, 58, 80,242, 27,109, 88, 51, 20,169, 26,
-152,  1,  3,144, 99,149,166,114, 33, 92,200,201,112,  3, 10, 67,230,136,165, 14,161, 17, 18, 96, 83, 70, 54, 36, 27,186, 69,104,
- 71,236, 71,130,157,  9,234, 36,172,177,206,130,197,217,122,131, 31,139,196,154, 24, 93, 49,199,206,  1, 35,199,104, 65,  7, 99,
- 11,188,162,200, 21, 88,210, 55,226,166, 68, 47, 58,207,229,171, 95,254,249,167,159,125, 41, 57,247,  4,243,190,140,211,140,224,
-132,124,241,228,235,187,135,183,193,253,197,233,235,253,180,119,135, 98,150,  8,205,125, 54, 80, 53, 20, 40, 69,193,189,235,134,
-148, 18,177, 18, 50,  1, 22,213,105,156,162,  6,170,181, 24, 88,159,  7, 97,217,207,163,186, 77,134,185,203, 89,168, 86, 29, 58,
-102, 22,117, 21, 17, 53, 45,117,222,237,170,130,154, 66, 45,165, 84,251,224,251,223,253,173,223,252,145,142,219,191,249,213,151,
- 83,165,223,253,221, 63,248,232,147, 31, 51,210,217,201,139,175,190,250,252,233,211,231, 79,143, 95, 94,236,182,213,161,  2,142,
- 87,215, 39,167,103,171, 46, 51,161,144,180, 36, 20, 55, 93,166,222,145,244,118, 99,  3, 23, 22, 68, 48,211, 36,105,201,189, 83,
- 68,209,102,221,142,209, 37,249,162, 77,165, 56,238,156, 14, 86,221, 63,254,147, 63,250,223,255,159, 63,253,236,139,167,136,  7,
- 63,251,187,127,244,201,143,127,231,254, 27,111,237,174,183,251,253,246,222,131, 55, 51,119,227,180, 19, 20, 71, 84,181,170, 21,
-153,176, 26, 82,152,214,113,183,223,229, 36,224,216,155,185, 97, 16,157,204,129, 19, 89,243,139, 71,119,198,  0,198, 76,  6, 77,
- 89, 28,247, 19,199,112, 48,  6,163,241, 73, 39,178,201,213, 52,150, 77, 99, 41,136,126,152, 86,202,232, 32,230, 74,206,153,211,
- 52,239,107,181,106,181,162, 43,128,171,163, 66, 81,141,113,106,112, 75, 56,114, 95,155, 30, 43,244,137, 22, 98,118, 98,  1, 44,
-129, 26, 39, 65,  7, 99, 36,116,143,180, 76,211,170,213,180,106, 16,  2, 29,221,  9,213, 53, 11, 49,146, 98,  5,160, 33,  9,163,
- 42, 32, 58, 71, 73,238,  0,228,  6,238,156,196,172, 78, 83, 64,146,111,194,174,  9, 48, 60,158,205,243,101, 65,209,247,160, 50,
-196, 10,177,233,230, 85,137,164,169,201,219,214,203,129,227, 35,112,207, 18,147, 69, 99,100,101,  4, 66,  7, 19,128,182,164,115,
- 44,214, 64,205,140, 60,107,137, 31, 73,164, 25,183,  9,130,155,182,156,202, 54, 29, 70,226,182,225, 11,179, 32, 34, 49, 76,165,
- 78,243,108,  1,196,210,154, 88,152,121,189, 90,173,251,174, 75,210,119, 41,231,156,187,180,202,185,207,121,200,121,181, 94, 15,
- 93, 90,175, 86,235,190, 95, 29,172,130,179,192,156,239,220,189, 51, 12,  7,  8, 88,181,  2,178,164,116,247,141,251,119, 31, 60,
-240,234, 63,  1, 55, 43,227,126,156,231,114,121,117,185,217, 92, 94, 93,110,142, 79, 79, 95,158,156, 62,125,249,242,228,236,226,
-244,114, 51, 78, 83, 20,240, 36,108,224,130,132,140,113, 63, 45, 14, 98,136, 67, 52,130, 62, 74,109,  3, 29, 89, 64,130,  8, 40,
- 68, 11,205,133, 28,156,188, 21,150, 49,101,139,185, 60,161, 67,176,135, 90, 43,  1,156, 36,166,243,137,152,163,173,138,201,116,
- 28,236, 81,217, 18,163,105,169, 21, 91,134, 93,140,237, 20,195,  0,141,232, 54, 33,176,  1,121,128,245, 34, 33,137,200,220,153,
-197,205,154, 27,  3,205, 85, 23,239,127,187,140, 45,104,201, 49, 14, 33,114, 85,112, 39,116,115, 52, 68,175, 74,216,164,144, 49,
-211,162,144, 57,180, 23,191, 66,176, 13, 73,192,149, 24,  0, 73,171, 11, 64, 68,153,219, 18,153,181,160, 17,  2,220, 29,195,155,
- 27,121,  0,222,180, 36,141,245,182,208,194, 41, 24,165, 49, 70, 15,107, 91, 67, 70,218,226,  0,163,230,132,128, 38, 41, 35,104,
- 25, 77, 77,129,182, 32,103, 17,144, 33, 46, 70, 97,160,152,221,182, 89, 63,133, 30, 73,203,171, 23,143,193,234, 84, 76,213, 18,
- 17,139,168, 57, 18,245,156, 75,153,111,223,186,245,144, 96, 42,117, 30,139, 67,115,138,207,165, 78,230,104,214,173, 58, 68,146,
-224, 30, 97, 50,179,221,180,179, 98,200,236,142, 14,186, 26,214,171,110,152,117,154,230,169, 86, 69,194,148, 82, 98,206, 73,  8,
-153,208, 13,161,148, 58, 78, 83, 81,173, 85,193,112, 53,228,183,190,115,247,131, 31,124,240,238,163,183,223,251,238,251,255,239,
-191,249,183, 63,255,244,235, 55,222,250,222,207,126,246,135,247, 31,188,113,121,121,241,252,217,227, 47, 31,127,249,248,201,243,
-211,203,215,103,103,151, 99,153,183,227,212, 19,226, 60,169,106, 74, 44,115, 60,161, 45,163,188,148,138,102,136, 80,204, 40,210,
-175,154,199,143,  0, 81,193, 58, 64,  8,124,107,153, 24, 33, 39,170,166,238,  1, 92,137,150, 19,130, 42,  8, 64, 85,235,195,251,
- 15, 62,254,232,  7, 10,248,195, 79,118,127,231,247,254,152,152,190,248,252,231,156,153,145,118, 87, 23,127,254,239,254,197,201,
-171, 87,239,127,239,123,231,155,139,221,238,218, 81, 28, 17, 84,179,112,180,212,146, 18,206, 37,120,174,166, 86,162,250, 64,  7,
-211,117,119, 48,169,109,199, 17, 16,144,165, 25,152,156, 66,  1, 69, 76, 84, 66,  1, 30,203, 72,160,229,160,  9, 98,  9, 26, 48,
- 83,226,100,224, 99,209,161,106,192, 43,  8,  0,128,230, 50, 19, 81, 18,206, 57,117,156,138, 22,  7, 53, 52,  4,138,  3,190, 46,
-185, 64,136, 24,  2,251, 88,143, 48,161, 11, 79, 85, 83,219,103, 66, 53, 37, 64, 65,172,213, 65,160,122, 21, 16,  7, 68,161, 37,
-129,202,173, 24, 51, 90, 49, 23,100,  2,175,128,224, 67, 78,157,164,125,169,204,  8, 70,137, 96, 87,141,192,213,173,106,101,100,
- 38,208,200, 45, 13,205,  7,133,166,195,170, 57,  1,168, 42,  0,166, 76, 96, 80,205, 58, 34, 17,132, 57,170,127,178, 72, 91, 10,
-251, 58,144, 32,155,171, 45,216, 63, 48,104,174, 40, 68, 82, 47, 20,122,208, 48, 72, 32, 35, 36,225,170,238,160, 10,102,  0,140,
-210, 18,145,155,149,188,129,158,111,184,221,130, 28,125,125,  5,167,  8,146, 79,204,222,236,154,128,230,224,213,180,104, 53,  3,
-  7,155,198,145,  0,153,145, 56,245,125,238,146,112,112,238, 68,134,156, 82, 74,235,190, 63, 88, 13, 71, 71,  7,  7, 67,183, 94,
- 31,158,158,190, 28,134, 33,119, 67,196,115,117, 93, 30,134, 30,156,115,215, 17, 11, 33,229,213,176, 90, 31,222,190,115, 55,  8,
-248,213, 96,222,239,231,105,183,189,222, 94, 92,111,158, 62,123,241,242,244,228,217,139,227,215, 23,231,199,175, 47, 94,157, 95,
- 68,184,146, 26,  9, 53, 76, 90, 40,241, 19, 67, 88, 53,132, 81,136,171, 86, 68, 32,194, 20, 73, 44, 17, 70, 68,120,147, 40,198,
-141, 84, 24,228, 32, 52,  0, 14, 57,166,155, 35,170, 25, 49,113,131,226, 96, 78,172, 45, 78,202, 23,134,113,171,226,131,209, 27,
- 80,129, 40,  8,128,  0,140,161, 97, 65,154,218,165,229,222,185, 18,182,176, 45, 22,114, 37, 85,109,235, 99,226,112,155, 55, 91,
- 41, 81,208, 67, 90, 31, 28,154,  5,111,149, 81,112, 47,181, 70,187,128,213,144, 17, 53,242,170,204, 72, 24,128, 10, 40, 35,  7,
- 67,200,221, 65,136,147,  8, 17, 54,185, 15, 97,211,171,132, 69,106,129,237,199, 94,  9,  2,251, 15, 30,233, 86, 77,210,190, 88,
-162,226,235,113,129,249, 68,193,190,132,143,104,148,159, 45,180,199,173, 85, 66,110, 72, 76,148,227, 94, 92, 76,128, 49,225,191,
-185, 58, 29,106,160,165,219,122, 25,  9, 41,229,243,227,159, 63,126,254, 82, 29,227,  5, 51, 32, 22,234,178,152,122,159,147,100,
- 70, 55, 53,216,237,103,119, 55,175,234,110, 34,100,184, 62, 76, 17, 72, 49, 77, 19,  0, 86,175,117,170,101,156, 13, 16,208, 19,
-146,  8, 13,253,138, 16,175,199,136,235,116, 97, 73, 89, 82,202,137,176,186,162,186, 90, 81,245, 88,192,190,253,157,183,222,122,
-235,173,119, 31,125,231,209,163,119,190,243,240, 97, 55, 28,254,249,159,253,235,255,237,159,253,175, 87, 91,252,221,223,255,251,
- 31,124,252,145,150,242,226,249, 55,199,207,158, 60,123,254,242,155,167, 79,159,159,156, 92, 94, 95,143,115,241, 50,157,159, 95,
-222,187,125, 68,132,130, 72,190,180, 41,110,193, 23, 71, 70,  4, 98, 96,194, 57,145, 32,230, 96,239, 50,  3,  1,  8,210,108,154,
-148, 16,157,132,201,205, 13,168,125, 52,128,142,230,192,200,184, 80,176,199,185,188,247,232,157,238,246,123, 31,252,228,173, 15,
-192, 95, 60,123,252,111,255,236, 95, 50,165,  7,111,126,103,191,191,250, 87,255,230, 79,  9,169,147,180,234,134,239,190,247,221,
- 95,252,226,231, 14,128,142,234,238,106,136, 52,149,  2,238,171, 46,  3, 17,152,  2,161, 56, 77, 53, 58, 80, 35,196, 94, 36, 26,
- 97, 70,106, 88, 56, 52, 64,137,237, 37, 54,194,115, 32,106, 29,  1, 57, 84, 93,216, 44, 90,236,177,175,129,170,102,110,137,210,
- 52,149, 74, 34,174,213,177,204,165,203, 29, 18,205, 90,201,191,165,203,198,120, 54, 56, 71,181,121,208,140,137, 67,221, 24,226,
- 20,170,106, 28,118, 84, 10,148, 49, 39,  9,  9,252, 18, 44,217, 34,126,208,111,104,124,158,  4,157, 44, 92,154, 44,108,230, 99,
-153, 29,169,153,196, 69,176,204, 72, 45, 36,220, 12, 12, 45,146,234,  8, 64, 29, 98,247, 83,106,141,111,187, 86, 75,137,193,201,
-172,106, 85,167,  4,109,183,231, 17, 62,201, 20, 22,  9, 50,115, 64, 35, 36,213,182, 81, 32,102, 98, 14, 51,160,  3,146, 97,157,
-103,179,138,144,131,222,179,204, 83, 33,117, 92,180, 68,218,178,162, 49, 50, 24,152, 35, 52, 91,174,  7, 64, 56,230, 73, 10, 30,
-159,132, 81,117,227,130,232,176, 68, 77, 88,108, 29,201,201, 24, 89, 34,207, 32,165,177,214,185, 96, 53,215,221,190, 99, 41, 86,
- 50, 51, 16, 49, 75,159,211,170,239, 87, 67,119,208, 15,  7,  7,195,106,232,134,110,232, 36,113,146,190,147,156,250,174,147, 62,
-119, 73, 18, 11, 15,235,149,112,150,148,136,115,206,132,144, 88,100, 37,135,235,195, 59,111, 17,127,240,193, 71,228,182, 31,199,
-221,118,187,217, 94,191, 62,191,184,188,220, 60,121,241,252,244,252,226,122,187, 59,191,186,222,239,167,253, 60, 86,211,162, 96,
-  6,106,234,  0, 73,  8, 64,136, 82, 80, 43, 34, 30,189,160, 34,128,196,254,201,  1, 16,133,168, 90,108, 91, 64,150, 21, 46, 17,
-  9,177,153,133,228, 12, 96, 33, 96, 97,155,237, 45, 27,164, 37,181,193, 35,  0,189,113,162,218,151,  3, 97,152,219,160,  5, 76,
- 89,219,232,146, 59, 68, 30,113, 51,101,  0,152, 26,130,  3, 50,160, 11, 80,117,107,163,  9,102, 86,119,110,100, 98, 36,116, 69,
-175,113, 90, 54,131,149,187,215, 82, 89,210,183,243,109, 10,254,170, 75, 12,175, 20,221,193,188,136, 18,152,137,199,227,205,228,
-166,128, 76,139, 50,184,109,161, 27, 70,167,193,219,190, 37,138, 53,229,145,  7, 21, 18, 29,136,184,165, 43,181,214,102, 49,158,
-181,196,113,  6,114, 88,240,128,113,113, 32,177,164, 28,122,136,184,139, 99,137, 71,230, 72,201,173,132, 15,243, 70,214,138, 14,
-200,172,181,170, 78,183, 14, 15, 55,215,251,253,126,156,203, 92,107, 40,112,153,  5,175,167,110,232, 82, 41, 87,175,175,174,171,
- 43, 90, 16,  1, 67,125,203, 72,153, 25,139,214,170, 74,  8,251,221, 56, 77, 83,117,  0,128,196,204,201, 51,115, 85, 43,101,106,
-  3,100, 48, 17,202, 89,180,214,205,126, 86, 83, 65,236,251,244,230,253,187, 63,252,240,163,159,254,206,239,124,247,  7, 31,215,
-105,203,156, 16,241,223,255,217,191,250,226, 87,191,122,118,124,241,157,119,222,255, 71,127,240,199,221,176,222, 92,158, 93,158,
- 29, 63,127,252,228,155,103,207,190,122,250,236,197,201,217, 56,207, 86,244,122,187, 57, 90,245, 44, 40,194,166,206, 72, 36,100,
-136,146, 90,190,149, 57,148, 90,197, 57, 72,167, 41,230,110,238,166,198,129, 97, 37, 12,196,146,  8,171, 66,  2,156,230,162, 86,
-  1,169,170,102,136,137,135, 26,180, 66, 16,  9,126,248,209,199, 51,201,211,103, 95, 62,127,246,245, 95,252,213, 95,215,121,255,
-206,219,143,142, 14,142, 62,251,244,175, 94,190,120,241,232,209,163, 97,232,137,249,173,251,111, 92, 60,120,243,236,242, 28,118,
- 38,196, 69,103,145, 62,130, 39, 17,157,212,136,136,128,170,169, 16,  4,175,168,154, 38,201, 68,228,224,213,205,209,153, 57,144,
- 46,141,213, 23,214,133, 24, 14,180, 16,238, 72,214,132,234,150, 76, 25,113, 50,205, 64, 76,116, 61,142,135,136, 97,106,139, 90,
-136,144, 12, 92,205, 84, 45,167, 36,200, 68,162, 62,131,130,113,188, 75, 16,100,172,170, 45, 48, 20,151, 49, 35, 34,219,188,100,
-196, 46,161, 81,113, 44, 38, 78, 22, 65,141,205, 53,233,  8,136,194, 30,130,238,155,228, 64,  4, 71,163,120, 81,  9,196,209,204,
-  2, 69,128,134,140,130,137,104, 12,194, 53, 27,129, 25,144, 99,151,115,169,  5,192,154, 43, 31,121,154,103,  2, 72,188,100,158,
- 16, 32, 48,121,147,146, 34,  2,  9,183,238,184, 41,131, 61,  2,183, 35,215, 20, 22,231, 61, 73, 66, 47,110, 74,145,167,  8,168,
- 97,146, 69, 66,224, 86,183, 42, 50,123,133,136,148,111, 59,132, 26,224, 19,112, 95, 34,250,144, 48,200,230, 16, 97,120, 26,155,
-191, 22, 95, 25, 90,146,224, 45,148,128, 59, 32, 18, 65, 85,  3,212,121, 42,202, 58,142,211,229,110,116,132,163, 97,117,112,216,
-175,251, 85,151, 83,159,115, 78, 28,137,116,189, 36, 97,238,115, 94, 13,253,170,239,147,112,215,247,135,221,208,117,169, 27,114,
- 78, 61, 49,231,174,235,187, 78, 56,115, 78, 11,225,157,214,195,122, 88,175,222,122,240,150,153,254, 12,126,199, 74,221,238,119,
-187,235,237,213,118, 60, 61,127,117,118,113,249,234,236,252,213,217,217,171,215,175,167,221, 84,204,107,169, 85, 11,  0,115, 66,
- 71, 23, 97, 50, 90,118,206,128,224,196,228,  8, 34, 82,107,141,  9,179,129,  5, 75,199,192,235, 52,249,162,244,178, 22, 10, 16,
-138,117,108, 34,109,167,248,131, 16,151,255,211,104,198, 24,  3,108,  3,163,156, 96,137,154,102, 55,211,106, 80,193, 35, 54,189,
-213,254, 68,161,186, 66, 39,  0, 36,171,222, 76,251,132,232,160, 80, 17, 82,132, 95, 70, 76,200,141,112, 62,182,236, 78, 56, 23,
-195,106,204, 36, 76,106,102,166,129,110,247, 37,  8, 29,221,201, 17,205,160, 22, 89, 52,187,186,100, 34,195,146,157, 71,110,218,
- 46,177, 16, 40, 45,109,202, 13, 40, 51, 56,246, 45,154,181,101,105, 69,245,111,191, 70, 60,  0, 71,242,198, 75,107,203,230, 32,
-213, 97, 48, 32,144, 34,200,165, 41, 94, 91, 55, 96,203, 28,185,233, 70,155,182, 20,220,173,158,156,158,157, 92, 92,  9,128,176,
-184,131,214, 49,240,126,196, 82,180,150, 93,157,199,253,229,213,182, 17, 57,213,153,129,129,164,203,128, 56,105, 85,173,227,126,
- 52,247,237, 84, 45,  2, 16,136, 14, 14,214, 67,223,153,154,154,166,148, 23,153, 40,149, 82,166,105, 74, 73,134,220,191,247,238,
-219, 63,253,201, 79, 62,250,232,163,219,119,239, 29,221,190,173, 36,175,158, 63,203,196,147,109,255,236, 79,255,207,207,126,241,
-183,235, 91,111,254,193,223,251, 71,239,125,247,251, 69,203,217,139,167,175, 94, 61,121,241,226,213, 23, 95,125,243,245,179,103,
-231,219,171,113, 63,127,231,222,157,205,197,197,181, 57,162,  4,200,218,106,204,193, 48,120,138, 45,  3, 60,254,234, 28, 98, 80,
-118, 66,  9,116, 13, 68, 66,119, 24, 27, 80, 88, 70,157,106,213, 33,119, 10,174, 22, 68, 67, 68, 98,175,102,174,110,238,142,102,
-112,184, 94,191,253,230, 27, 47, 30,127,250,213,151,191,124,249,252,249,135,143, 30, 12, 57,175,110, 61,156,116,126,250,252,133,
-147,151,121,222, 19,247, 93, 62, 88, 29, 60,124,240,240,245,229,165,185,107,169,147,170,176,  1, 98,177,218, 33, 21,119,114, 27,
-186,172,181,201,174,212, 65, 13,  4, 97,149,211,118, 42, 13,226,132, 64, 76,141,122,234, 81,190, 16, 51,151,144, 73,182, 90, 20,
-153,136, 96,113, 96,151,234, 57, 57,250,126,154,  9,168, 75, 82,180, 38,226,224, 96,187,163, 32,207,141, 27,111, 49, 20,117,188,
-209, 48,196, 99,103,173, 91,185, 41,120, 16, 45, 58, 60,187, 57,232,176,133, 73, 26,170, 22, 98, 81,117,171,170,234,138,142,  0,
-218,158, 68,172,173, 14, 50,  0, 76,146,144,121, 30,107,173,154,136, 28, 41, 10,179,218,118,221,165,106,141,240, 38,152,  1, 29,
-212,109,174,133,  0, 29,  8, 93, 37, 69,143,225,234, 96,  0, 41,164,244,230,180, 56,223,185, 49,171,188,225,  9,137, 98,132,175,
-  8, 72,216,165,180,155, 39, 85, 21, 78, 96,115, 32,  6,110,118,134,170,150, 16, 42, 49, 33, 72, 64,126,192,155,218, 30,192,105,
- 17,229, 47, 57,166,204,225,113, 15, 84, 26, 91,219,109,  9,136,217, 28,153,124,236,168,205,170,105,200, 24,152, 95, 37,230, 46,
-231,185,106,172,171, 75, 85, 17,100, 34, 55, 45,170,103, 85,181,214,169,175,225,204,236,187,156, 18, 35, 80,  4,164,  8, 19, 17,
-102, 73, 57,165, 46,167, 85,206, 41,165,126,200,235,126,232,186, 60,116,125,159, 19,  3, 96,238,250,148, 36,194, 78,186, 60,116,
- 61,178, 32, 18, 75,252, 98,215,175,214,247,136,222,211, 71,115, 41,155,171,203,113,183,175, 90,231,185, 92, 94, 95,158,190, 62,
-127,117,118,113,242,250,108,187,223,239,199,105,183,223, 79,181,132, 93,153,152, 32, 32,180,192, 76,136, 34,165, 22, 71,230,196,
- 68, 24,254, 79,166,182,250,158, 77,209, 13,204,  9,  2,  0,185, 56, 66,233,134, 65,115, 35,233, 84,184, 33,209,199,  4,128,170,
- 27,186, 57, 97,219,163, 64,139,138,197, 16, 57,199, 64,178,241, 72,109,113,252,181,165,177,  1, 16, 16, 35,178, 91,245, 27, 22,
- 11,115,187,225, 27, 17,166, 69,224, 56,128, 43,104,211,222,131, 59, 88,213, 72,102, 55,231,170, 21, 93,  1, 65, 90, 77,141, 72,
-204, 30,138,131,  5, 16,130,209,140, 99,172, 82, 99,120, 67,205,166,106,182,120, 86,  9, 99,185, 76,116, 67, 87, 88, 20,149, 75,
- 11, 13, 10,106, 55, 94,  3,136,206, 28, 16,  9, 35,162,215,108, 94, 92,143,203,246,191, 49,229,155,133, 21, 29, 92, 45,118, 14,
- 93, 63, 28, 30, 12,125,146, 59, 71, 71,166, 90, 77, 17, 96,156, 39, 36,210,106,238, 32, 41,111, 46, 55, 87, 83,205,136,197, 12,
- 25, 17,180,154,237,118,251,185, 94,101, 97, 68,154,213,118,211,232, 14,125,215,221, 59,186,221,245,  9,137,208,161, 98,181, 82,
-231, 82,193,161,154, 30, 12,253,155,111,220,255,248,195, 15,126,242,227, 31,223,191,127,255,240,246,209,176, 62,208,234, 70,248,
-252,233,147, 97,117,132, 96,191,250,235,191,248,197, 47, 62, 61,187,216,253,224,147,223,255,248,147,159, 14,171,213,118,119,125,
-117,250,242,248,213,179, 79, 63,251,252,139,199, 79,142,207, 47,199,253,126,183,219, 94,109,118,223,127,112,239,217,184, 85,112,
- 32,207,194, 12, 88, 21,162, 76, 99,164, 68, 84, 98,113, 14,102,213,156,216,220, 56,110, 57,194,161,235,218, 80,  2, 80, 67,245,
-  4, 22,214,205,128,189,138, 96,153, 27, 11,136,200, 67,164,133,  0,238,250,224,238,189,219,195,208,247,233,183,126,240,193,227,
- 85,247,240,193,157,127,255, 55,191,120,248,189,183,182,219,205, 79, 63,249,237,111,190,249,162,212, 57,107, 46,165,100, 73,111,
- 62,124,227,228,236,228,229,217,169,122,101,164, 82,212, 77,  9,160, 70, 94,135,182, 71, 55, 28,186,166, 26, 26, 62, 97,206, 82,
-139,  3,  3, 48, 32,152, 35,146, 32,  2, 82, 85,107,110,212,  5,245,  7, 13, 68,228,145, 46,239,136,234,106, 36,232,110,128, 87,
-227,136,216,103, 33, 67,220,207,133,137,170,  1, 16,218, 60, 71, 43, 92,172,130, 27, 19, 53,226, 69,108,116,154,154, 26,  8, 97,
-154,231,185, 86,  9, 66,177,131, 87, 51,  7, 19,101, 70,195, 54,135,172, 85, 19,179,185,106, 85, 68, 39,247,190, 75,165,170,131,
- 33, 80, 60,151, 72, 80,107, 29,107, 61,224,100,224,148,144, 72,204, 45,178, 40,173,214,102,161,  5,208,170,130, 75,105,239,110,
-170, 10,102,166, 20,121,238,228,166, 80, 93,209,219,110,193, 91, 39,237, 13, 99, 69, 12,209, 53, 24, 58,122, 52,189, 81,231, 16,
-160,112,138,156,100, 95,252, 34, 76, 64, 68,174, 26,191,221,192,137,168,106,  1, 67, 74,124,131, 89,  9,251,212, 66,124,197,152,
-139, 70, 20, 30, 44,208,143,200,161,246,150,121,225,106, 10, 33,149, 10,  6, 32,  0, 53,168, 47, 55,109,191,121, 85,141, 19,206,
-220,  8,254,127,166,222, 44,230,178,236,186,239, 91,195,222,251,156,115,239, 55,213,216, 53,117,117, 23,123, 96, 15,156,154,148,
-154, 52, 69,137,140, 34, 89,163,165, 64,136,148,216,112, 98, 35,  1,132,  0,  1,140, 32,121,201, 75, 94,  2,  4,240,107,134,183,
-  0,  2, 12,219, 72,140,  4,118, 98, 57,138, 68, 77,148, 41, 74, 28, 76,154,166, 66,182,122,238,170,238,174,233,171,250,230,239,
-222,115,246,222,107,173, 60,172,125,190, 38,186,208, 15,141, 66,117,213,173,115,247, 89,251,191,254,255,223,159, 90, 51,  6, 51,
- 51,139,138,136,156, 74,166, 64, 82, 36, 70, 78, 33, 16,227,106,181, 38, 98,255,252, 23, 49,245,139, 46, 16,  5, 14,125, 23, 83,
-136, 41,165,141,161, 75, 41,165,232, 51, 60, 96,224, 33,117, 41,134,141,229, 50,246,105, 72,125, 23,135,152, 56,164,238,224,232,
-104,127,127,255,202, 19, 79,220,188,121, 35,134,136, 76, 68, 65, 85,107, 41,165,150,211,213,122,119,247,209,201,201,225,193,209,
-241,254,209,209,222,254,193,238,254,193,254,193,193,148,115, 22, 29,167,177, 40, 84,133, 72, 76, 72,204,236, 23, 52, 78,  6,136,
- 49,114,206,138, 64, 70,172,136,213, 29, 49,136, 13, 17,215, 82,245,138,198,128,136, 20,218,231, 70,205, 20,104, 34, 45,145,161,
-213, 99,183, 32, 70,  1,219,110,166, 21, 84,121, 59,145, 53, 71,189,103,140,212, 16,217,204,107,144,230,142,105,108,185, 78,112,
-208, 77,123,117,  3,241,172, 63,178, 49,162,138,169,136, 35,108,172,250,123,165,165,141, 12, 33,152, 91, 74,125,226,249, 49,198,
-165,155,239,157,254,224,125, 89,126,212, 58, 14,109,190, 71,250,128,222, 32, 60,103,152,183,230,128,179,102,126,108, 56,130,  6,
- 26,155,171,187,189, 63, 93,  4, 64,230,247,137,139, 88, 98,170,128,179, 81,167,237,150, 13, 24,137, 73,106, 85,179,235, 55,158,
-140,223,253,193,253, 71,143, 13,112, 49, 12, 23,206,109, 93,186,116,145,  1, 57,112,191, 92,162,232, 95,189,246,250,198, 73,175,
- 96, 84,164,130,212, 92,171, 65,223,165,205,141,101,206, 50,150,113,149,167, 46,118,139,161,223, 88, 44, 76,245,232,244, 84,106,
- 69,  4, 81,116,142,202,243,183,110, 62,247,212,205,151, 63,253,201, 23, 95,250,100, 55,244,211, 52,229,113, 13, 28,149,195,131,
-247,223, 89,108,158,235,151,203,187,239,191,245,214,143, 94,187,115,231,222,114,251,234, 47,252,234, 47, 63,113,245,137,213, 42,
- 31, 29,238,157,236, 63,122,239,189,119,127,248,250,235,183,239,222,203, 42,227,122,212, 50, 89, 21,  3,165, 16, 58, 78,135,211,
- 81,201,213, 19,244,138,218,136, 69,160, 28, 56, 23,  4,179, 24, 34, 34,176, 25,130, 23,241,176, 78,121, 17, 35, 19,250,198, 92,
- 77,  1, 73,149,192, 32,132,  0,168,204,228,199,  3,  1, 17,130,104, 69,  0, 10, 20, 98, 16,179, 39,175, 92,221,220, 90, 90, 76,
-112, 98, 67,215, 49,210, 43,159,250,137,184,185,253,225,221, 59,183,158,121, 97, 88,108,148, 50,149, 16, 40, 12, 68,125, 71,195,
-173,167,159,190,115,255,222,241,209, 49,  4,238, 35, 50,115,215,245, 37, 79,145,  8,  8,214, 83, 97,196, 34, 74,132,145,153, 57,
-  0,145, 86,141,204,164, 86, 69, 33,160,154,145,170, 16, 53,187,140,105, 11,244, 32, 84,213,128,132,161,157,245,  6, 22,  3,229,
-  9, 80, 12,169,229, 76,143,198,105, 49,116, 12, 72,136,235, 41,175,199,154,171, 94,218,222, 80, 81, 85, 43,185,213,194,121,161,
- 18,158, 61,108,  4,205, 91,205,129, 85,192,196, 31, 82, 53,  0,194,169,148, 92,100, 72, 48,137,153,163, 12, 68,171,152,248, 68,
- 33, 90,160, 86, 85, 36, 43, 82,171, 59,156,145,209,192,148,198,162,170,218,121,149,152,153,122, 34, 15,128,144,165, 86, 36, 52,
-119,180,155,  1,162,  0, 24,178,104,102,128, 64, 84, 76, 74,177, 24, 81, 43,170, 25,113,112,190, 74,160,153, 20,110,224,181,233,
-218,180, 19,144,217, 62, 89,205,198, 41, 11,181, 33,160,152,170, 40,  0,130, 43, 65,136,  6, 48,169,129, 72, 21, 85, 53, 66,  5,
-195,  8,168, 51, 24,196,203,122,136,192,172,154,121,192,  8, 16, 28,157,137,228,  0,  0, 48, 49, 19, 81, 39,177, 41,128,187,213,
-102,209,138, 60,  2, 38,128, 10,200, 76, 85,140, 16,177,130, 85,175,109,171,  0,177,154,138, 86,223, 13,146,215, 73, 58,116,  9,
-160,150,154, 75, 17, 25,171,234,233, 84, 16,161, 99,222, 90, 46,140, 99, 32,244,100,114, 66,142, 28, 98, 10,125,234, 82,224, 20,
-152,163, 95,138, 56,134,208,119, 93,159,210,176,236,  4,232,248,232,248,202,197,115,227,201,226, 94, 25, 67,232,250,190, 95, 46,
- 54,251,161,163,148, 22,177, 59,183,115,254,234,213,107,181, 10, 24,148,156,205,106, 45, 50,230,188, 26, 79,243, 52,126,120,239,
-225, 95,191,247,238, 59,239,221, 57, 56, 60,200, 69,213, 84,154,232, 66,128,136,200,169,163, 98,101,150, 68,196,196,144,  3, 27,
- 74,123, 88,  9,145, 20,102, 59, 84, 11, 98,181,154, 17,103, 21, 89, 85,207,111,121,242,209,154,235,209,115,160, 86, 85, 26,150,
-151,208,  7,  8,100,179, 98,226,  3, 10, 17,  3, 25,145, 83, 31,204,  8, 64,220,150,128,102, 14, 55, 84,164, 90, 36,240,217, 37,
- 21, 60,245,  6,228,125,233,134,100,236,249, 88,113, 23,103,195,222,184, 27, 93,125,113,235,101,167,103,130,  9,  0,  2, 27,233,
- 28,  4, 68,244,106,  7,247, 98, 99, 91,200,182,127, 33,179, 63,185,243,127, 52, 34,244,216,246,220, 44, 77, 90, 42, 68,155,  1,
-113, 49, 32,  1,161, 57,229,192, 42, 84,197, 64, 31,189, 51,  8,193, 64, 68, 13,176,150,178,117,238,226,114,115,145,213,114,145,
-147,213,234,228,244,164,139,253, 98,209, 41, 64,  8, 92,171,189,183,251,240,222,238,158, 39,252, 93,233, 76, 49, 84,178,253,189,
-195, 85, 25,  3,113, 23, 83,138, 73, 85, 31,237,239,231, 82,212,172,235,210,197,157,157,231,110,221,124,250,214,205,207,124,242,
- 51, 55,159,190,149,250, 84,204,166,213,180,127,184,175, 85,250,229,166,  2,222,127,255,131,205,243,151,215,235,211,111,254,197,
-159, 61,188,119, 47,215,240,212, 75,159,251,212,167, 63, 27, 98, 56, 57, 57, 57, 61, 57,218,189,123,231,173,183,222,122,253,221,
-247,246,143,143,166,154,115,206,  7,143,119,183, 54, 22,165, 86,100, 38,164,173,173,173, 71, 71, 39,204, 20, 42, 68,138,163,101,
-255,150, 82,104, 32, 38, 81, 43,181,228,154, 99, 76,171,169, 46,  7, 70, 36,  5, 68, 14,203,190, 19, 83,  3,255,139, 48, 14, 64,
- 66,  2,192, 10,203,110,113,202,167,185,120, 24,  3,  9, 67,151, 12,193,138,  8,152,221,188,121, 29,152, 85,229,228,248, 52,117,
-195,198,246,230,202, 22,167,185,174,215, 99, 63, 12, 59, 91, 91,251,251,187,139,110,168,165,148, 88,134,110,216, 88,110,189,240,
-236,179,223,252,238,247,242,148,193,176,239,250, 82,  4,137,200,154,213,137,252,193, 51, 16, 53, 21,  5, 53, 10, 36, 89,134, 62,
-173, 86, 35,  2, 38,142, 99,201,137, 73,114,169,162,136, 32, 96,243,196,104,234,200, 61, 50,173, 78,191,182, 10,  0,222,160,134,
-128,136, 99,201,227,148,185,239, 87,211,116,114, 58,114,224,245, 52,238,238,203, 88, 13,  9,157,188,  8, 58,155, 67, 90,187,131,
-122,173, 50,154, 97, 84, 82,175, 19,109, 88,119,247,236,159,142,171, 69,159,136,217, 20, 48,180, 10, 38,240,148,134,146, 33,121,
- 29, 19,  4, 91, 79,197,251,160, 19, 33,128,121, 95,121, 45,106, 96, 72,152,136, 68, 32,  4, 32,107,212,120, 85, 45, 34,  6,202,
- 16, 26, 57,157,200,192,136,130,230,214,154,233, 53, 93,129, 73,196,102,216, 82,147, 49,219,103,  9,136,170, 30,133, 53, 49,  5,
- 64, 54, 99,212,170,142,209,  7,195,153,166,173,  2,144,152, 65,132,192,140,200,181, 21, 83, 32, 68,101,242, 24, 21,184,177,218,
-107,164,145,154,150,224, 34, 60,  0, 34,  8,104,128,128,  0, 12,192,212,108, 21,179, 73,186, 17, 97, 61, 70, 32, 96, 80,197,131,
-233,166, 82, 85, 20, 72,153,102,227, 53,154, 25, 49,171,154, 48,165, 16,106, 45,129,189, 45,  4,137,130,155,117,221, 12,  2,  0,
-162, 80, 68,160,148, 85, 21,  3,228,192, 17, 48,164, 20,188,237,135,200, 43,207,250, 46,116,177, 15,140,204,236, 21, 17, 69,181,
- 15,241,116,181,186,247, 96,111,177,236, 23, 93, 55,120,  8, 43,165, 97,185, 12, 33,109,108, 44,186,110,209,197, 33,116, 97,216,
-232,145, 34, 18, 16, 32,  6,234,210,240,138,232, 47,214,124,124,116,116,122,122,242,240,241,238,163,221,189,123, 15,239,223,127,
-244,104,247,209,254,241,233,169,152,228,226,110, 37,194,166, 15, 55,108,187,203, 22, 31,201,215, 86, 93,136, 80, 69, 17,  1,246,
-208, 15,162,143,227,234, 55, 47,183,160, 16,225,220, 12,228, 84,122, 64, 69,191, 48, 33, 32,105,109, 27, 22, 51, 69, 99,161, 74,
-129, 33,207,240,225, 38,142, 32, 24,144,145, 89,  5,176,216,113,235,125, 50, 35, 95,242,138, 48,176,239,219,180,121, 33,205,204,
-  2,121, 99,224,204,181, 62,163,152, 57,242,161, 89,101,230,173,250, 89,187, 30,186, 92,101,106, 10,200,216,168, 82,106, 64, 72,
- 30,175,105, 56,  1,105, 13,136,142,249,157,243,200,166,  2,212,140,165,132,145,187,222, 97,111, 20,135, 58,174, 64,213,130,192,
- 71,114,144,183,166,159, 97,152,173,223, 60,247,236,179, 79,255,209,159,125, 39, 34,230, 90,166, 41,175,242,158,152,118, 49,  2,
-218,193,209,106,204,121,204,213,  7,127,246,223, 17,193, 88,115, 21, 93,244, 61,  3,137,234,225,201,169,104, 61,183,181,249,226,
-205,235,207, 61,251,220,203, 47,189,248,212,199,158,222,217, 62,199, 49, 18,197, 92,166,211,131,131, 90, 42, 35,244,203,205,227,
-195,189,213,209, 81,236,187,245,233,241,234,232,240, 47,190,254,181,135,123,167, 79,221,250,248,103, 63,249,202,229,171, 87,180,
-148,195,189,199, 39, 71,123,247, 63,184,243,250,155,111,189,119,255,254,106,189,158,166, 92,214,171,142,  3, 24, 16, 49, 51, 67,
- 41, 85,100,174,108, 86,  3,  8,228, 93, 87,160,214,118, 97,162, 21, 25,167, 49,151, 90, 77,211, 88,242,114, 57, 48,128,136,136,
-106,100, 14, 20,192,128,  3,250, 34, 62,112, 12, 64,165,148,192,204, 33,154, 76,202,164, 38, 41, 80, 12, 72, 72,104,214,247,221,
-173,155, 79,  2, 19, 25,158,174, 86,139,205,205,126,177, 44, 43,235, 88,175, 94,189,190,216,220, 89,110,110,191,127,247,253, 29,
-201, 54, 66,225,152, 56,  4,230, 27, 87,174, 93,189,252,193, 59,239,191,111, 49, 33, 96,150,156,136, 38, 51,118,204,128,128,131,
- 33, 43,129,138,230, 60,161,104,138, 41, 16,134, 64,109, 97,  9, 64,136,130, 24,252,203,210, 70, 73, 83,  5, 83, 80, 18, 51, 46,
- 42,  0,182,104,133,234,218,130,181,  8, 36,118,178,158,138,143,123,140,  0, 32,170,199,211,218,249,138,126,248, 18, 35, 43,206,
-194, 94,235,133, 86,  0, 67, 72,126,211,116,239, 45, 97, 96, 80, 63, 89, 16, 68, 13,205, 98, 64, 51,  8,236,105,219, 80,173,136,
- 74,138, 44,134,213,193, 15,238, 57, 65, 82, 39, 60,169,115,228,155, 28,132, 76, 56,195,117,136,  2, 81,105,119, 98, 55,127, 25,
-145,161,137, 50,162,170, 22,169, 49,  4,247,222,160,130,231,212,129, 19,149,181, 52,128, 95, 59, 79, 85,221,242,172,224,183,126,
- 53,171,146, 33, 19,147,123,172, 26,179,219, 20, 48,186,129,116,222, 71,180,254,132,102, 77,214, 54, 93, 82, 96, 45,  5,196,113,
- 33,228, 40, 24,117, 25,118,102,255, 21, 85,102,178,143, 82, 60,174, 46,195,220, 61, 11, 16,253,134,174, 28,  8,170, 49,218,186,
- 26,184,133,217,183,228,170,110, 54,244,229,191, 19,170, 13, 64,212,237, 43, 13, 92,228, 88, 72,  1, 33,135, 72,160,  2, 82, 10,
- 88,205,220,195, 87,179,151, 44,219,186, 86, 38,204, 85, 85, 37,134,144,186,212,197,216,197, 16, 83, 66,131,190,227,253,227,163,
- 46,198, 52,116, 29,115,223,245,125,159, 82,136, 27,139, 97, 72,221,114,232,251,190,239, 98,183,216, 88,196,148,250,174,143,169,
-139, 93,191,185,185, 81,115, 53,192, 16,195,114,251,220,230,185, 11,215,158,188,165,181,138,212,113, 28,143,142, 15,247,247,247,
-247, 15, 14, 15,142,246,119,119, 31, 98,191,121,120,188, 70,176, 16,152,153, 28, 91,211, 28,101,141, 29, 22, 28,235,142, 40, 70,
-174, 73, 43,216, 44,226, 32,152, 17,181,180, 65,235,101,163, 70,241,194,134, 19,243, 22, 60, 85, 66, 18, 84,  4, 67,140, 70,134,
- 76,132, 84,161, 54,  3,142, 53, 60,229, 25,185,161, 57,246,253, 96,  3, 49, 48, 98,140, 20,164,170,  2, 48, 32, 18,  5, 34, 21,
- 65,166,208, 98,194, 38, 54,163,115,220, 51,237,135,126,179, 43,254,120,223, 96, 91, 83, 17,124,180, 61,248,104, 42,104,177, 44,
- 59,107,228,112,199,100, 64,146, 89,194, 98, 48,109, 65, 14, 64, 52,197,192,196,  4, 34, 24, 98,236,  7, 45, 89,107, 54, 32,  5,
- 65,199,141,249,114,164, 58,223, 16,  9,169, 27,134, 11, 59, 23, 98,236,151,139,197,149, 33,109,116, 49, 79,101,148,188, 26,235,
-123,119, 63, 16,145, 46,112,100,246, 82,217,192, 76, 33,212, 92,142,199,124,186,158, 96,140,145,124, 70,241,  9,  0,  0, 32,  0,
- 73, 68, 65, 84,233,242,249,229, 75,207, 61,245,249,207,125,238,147,159,250,204,133, 11, 23,185, 11,136,193,204,114,201,164,128,
-108,134,150, 87, 99, 72, 41, 12,221,193,238,131,216, 15, 93,138,239,191,247,222, 95,191,254, 67, 93,143,213,250, 87,255,198, 23,
-158,125,254,  5,238,120,125,116,116,116,176,127,184,255,248,221,247,222,121,247,253, 59,251,199, 39,121, 42, 82,202, 56,174,  8,
- 20,  9, 82,224,200,212,  7, 94,137,157, 73,165,162, 80,139,204,150,126, 64,  0, 98,116,195, 25, 33,  2,210, 60, 15, 58, 15, 67,
-205,205,181,  0, 28,  8,157, 71,130,  4, 64,160,158,138,131, 16, 40,198,128,140,  0,204,142,117, 70, 52,  0,  5,221, 26,134, 39,
-206, 95,208,170, 38,120,114,124, 60,108, 44, 98, 76,108,143,233,248,136, 48,254,201,239,253,239,180, 62, 90,244,189,170, 89,208,
- 41,143,204, 33,133,180, 88, 44, 95,124,238,227,183,239,221,171,181, 34, 35,  1, 36, 14,185, 86, 21, 21,239,124,  0, 27, 82,152,
- 86,133, 16,  2,113,198,194,104,129, 83,138, 82,  1,179,151,107,136,  3, 91,216,  7, 13,155,241,239,216, 38,111,119,229, 98,253,
-136,147,126,230, 30,161,169, 86, 47, 73,240,149, 14, 51,129, 18,  5, 58, 89,175, 87,171,156,186, 48,191, 68,218,178,255,172, 84,
-217, 76, 75, 21, 16, 83,  2,149, 51, 11, 24, 68, 78,203,110,225,219,165,172, 22,208, 16, 24, 68, 25,131, 89, 14,115,  0,157,  1,
-181, 10,  6, 79,149, 66,  8,172,181, 34,179,  2,136, 25, 59, 81, 67,212,189, 38, 85,196,157,112,206,232,243,218, 11, 98,247,226,
- 33,114,152, 74, 65,  0,102, 18,105,208,226,162,181, 84, 81, 45, 56,127, 67, 60,230,205,  8,  0, 22,128,156,186, 80, 84,  1, 13,
-153,252, 68,175, 38,140,108,109,183,142,162,170, 89,176, 65,182,  1, 12, 74, 41,  4, 32,164,196,172,181, 17,230,231,130, 19,108,
-133,232, 31, 85,228, 72,104,142,127, 72, 68, 76, 92,154,247,200,121,226, 51, 82,  4,144, 61,199,211,176, 11,  8, 45,123,196,117,
-173, 72,140, 10,226,110, 40, 17, 39,185,231, 82,218,201,101,192, 12, 96, 86, 12, 52,215, 90,  4,  9,202,172,236,139,129,  9,  9,
- 40, 53,110,163,187, 69,  5, 49, 17,  3,136,248,211,158,139, 20,209, 34, 58, 81, 94, 14,139, 40, 58,149,146,214, 33, 48,187, 50,
- 17,  3,197, 20,186, 24, 83,136, 30,194,234, 82, 26,186,174,139,161,239,135,161, 31,250, 46,110, 44, 23,195,208,111, 46, 54, 66,
-234, 66,228,161, 31, 82, 26, 66,138, 93,191, 96, 14,169,235, 54,134,197,198,185,243,151,175,220, 80,201,160, 54,214, 58,141,235,
-  7,251, 43,  1, 69,212,104,171,229, 16, 83,196, 46, 68, 10, 24,  8, 84, 81,124, 53,217, 74, 95,125,250, 36,115,132,128, 79,190,
-  0,170, 78,188,157,115, 76,224, 93,118,164, 34,126, 82, 34,  6,195, 98, 96, 76, 84, 69,144,140,128,180,152, 56, 80,167,122,207,
-163,249,243,214,108,252, 30, 70, 53, 99,102,213,230, 58,246,153,155, 24, 77, 26,100,173,148, 66,  8, 38, 16,  0,205,164, 52, 30,
-153,219,166,  4, 40,204, 85,184, 28, 64,218,209,143,179,231,221, 37, 54,215, 76,188,160,206,128, 77,  5,145,193,140,168,209,224,
- 41, 18, 33,214,226, 10, 59,250, 29,  4, 65, 90,248,101, 54,227,104, 45,  0, 29, 14, 29, 99, 66,107,247, 93,  3,241,203, 17,250,
- 13, 88,221,203,213, 58,166,191,243,245, 63,254, 39,255,219, 63,255, 96,239,120,209,199,190, 31,182, 55, 23,125,140,162,117,255,
-240,120,181, 94,249, 37,177,133, 97,  5,114,173,117, 53, 78, 83, 57, 93,175,171, 64,223,197,223,254,207,254,246,151,191,244,133,
-237,243, 23,185,235,215,167,167,211, 56,214,169, 96,  0, 98, 98, 12,128,160,117,170,181,164,229, 50,246,195,222,253,123, 91,231,
- 46, 20,149,175,127,253, 79,198,211,147,211,211, 92,113,249,202, 23, 63,123,229,202, 53,131,122,116,112,124,116,240,248,195,247,
-239,220,253,224,206,155,239,127,  0,  2, 67,162,213,241, 88,107, 61, 61,205, 27,125, 56, 29,215,185, 10, 24, 22, 67,138, 28, 99,
-152,114,110, 17,  1, 39,216,182,173, 23,184,  0,114,182,153,142, 33,136,170,154, 33,177, 58,170,199,  4,209,136,208,225,203,196,
-164,  0, 20,121,145,186,147,211,245, 56,142,193,209, 87,  6,238,181,  5, 69, 32, 20,160,107, 23, 47,158,223,217,230, 16,179,148,
-113,156,128,  8, 57,112,234,227,144,167,147,227,144, 15,111, 92,222,  1,182,135,  7, 71,129, 67, 45,181,134, 41, 32, 83, 76, 87,
-175, 92,254,212, 11, 47,188,249,238,187,196,  0,102, 49,242, 98, 24, 20,237,232,248,100, 42, 18, 41,  4, 74,219, 11, 50,196,170,
- 26, 66, 36,  0, 53, 75, 33,  5, 67,  1, 67,  9,100,234,183, 46,  6, 40, 98,103, 81,106, 59,219,216, 56, 70, 64,181,182,193,160,
-165, 36, 16, 77, 76,146, 49, 32,154, 87,189, 35,100,173,137,162,153, 26,  9, 26,131,170, 17,219,204,167,  6,  3,242, 53, 63,243,
-114, 99,227,224,232,144, 17,144, 64,197,103,198,112, 86,243,  8,  8, 37,103, 69,234,135,174,102,169, 82,204,212, 20, 74,206,234,
-121,116,  2, 84, 82,109,213,196,128, 64,106,171, 41, 99,128,200,  9,152,165, 72,223,241,148, 53,198, 88, 69,156,129, 32, 13, 38,
-131,193, 25,168, 98,142,142,226, 64, 17, 81, 12, 85,  0, 64,  3,114,  5,173,106, 78,120, 85,171,168,209, 12, 74, 21,117,174,121,
- 53,  0, 76, 72,147, 40,134, 16,124,208,  5, 86, 53, 86,169, 14,155,103, 53,  0, 32,  7,112, 10, 26,136,148,158,147, 81,176, 70,
- 54, 52,  4,159, 38, 28,119,166,228,122,171,218,143,117,216,121,188,172,101,125,221,225,102,179, 81, 14, 26,174,167, 69,229, 67,
- 72, 51,226, 79, 83, 12, 49,176, 95,233,189,196,195, 91, 79, 13, 64, 85,  9,168, 50,138, 65,154,239,  1, 78,143, 10, 76, 69, 20,
-196,136,221, 99,225,130, 20, 40,130,170, 17,161, 26,154, 21,117,199, 54, 57,  3, 94, 17,  3,  0,138, 26,177, 17,154, 86, 85, 50,
- 13, 52,173,166,169, 78,206,102, 88, 14,131,  2,214, 34, 67, 23, 98,140, 93, 74, 49,112,100,238, 83, 74, 41,246,125, 55, 12,253,
-198, 98, 99,209,197,190,235,151,139, 97, 99,185, 57,244, 41,164, 52,244, 67, 23, 83,236,251,174,139, 28,250, 16, 34, 49, 15,203,
- 97,177, 92,218,  5, 43,181, 74,214,211,233,244,184,200,116,184, 98,172,129,172, 75, 76,104, 41, 80,  0,  8,193,  2,161,  2,163,
-136,187,104, 85, 42,152, 63,173,174,206,179,169,205,182, 25, 66, 82, 40,254,140, 59,207,178, 52,184, 37,160, 47,114,125, 91,219,
-162,235,124, 86, 60,101, 20, 72,205, 64,218,246,141, 40, 52,114,157, 49,153, 99,201,218,137,215, 18,174,110,200,  7, 11,190,212,
-117,137,199,107, 71,126, 44, 60,130, 42,245,172,213,  9,200, 95,249,190,  5,118, 77,161,189,146, 64, 60,  8,127,150,199,  5,  1,
- 72,203,142, 82,210, 71,135, 31,197,161,156,207,143, 60,247,122,184,226, 35,150, 43, 45, 55, 67, 72, 82, 39,205,197,196,165,127,
- 68, 48,213,218,186, 83,196,186,197,178,172, 79,254,213,239,254,222,159,252,249, 55,223,120,255, 94,  8,233,250,133,115, 67,207,
-187,123,143,214, 83, 77, 41,113,160, 24, 34,  1,100,147, 44,181, 78, 53,  4,222, 30,250,  7,  7,107,  5, 74,221, 48,112,248,123,
-255,241,111,254,230,111,254,135, 39, 99, 62,157, 38, 91,143,181,102,  4, 98,138,104,  8,130,  2, 21,212, 56,134,245,225, 94,183,
-220, 62,125,120, 63,198,240,206,219,111,188,241,195, 31,140,171, 41,246, 91,151,175,223,122,230,185,231,187,110,200,227,250,244,
-244,104,239,193,253, 59,183,223,189,125,247,222,238,227,199, 23, 46,236,252,242,151,191,120,184,247,240,159,253,203, 63,150, 22,
-119,103,191,161,  3,129,204,  8,105, 63,238, 17,177,235,152,155,105,205, 98,160,234,121, 22,175,190, 33, 66,162, 34,210,224,213,
-237, 44,244,240, 46, 48,130,170, 56,195,107, 42, 82, 72,151, 67,  7,132,165, 40, 52,246,121, 11,239, 40, 40,170, 94,127,226,210,
-176, 88,  2,112,169, 39,235, 60,185,121,137, 57, 46,150, 27,235,245,234,217, 23,158,123,231,173,119,158,121,234,169,189,147,215,
-196, 52, 49, 77, 37,135, 16, 82,133, 62,245,159,124,241,229,156,203,131,199,143, 17,  3, 34, 86,173, 93, 76, 23,182,183,198, 90,
-199,245, 58, 75, 97, 36,119,242, 32, 98, 35,  5, 17,110,117,139,163,113,157,157,148, 81, 52, 48, 86,  5,102,211,218,158,152, 24,
-147,255, 97, 34,243,164, 69,213,220, 10,233, 16, 68,  4,164, 64,226, 55,133, 51, 59,151,226, 56, 21,167,180,183, 64,  3,243, 92,
- 12, 65,160,154,107,113,110,177, 84, 89,141,167, 45, 11, 46,149, 17, 77,  8, 16, 68,140, 25, 66,224,128,152, 11, 24, 88, 45,162,
-106, 82,213, 11,175,252,227,102, 34,169, 16,  2,120,139,152,169,137, 89,  8,205,  1, 15,140, 86,  4, 25, 69, 32, 75,217, 14,132,
-  8, 35,181,110, 73, 96,215,143,177,148, 98,104,  6,148,  2,213,138, 58,151, 32,128, 66,136,113, 90,157,142, 37,119,204, 51, 64,
-219,175, 32,104, 85, 49,249,  9,172,196,104, 85,129,180, 84,224,192,102, 38, 82,115, 21, 55,211,177, 18,  2,155,170,129,154,106,
- 98, 54,138,226, 62, 59,153, 41,232,  6,128, 26, 17,149,168, 74,235, 66,  6, 80,155,193,181,224,140,243, 86,155, 77, 74,134,115,
-  6,199,124,231,235, 95,117,228, 64,168,222,249,192,205, 13, 29, 56,148, 90,141,176,168, 85,133, 24,217,239, 90,204,232, 94, 88,
-149,106,192, 70,205,253,205, 72,  4, 20,129,178,170, 18,249, 75,148, 42,198,192, 42, 85,196,140, 80,196,  2,187,133,202, 39,128,
-179,151,141, 33,128,138, 82,236,  1, 10,113,  3, 24,  6,102, 85, 53, 83,169,146, 69, 15,142,143,  3,211,162,239,  2,115,145,202,
-196, 93,  8, 33,134, 24, 99,223,167,101,215,167, 46, 49,113,159, 82,223, 58, 78,226,214,114, 57, 12,253,114, 88, 14,139,190,239,
-250,141,197,178,235,251,152,186, 20, 35,167, 62,198, 46, 48,239,108,108,  2,162,200, 54,  0, 86,209,146,203, 84,166,147,117, 70,
- 19, 21,141,164,129, 17,161,166,  0, 12, 76,224, 55, 11,100, 12,  4, 34,160,  0,232, 73, 14,  5, 53,191,236,  1, 32, 96, 45,202,
-158,160,101, 86,135,109, 32,  3,212,118, 19, 21,109,189,211,  1,139,  2,250,192, 79, 72,110,160,243, 73,170,153, 12,145, 61,199,
-174,224,179,181,223, 42, 60, 31, 23,126,124,159,226,179, 82,243,235,195, 89,161,161,157,225,225,177,149,192,105,123, 28, 63,202,
- 93,  0,249,123,218, 35,209, 98,132,152, 87, 25, 86, 69,177, 81,213,154,162, 32, 45,166,217,206,108, 83,  0,168, 83,134,184,158,
-100,146,113,173,146,141,  0,129,193, 23,173,102,  0, 12,148, 22, 27,139, 58, 30,255,238,191,248,231,191,255,245,111,223,223,125,
-244,228,149, 75, 87,207,157, 83,162,191,251,159,254, 39,122,248,224,247,254,240, 15,127,248,206,135, 53, 67, 45,202,140, 12,112,
- 97,123,249,241,231,158,121,229,211,175,188,244,242,203, 95,251,131,127,245, 59,255,215,159, 46, 22,139,197,114,241,179, 95,249,
-153,195,227,163,169, 40,130,  6,198,237,157, 29,173,178, 30,215, 90,107,173, 37,164,168, 98,199, 71,135,181, 76,125,205,143,247,
- 31,223,187,115,103,117,114, 20, 49,225,246,185,143, 61,247,210,197,139, 23,145,104,117,122,116,184,247,232,238,  7,119,222,185,
-243,222,189,  7,187, 99, 41, 95,248,220,167,127,246,167, 94,125,226,242,133,175,126,245,171,134,152,124, 86, 36,208, 42, 76,196,
-110, 90,  7,231,245, 75,203,143,207,165, 98, 42,128, 64, 41, 80,  0,118,174,  3, 49, 70,226,117,173,244,145,169,180,137, 26,158,
-130, 39, 98, 81,  3,130,192, 92, 74,166,212,153,128,168, 34,145,103, 36, 35,205, 17, 74,132,103,159,190,153,186,142, 67, 24,167,
-105, 53,174,201,147, 21, 72, 16,121, 88, 12,100,112,237,169, 27,111,252,232,205,203, 91,155,247, 14,142,186,  5, 33, 96,174,165,
-235,122,100,234,251,238,229,231, 95,122,248,237,111,  0, 97,  8,193, 12,198, 60,109, 44,150,  9, 33,103, 46, 42, 33,134, 64, 84,
-196, 84, 37, 49,  3, 34, 41, 12,125,199,132,235,113,116,204,104,187,233,213,179, 10,  6, 21,169,134, 24, 76,153,153, 77,209, 95,
-131, 70,232, 70, 99, 68,  2, 71,235,121, 57,152,170,138,197, 96, 42,243, 42, 10, 25, 60, 15, 98,  4,  8,106, 76,220, 69, 20, 17,
-151,114, 24, 40,144, 91, 29,  0,136,141, 10, 54, 62, 27,149, 82, 67, 12,102, 86,155, 69,193, 16,160,138,197, 72, 14,253,225,200,
-193,247,215,134,102, 80,197, 84, 84,201,  8, 64, 21,173, 42,  7, 42,  5,138, 84, 52, 44, 69,192, 32,113,168,156, 85, 17, 20, 24,
- 13,145,156,201, 14,  6,162,202,204,173, 50,  4, 17,136,178, 72, 41,  5,206,112, 82, 51,105, 91, 93,181,182,182, 11,  3, 38,  3,
-  9,196, 98,213,185,208,162,162,166, 82, 21,  0, 42, 88,136,  0,132, 80, 27, 80,176,197, 88, 68,146,251,246,154,  3,143, 16,200,
- 64,208, 67,195,115,131,181, 41, 40,250,250,167,109,  0,213,144,180,253, 76,223, 82,179,  2,  2,198,  0, 62, 48, 82, 96,  6,204,
- 42, 96, 38, 34,213,  0, 56,200, 56,249,197,159, 80,  3, 55,194, 41, 19, 86,169, 85,180, 75,  4,  6,206,143,137, 41,168,  1,  6,
-244,152, 76,195,178, 83,131,254,180,158, 44, 70,102, 34, 51,113, 49,246, 44, 85, 67, 13,189, 76, 14,240,111,155, 29,159,135,149,
-208, 87,130, 54,247,131,130, 34, 76, 99,  1,203,107, 64, 12,206,105,212,190,239,134,126,240,237,151,147,241, 67,  8, 93,  8, 41,
-121,182, 54, 13, 67, 90,246,195,230,230,198, 48,116, 27,253,114,177,232, 67,136, 33, 82,138, 67,236, 98,215, 59,165, 34, 14, 67,
-183, 92,110, 35, 50, 82,144, 50, 22, 17,171, 50,150,241,184,228,105, 26, 29, 19, 23, 73,186,200, 41,  2,145,  5,162, 64, 32, 82,
-124,155,104,  6, 94,  4,198,132,160,100,100, 90,107, 51,197,107,171,243, 64, 67,116, 11,141, 35,  3, 20,  5,209,179, 90,214, 32,
-148,142,105,129,121,187, 47,132,200,  1, 76,156, 63,  8, 38, 18, 40, 32, 67,  0, 51,138,140,181, 45, 93,  0, 20,136,144,192,155,
- 43, 85,219, 11,216, 31,186,217,158,239,221,194,243,171,105, 94,188, 54,245,198,171,254,128, 65,180, 89, 34,129,  0,213, 13,181,
-224, 94, 76,192,179,254, 64,  3, 83,168,117,125, 10,106,134, 98,173, 48,170,130, 54,242,188,106,237,135,205, 59,111,254,232,119,
-126,231,159,124,239,245,183,158,122,242,234,111,255,194,111, 97, 89,255,213,155,183,127,229,215,126,253,197, 23, 62,206,225,147,
- 31,127,229, 39,111,191,249,218,201,193,241,122, 28,179,212,237,157,115,183,158,123, 97,231,220,185,106,134, 72,191,242,171,191,
-252,151,223,251,193,107,239,239,165,190,207, 57,199,116, 65,117, 84, 51,205,229, 95,252,254,255,253,236,115,207,191,244,194,173,
-131,131,227,197,214, 14,167,248,240,246, 59, 59, 23,174, 96, 56,247,253,191,248,250,238,195,187,169,235, 67,218,216,216,185,126,
-253,230,173,141,205, 69,158,198,253,189, 71,187,247,239,190,251,214,155, 31,220,191,187,127,188, 58,191,179,241,247,255,214,175,
- 62,243,244,211, 83,206,121, 42,227, 52, 25,114, 76,168,160, 96, 54,141,217,123, 56, 75,206,129, 90, 70,128,145,152,112,156,154,
-129, 34, 50,133,200, 72, 28, 18,139, 24, 34, 34, 82, 85,143, 76,183,207,160,249,144,192, 35, 47,115,150, 29,140,137,187, 20,213,
- 12, 24,106,173,126,102,  4, 38, 17,  1, 11,165, 26,  1, 62,113,241, 98, 26,  6,128,224,165, 43,226, 68, 42,  4,164, 46,117,253,
-201,225,254,229,243, 23,118, 47, 62,188,254,196,181,227,215,254,250,100, 61,110, 14,139,105,189, 74, 49,109,198, 24, 67,186,252,
-196,249,171,151,158,120,244,120,223,196, 60,236,105,166, 33,196, 20,226,209,170,244,  1, 13,136, 35,104, 49,245, 71,  4, 96,170,
- 83, 31, 82, 23, 35, 48, 69,211,140, 12, 80,207, 34,207,158,123,149,106,150,130, 35, 50,201,188,208,238,163,174,221,179, 55, 96,
-155,108,137, 93, 14, 78,196,110,169, 60,235,107,112,155, 54,162, 49,160, 17, 33,  3,136,170,104, 43,253, 48, 83,169,168, 58,215,
-232, 40,  0,213,246, 52, 27,128,198, 64, 38,140,156,189,111, 47,134, 96, 94,155,224, 55, 81, 49, 13,134,132,126,248, 34,129,170,
- 41,180,208,122,  8,140,  8,185, 10, 16, 17,113,151,226,170, 28, 85, 64,209, 82,107,112,100, 68,235,174,119, 75,107, 81, 96,212,
-154,205,128,153, 60,133,164,230,110, 71, 84, 19,255, 77, 53,154, 92, 51,174,  0,121, 81, 23, 65, 12, 92, 49, 16,  3,122,221,132,
-  2,205,221, 56,  2, 72,158, 68, 71,223,145,178,153,128, 26, 50, 97,109, 20,147, 54, 43, 56,223, 48,251,118, 22, 65, 45,  6, 36,
- 67, 85,209,217,191,224,  5,135, 24, 60,223,101,236, 59,  0, 53,138, 12, 80,137, 41, 79,197, 68,196, 45,170, 51,183,146,136,  9,
-160,138, 68,142,168, 10,103,211, 31, 57, 77, 22, 69,107,201, 10,228, 46,192,150, 89,156, 11,189, 92,179, 64,  0,168,214,204,209,
-158,128, 86, 51,171,198, 78,214, 69,240, 48, 67, 34,133,  0, 30,  3, 50, 49,140,  6, 77,239, 68, 81, 97,114,137,207,207, 25, 64,
-130,170, 42, 85, 78, 78, 87, 68,148,107,206, 85, 35,113, 63,116,151,206,109, 33,176,128,197, 64,145, 99,140, 33,133,212,199, 24,
-187,180,236,251,237,205,173,229, 70, 63,196,142,  3, 35, 66,228,216, 47,210,178, 95,246,139,126, 88,116, 41, 45, 23,139,205,148,
-122, 94, 14, 75,221, 70,132,170, 57,231, 98, 85,199,156, 75,205, 39, 99,145, 50,197, 72, 68, 18, 48, 37,200,204,254,  7, 33, 13,
-168, 89,208,154,175,169,129,230,164, 69,158, 68,149,144,188,207,171,149,224, 57, 54,  1,154,149,211,204,206, 18,166,109,  4,242,
- 93, 41,182, 34, 17, 23,111, 81, 41,168, 87,125,160,255,186,194,254, 41,214,150, 29,197, 25, 91,216, 32,144,243,187,125,110,183,
-108,149, 86,115, 60,206, 87,178,132,238,134, 52,108, 47, 19,152,205,252, 60,199,154,170,156,109,131,  1, 16, 60, 99,210,194,138,
-132, 40, 14,200,157,123, 92,  8,  1,203,250, 56,245,241,191,254,  7,255,197,173,171,151,239,222,187,247,228,211,207,253,194,175,
-157,239,134,110, 92,175,213, 86,204,233,233,151, 62, 27,157,173,  8,102,138,162,117, 53, 77, 82, 11, 17,109, 93,185,245, 15,254,
-243,191,243,223,252,247,255,227,233,234,244,255,253,227, 63,253,236, 39, 95, 42,130,159,251,220,103, 36,223,251,199,255,244,159,
-246, 59,151,255,167,255,225,191, 91,110,109,173, 87,167,135,239,221,223,190,244,196,219,111,191,254,163,127,251, 29,102,190,112,
-254, 34,198,157,107, 79, 63,191,177,185,137, 96,  7,251,123,  7,251,143,239,222,121,239,237,247,222,185,247,112, 87, 84, 94,125,
-229,147,127,243,103, 94,221,216,220, 90, 79,197,212, 44,161,168, 34, 64,136,140,128, 82,235,106, 53,213,118,238, 89,  8,196, 68,
- 69, 20,  8, 57,132,144,170, 19,  5,129,177,148, 42,110, 51,197,214,199, 85,205,205,  3,142,140, 80,  5, 19, 80, 16, 52,160, 92,
- 74,149,138,216, 57, 11,105, 72,105,204, 18, 56,  0,130,152, 36,138,236,145, 52,194, 44,229,252,246,206,205,235,215, 49, 68, 35,
-242,121,149,137,  0,  8,144, 17, 45,164,190, 31,134,227,189,189, 39,175,221,184,127,255,193, 79,188,244,241, 63,249,246,247,106,
- 21, 99, 90,175, 87,139,126, 48,  3, 19,252,204, 39, 62,241,198, 59,111,  3, 40, 65,244, 45,110, 36, 90, 19, 45,187,164, 42,235,
-177, 50,  3, 83,224,192,101, 42, 28, 89,115,181, 62,244,125,183, 90, 77, 14,200,117, 82, 47,153,103,107,124,156,  0, 48, 99, 10,
- 49,  4,127, 13,183, 64,135,129,154, 34, 82,138,129,145,138,  8, 32,170, 88,129, 26,  2,197, 46,194,169, 87,120,205, 17,144,185,
-212, 91,125,152, 48, 36,192, 82,179,  9, 24, 65,160,160,104, 21, 49, 48, 57,102,151, 16, 34, 81, 49,245,174, 15, 19,169, 82,217,
- 67, 32, 64, 98, 42, 34,179, 82,239,100,142,143,186, 99, 77, 13,  2,  4,223, 55, 68,102,230, 42,165,170,106, 85,  1, 68,173,  4,
-172,162,162, 21, 12,  8, 65, 90,234, 16,173,168, 21, 53, 50, 96, 38, 14, 63,  6, 88,242, 36,  3,144, 59, 60, 17,193,196,  9, 31,
-170,138,128,165,138,235,117,165,228, 90,164,148, 60,229,  9, 48, 32,182,214, 89,108,162,138,123,215, 12, 69, 20, 98, 35,135, 96,
-115,196,129,153,137, 90,160,102, 90, 51,210,179,148, 13,145, 10, 84, 80, 81,117,  0,149, 57,181,  6,140,252, 31,157,213, 90, 48,
-166,198,171, 51,132,192, 44, 50, 19,148,  1, 65,161,138,132, 24, 92,208, 71, 34,  7,110,183,242, 57,103, 99,182,208,  2, 55,254,
- 56, 16,162,162, 42,152, 19,244, 76,171,112,138,238,181, 63,235,144,240,151, 56, 49, 19,133,162,170,106,165,136, 74,145, 86,188,
-225,230, 90,109,233, 47,104,  8, 73,231, 46, 82,211, 32, 56,144,231,129, 49,197, 40,106,  1, 39, 36,132,170,  0, 84, 76,173,202,
- 56,214, 72,  4,136, 83, 41,155, 41,254,250, 87, 62,151, 49,221,125,240,120,255,160, 76, 66,102,150,186, 20, 57,116, 33,118, 41,
- 12, 67,223,245,221, 34,166,229,114, 99, 88, 14,142,200, 31,150,155,129, 83,215,247, 41,198,174,219,100, 14, 64, 40, 34, 42, 90,
-107, 45,181, 20,201,171,156, 81,  4, 64,  8, 20, 13,  9,148,164, 32,149,198, 45,168,138, 72,100,  6,  4, 34,218,162,163,190,180,
-213, 51,129,254,172,107,188, 77, 27,230,109,213, 32,179, 17,  1, 12,140,220,118,105, 18, 60,209,214,100, 76, 36,243, 48,147, 57,
- 89,179,133, 85,189,182,  4,129,253,252,118,138, 72, 43, 74,161,134,158, 60, 75,132,159, 21,188, 54,195,101,107,150,247, 34, 10,
-  3, 32, 19,223,156,180,222,173,185,175,182,109, 22,253, 91,  1, 30,216,111, 96, 32,155,214,171,103, 94,126,245,191,125,225,149,
-191,126,237,  7,247,119,247, 95,254,244, 79,110, 44,135,170, 50,142,147,183, 18, 87, 44, 58,213,  2,100,166,200, 33,116, 61, 96,
-226,224,206,127, 57, 62, 58,124,230,149, 47,253,214, 47,127,247, 31,253,238,159,255,254, 31,253,241, 31,126,245, 15,179,216,171,
-159,127,245, 23,191,252,234,149, 39, 46,221,123,116,244,143,255,217,255,249, 91,191,254,139, 23,111, 60,253,232,254,251,223,253,
-203, 63,189,255,225,189, 39, 46, 95,234,250,115,221,246,149, 75, 79, 92,235,250,174,150,114,240,248,193,189,123,239,223,190,253,
-222,238,227,199,123,135, 39,215, 46, 95,248,229,159,251,210,179, 31,187, 89,170,230,162, 78,196, 68,179, 82,106, 10,148,115, 77,
- 41, 36,194,172,245,172,101, 48, 48, 25, 88, 41,237,238,201,173, 65, 17,180,150, 24, 67,  3,255,155, 34, 82, 23, 66, 36, 86,212,
- 62,244,129, 99,169, 83,104, 95, 16, 99,  4,171,194,205,160,107,102, 54,149, 82, 69,137, 33,133,120,108,107,  5, 19,149, 62,  6,
- 38, 86,213,203, 23,207,159, 63,183, 35, 83, 33,  2,198, 48,229,105,115,103,203, 84, 65, 77, 16,  8,121,216,216,180, 90,203, 84,
-164,212,229,230,198,243,183,110,190,115,251,195,197, 98, 89, 76, 79, 86,171, 24, 34, 18,239,108,109,253,244,171,159,255,198, 55,
-255, 98,123, 43, 54,245,192, 32, 32, 64,  8,129, 40,151, 34,106,  8,213,170,155, 45, 96, 18,149,245,180,209,119, 57,231, 50,  9,
-249,133,147,192, 61, 26,230,136, 20,176,113, 44, 33,250, 24, 73,128, 21, 20, 20,154,255, 29,205, 59,136,173, 93, 37,153,  0,141,
-209, 57,122,168,  8, 10, 16,230,154, 75, 34,246,206, 25, 19, 80,118, 86, 95, 40, 50,169,  0, 70, 34, 79, 85,181,251, 99,123, 84,
-221,196,227,140, 86,105, 59, 68, 48,192,192,172,136, 80,108,102,216,168,  8,169,153,170, 32,177,182,154,224,198,171,100,162, 92,
- 85,179,  0, 66, 32, 46, 82,189,140,147, 57, 80, 64, 18, 82, 21,100, 16,  5, 37, 85,246, 29, 43, 16, 49,205,236, 67,111, 74,246,
-111,107,169, 10, 34,149, 24,209,178, 42, 97,  8,204, 14, 58,103,162, 92,203,152,199, 92,171,168, 17,123,  2,201, 47,206,216,240,
-147,165, 26,154, 40, 16,104, 83,  7,207,112,164, 45,173,138, 17, 24, 84,193, 85, 43,  5,211,202,177,243, 83,180, 81, 74,253, 92,
-197, 89, 70, 69, 52,102,127,206, 98,100, 64, 44,165,118, 41, 65,107, 28,157,155,127,  8,  0,173,170, 52, 10, 35, 34,128,149, 70,
-196, 68, 64,114, 88,  5, 51, 17, 18, 83, 69, 68, 82, 84, 95,181, 16, 11, 84, 81,  0,226,  6,253,113,190,  2, 34,136,186,127,158,
-185, 25,233, 69,106, 27,100,165, 86, 17,108,165,135,164,222,129,171,166, 86,129,146, 17,241,172,107,185,132, 65, 45,253,  6, 48,
- 43,165,208,168,194, 36, 85,171, 40, 24,184, 48, 82,115,205, 50,254,212,167,159,187,122,235,217,245, 52,174,199,114,122,188,126,
-184,247,248,195,135,251,123,135,167,123,251,  7,187,143,243,186,136,153,197,212,117, 41,244, 93,183,217,247,195, 98, 88,246,125,
-223,165, 97,177, 92,244, 93, 76,221,114,177,164,190,235,187,129, 41,246,125,223,117, 11,224, 77, 19, 99,131,177,142,106, 88, 74,
-169,146,167, 34, 90, 39, 68,144, 58, 89, 89, 71, 54, 68, 75,232,208,117,243, 59, 93,179, 45,169,129, 10,  4,114, 52,142, 65,115,
- 34, 25,176,104,109,101,115,158,178, 82, 80, 85, 36,  2,162,128,128, 69,132,137,153,169,170,128,130,170,178,211,149, 13,124, 89,
- 67, 62, 96, 40,152,168, 57,132,221, 90,119, 54,158,189,  5, 26,150, 20, 26,239,114,174, 69,129,179,194, 66,151, 25,208,218,143,
- 25, 23, 14, 14,178, 35,112,158,131,186,  6, 68,193,177,213,136,132, 70,156,210,241,241,254, 15,190,251,189,141,157,115,159,251,
-201, 87, 13,235, 84,203,204,198,153,111,158, 94,206, 24,  6, 32,103,181,144,212,104,160,104,102, 90, 86, 99,249,165, 95,253,141,
-239,252,240,141,187,143, 86, 28, 35,146,125,251, 91,223,250,254,191,249,158,129,113,160,127,251,253, 31,156,219,217,250,248,173,
- 15,238,190,247,218,176,216,186,126,243, 41,142, 59, 91, 23,175,158,191,120,145,  0,215,167, 71, 15,238,222,126,231,157,183,111,
-127,248,225,222,254, 33, 16,126,254,149, 79,252,252,151,127,114,115,115,123, 61,121,105, 17,181,148, 31, 65,158,166, 24,226,225,
-201, 90, 85,226, 48,152, 41,187, 85,  0,204,251, 67,166, 60,133, 46, 34,162, 84, 11, 33, 40, 32, 83, 64,226,200, 65,181,130, 98,
- 96,114, 87,104,136, 36,210,212,217,234, 14, 86,244,190, 48, 43, 85,212,140,  1, 35, 51, 50, 30, 29,158, 94, 46, 59,232,188, 67,
-116, 53, 27, 66, 32, 51,187,184,115, 46,198, 80,242,180, 30, 79,246,246,119,223,191,123,119,235,194, 19, 59,151,119,238,221,185,
-131,200, 64,132, 16,226,198,210,224,244,227, 47, 63,255,253,239,255,224,202,249,115,239,222,249,176,214, 26, 82, 55, 78, 99,138,
-  9,204,166,105,122,230, 99, 79,223,127,240,225,238,238, 94, 86, 97, 33,226,192, 28,170, 76, 10,132,196, 82,115, 31, 98, 11,214,
-  2, 35,192, 88,166,190,227,154,101,202, 25,200,133, 83,252,104,199,167,170, 38, 89,129, 25,125, 34, 97,102,255, 25,238, 65,100,
- 66, 84, 50,240, 64,157, 87,240,144, 17, 73, 85, 69,136,115, 13,152, 63,128, 14,109,  2, 85, 10, 96, 98, 30,162,159,125, 71,222,
- 75, 57,183, 53,207,221,237,162,115,108, 17,155,  3, 65,205,136,152, 17,115,123, 29,107, 35,234,177,247,142, 49,128, 16, 50,219,
- 28,212,  2, 64,194, 68, 93,145,181,181, 22, 40,152, 59,229,209,249, 22, 64,126, 86,138,123,164,  4, 32,130,113, 83,164,244,163,
-248, 31,162,106,157,239,187,138,192,206, 77, 65, 38, 70,100,166,106,170,138,235,105, 34,112,142,136,  1, 67,  8, 81,212,121,136,
- 13,166, 70,212,250,212,200, 26, 49,202,212,245, 89, 52, 20,132,208,228, 44,112,203, 49,169,130,128,249, 16,222, 12,203,237, 80,
-215,143,216, 53,  6,140,200,196, 34, 66,136,129, 57,134, 16, 57, 76, 86,218,155,190,217, 94,  3, 25, 76, 83, 81, 80,238,153, 12,
-144, 40, 24,152, 33, 35,  4,100,116,148,184,153,127,193,209,213, 52, 80, 52,227,118,247,159, 75,239,230,238,103,159,242,108,126,
-167, 58,245,147,  9,165,106, 76,177,193,149,206,196,131,234,114,131,153, 40,177, 54, 44,168,191,223,212,  0, 41,163,133,179, 44,
- 60,249,219, 17,230, 93,189, 54,184, 21,232,208,119,160, 80,170, 76, 89,170, 90, 63, 12,203,141,141,235, 79, 94,121,197, 84,173,
- 78,171,233,248,116, 58, 60, 57,121,180,119,252,225,195,199,199,199, 39,187,135,235,119,246, 30, 49, 16,135, 24, 99, 92,116,221,
-194,219,202,151,139,148,226,144, 82,223,117,203,205,229, 98, 24,210,176, 72,161,139,169, 15, 93,159, 98,232,187,  4,184,129,128,
- 34, 86,107, 45, 82,242, 84,171,140, 83,169, 71,199,  7, 90, 39, 64,136,100, 41, 98,112,  8, 49, 35,  4,  0, 52, 45,  2,166, 72,
-212, 80,  4, 88,207, 42,  0,219,180,220,  4, 31,  3,128,  0,136,204, 76, 68,126,115,159,  9,115,220, 70, 35,156,231, 29,153, 93,
- 59,218,218,151,124,213,238,113,190, 51,111,109,251, 63,209,252,138,  4, 35, 10,205, 86, 43, 98,118,  6, 28,155,127,  7,168, 72,
-212, 26, 16, 68,103,205,198,213,212, 38,189,246,203,197,157,183,223,124,251,173,183,158,121,241, 19, 79, 62,121, 45,143, 43, 95,
-214,158, 81,233,231, 87, 10, 35, 48,119, 29, 84,209, 42,  6,162,102,  4,164,136,104, 92,166,245,112,254,210,223,255,143,126,243,
- 31,254,207,191,179, 22, 93,164,196,220,155,217, 84,242,141, 27, 79,126,229,179,207,125,255,  7, 63,250,179,127,253,173, 95,249,
-247,254,198,206,133,235,214,111, 95,190,116, 61,245, 73, 74,126,252,104,247,253, 59,111,191,249,246,219,247,118,119,143, 78, 86,
- 79, 95,187,250,115, 95,249,252,167, 95,122,174,212,114,186, 58, 37, 10,115,166,205,119,100,178, 94,143,200,188, 92, 14, 71, 39,
- 71,181,202,233, 58, 15, 93,231,238,211, 20,152,  9, 77,133,160, 99,226,214, 96,228,141,110, 78, 89,  3, 82, 53, 36,244,122,  7,
- 12,  4, 94,107,197,  8, 98,232, 41,149,192,222, 63,153,115, 65,194, 46, 69, 70,220, 24,122, 96,170,181,133,142, 20, 32, 48,130,
- 97, 49, 91,110, 44,106,173,167,235,227, 71, 15, 31,188,245,238,237,199,135,  7,  8,244,196,141,155, 15, 62,188, 75, 76, 42, 80,
-115,  9, 28,180, 11, 96,112,225,220,249, 71,187,123, 23,183, 54, 31, 31,175,153, 43, 48,143,101,138, 28,  0, 56, 97,248,244,203,
-159,250,218,159,255,185,100,169, 38, 68,152,107, 33,196,113, 26,183, 55, 55,145, 81,234,156, 53,  2, 52,208, 24,120,154, 74,107,
- 66, 96,140,214, 40,218,  8,173,141, 26, 12,171,213,226,216,237, 90,141,216,137, 67,220, 28,  6,  8,100,181,109, 35, 20, 16, 11,
-152,214, 26, 66,192, 89,125, 64, 98, 83, 81, 51, 84, 65, 32, 81,233,  3, 23, 53, 38, 48,163, 42,  2, 86, 20,185,170,204,104, 87,
-223, 58, 16, 50,  5, 98, 53, 13, 33,204,132, 16,106,  4,120, 66, 41,102,232,133,179,254,155,225,102,227, 84, 96,106, 21,172,126,
-234,161,145,128,198,192,165,  0, 40,136,148, 38,103,122,115,182, 59, 14,169, 49, 19, 68, 53, 56,106,194,209, 54,102,222,227,201,
-164, 76, 92,109, 38,250, 50,204,210,100,107,229, 16, 53, 98,246,202,181,128,220,113, 90, 75, 70,  3, 66,176,106,238,170, 79, 93,
-170,181,186,202, 31,136, 82,164, 81,102,212, 19,179, 25,  4,162,224,172,121, 98, 36,  6, 19,103, 57,240, 76,140, 34,  0, 80, 84,
-242,165, 50, 34, 24,  3,180,194, 59,166,152, 82,169,153,145,186, 46, 96,235, 33,108,118,108,114,167,188,170, 51,143,  3, 49, 26,
- 98, 64, 82,183, 92,205,104,251,249, 64,245, 39, 95, 91, 89, 13,147,191, 97,173, 32, 50,130,  6,240, 96,143,182, 68,156, 19,  6,
- 65,179,216,130, 76,138,136, 10, 51,199, 24,171,106, 85, 37, 52, 84,117,127, 18, 82, 19, 49, 28,179, 37,109,249, 55,  7, 42, 20,
-204, 26, 86,104, 61, 77,139,190, 35,255,249,160,129,195, 36,226, 60,122, 68, 70,175,112,143,132,  2,102, 86, 74,157,114, 65,201,
- 70, 68,200,155, 91, 27, 59, 59,155, 79,223,184,246,121,198, 42,186,154,244,240,248,120, 92,173, 30, 62, 58,216, 61, 56,124,184,
-123,120,120,124,112,247,116, 92,151,194, 28,250,174, 95, 14,105,115,185,185, 92, 14,203, 97,232, 82, 26,186,126, 88, 44, 83, 23,
-134,197,208,117,203,174, 31, 82,215, 19,112, 23, 40,198,222, 44, 33, 80,222,220,200,185,104,149, 42, 53,151,188, 42,197,106,182,
- 73,188, 27,  9, 76, 99,  0,174, 26,216,156,253, 82, 77,212,239,106,106, 82, 13,  9,204,212,241,224,161,225,109,204, 92,196,161,
- 48,135, 19,218,150,135,156,216,212, 40,187, 13, 97,102,115,183,121, 75, 91,180, 80,107, 35,103,122, 95, 65,107,197, 85, 85,106,
-  0,119,100, 50,177,138,192,134,128, 76, 86,107,  3,190,123, 45, 57,147, 67,225,103,224, 59, 48, 49,199,244,198, 15,255,234,225,
-131,135,175,254,212,207,116,137, 75,206,134,  4,218,172,198, 51,163,222,121,109, 94, 83,  9, 16,  9, 74,213, 42,166,128,236, 55,
- 53,  5,179, 92,234,203,159,249,201,255,242,239, 62,252,135,255,235,255,177,151,243,206,114, 25,136, 33,132,251, 15, 31, 28, 30,
- 94,255,249,159,121,245, 15,254,236, 59,255,207, 55,190,251,219,127,239,179, 55,159,186, 89,242,180, 62, 57,122,112,247,246, 91,
-111,188,245,246,157,219,143, 14,247,  9,249,151,190,252,133,159,253,210, 79,132,190, 91,229,  2, 10,196, 13,209,  0, 72, 14,154,
- 55,228,213,122,146, 42,121,202, 76, 52,230, 60,149,186,189,177, 65,132, 32, 16, 34, 35, 50,135,200,132, 69,106,140,158, 20,176,
-  0,160,162,185, 22,239, 30, 34,140,162,121, 44,117,171, 27, 86,148, 25, 81,213,204,180,245,225, 26, 30, 28,175, 78,115,174,213,
-140,180,170, 33,240,162, 15, 42, 98,104, 96, 45, 36, 76,140, 41,  5, 50,189,114,241,  2,160,173, 78, 78,239,222,223,253,224,225,
-195, 90,100,125,186,218,220,222,222,220,218, 58, 58,216, 39, 38, 66, 82,163,148,250,147,253,131, 11,231,207,  1,234,133, 75,231,
-190,246,157,191,202, 37, 39, 76,171,213,233, 98,177, 17, 13,  5,117,107, 99,235,250,213,171,111,220,126, 39,105, 96,228,162,182,
- 96,142,172,155,195, 32, 85,214,182,134, 92,  2, 71, 23,185,167,169,174,171,228,154,137,  8,148,137, 25,  9,173,162,129, 21, 81,
- 50,237, 82, 44,103, 45,155, 33,  0,179,167, 90,154,195,198,140,  0,  2,250, 35,230,101,155, 85, 13,163,202, 76, 59,106,253,212,
-  4,216, 78, 46, 70,111,148,103, 38, 66, 96,130, 82,220, 52, 66,190, 51,114, 54,125, 96,170,185, 84,151,  4,  0,138, 86,107,239,
- 79, 84, 21, 85, 96, 34,109, 88, 21,112,202,143,155,187,131,119,199, 49, 17,153, 20,147,128,  0, 86,165,189, 57, 12, 21,125, 49,
-168,196, 13,154,128,109,131,170, 10,  4,132,104,170,226, 59,238,179,158,  3, 48,  3,106,141, 58,  0,200, 52,  3,245, 12,188,238,
- 10,207,244, 42, 32, 96, 68,  4,168, 62, 14,152, 53, 24,167, 17,136,154, 25, 19,154,161,145, 67,113,153,200, 28,181,143,140, 64,
-134, 14,161, 67,107,225, 82,  3,172, 32,145,189, 95,154,170,169,206,226,181, 91, 43,  9,185, 54,243,143, 74,173,104, 94, 82,224,
-197, 18,138,  0,  8,  1,160,120, 12,157, 34, 17,  6,  3, 77, 49, 96, 35, 27,160,255, 10,  6,216,156, 22,136,134,216, 90, 62, 21,
-152,201,204,136,141, 42,130,130, 48,  0,114,155,250,112,238, 97,199,134, 74,241,211,219,187,166,249,204, 60,237,  6, 28,192,170,
- 34,136,192,192, 16,  8,218,237,133,  0,  1,188,174,143, 60,159,133,214, 66,255, 85,100, 44, 37,165,228,119, 93,  3, 80, 45,166,
- 74,148, 20,129,108,182, 50, 33,129, 26, 81, 48, 80,228,132, 72, 98,130,166, 42,168,106, 80, 12, 12, 24,233,220,206, 14,157,219,
-190,113,253, 18,  1, 17, 71, 83, 59, 58, 62,126,255,254,195,253,253,227,187,187,143,223,253,224,193,254,254,227, 10, 24, 57,165,
- 24, 99,138,139,161, 31, 82,215,165,184, 92, 44, 22,253,176, 88, 14,169,239, 23,221,144,186, 94, 74,  9,137, 56,164,148,250,190,
- 11, 68,189,225,  0,136, 62, 19,228,169,230, 60,213, 82,  4, 85, 40,173,203, 88,243, 24, 44,  7,208, 64,144, 98,240,155,165, 33,
-149,170, 72,234,212, 85,212,234,163,114,245,236,164,206,205,226,205,107,131,118, 54,119,183,157,183,232, 71, 96, 27,175,121, 66,
-242, 22, 56,199,251,157, 45,122,253,110,136,206,128,245,250, 52, 36,255,182, 89, 21,  0,116,220,121,195,204, 56,151,187, 29,219,
- 22, 99, 87,167,252,163,255,239, 91, 99,145, 87,191,244,101,144, 92,114, 37,246, 10, 94,  7,164, 10, 48,183, 11, 41, 34, 18,113,
-  8, 96,104,181,182,168,173,  3,173,213,187,132,166, 50, 78,218,117,175,124,241,103,255,171,146,255,151,127,244,187,170, 86, 16,
- 82,215,125,226,169,107, 55,174, 93, 44,180,245, 83, 95,252,242,239,255,241, 87,223,124,239,157,167,110, 94,127,252,240,238,135,
-119,222,251,209,235,175,127,248,240,193,106,189,190,250,196,165,223,248,165,175,124,250, 19, 47,172,214, 57,151,  2,134,134,228,
- 34, 44, 48,207,105,114,116, 86,236, 48, 12,143, 15, 14, 61,107, 84,107,109,226, 77,  0, 19, 99, 34, 51,139,129, 79, 78, 87,  6,
-200, 28, 74,169,216,166,249, 14,  0,  0, 32,  0, 73, 68, 65, 84,  0, 48, 78,147,136, 18,177,223,241,167,169, 78,181, 44,210,230,
-209,201,236, 65,110, 62,101,  0,213,117,201,  0,166,100, 94, 86,141, 40,  7,167, 83, 21, 56,157,214,170,194,  5,121, 24,  8,105,
- 53,213,141,197,242,201,107, 87, 84,  1,205, 98,  8,170, 16,152,137,  3, 32, 94,190,254,228,234,248, 88,193,136,130, 72,145, 90,
- 56, 17,102,187,114,229,218,135, 31,124,120,237,252,246,237,251,123, 93,234,  8,105,202, 35,165,193,  4,250, 56, 60,251,177,103,
-222,124,239,109,191,246, 91, 41,194,174,240, 88, 85, 25, 82, 55,230, 73,209,186, 20, 77,109, 28,143,195,153,255,206,107,177,154,
-185,202, 26,246, 24,169, 39, 96, 14,140, 88,221, 84,219,142, 60,156, 67, 72,104, 77, 43, 55,143, 73, 80,112,182,109,243,201,105,
- 59, 51,204,136,177,181, 88,  0,128,  4, 10, 85,177,212,234,187,110, 59, 11,182,146, 17, 16, 32,156, 78, 83,173,149, 40,148, 42,
-162,160, 85,213,212,115, 73,  6, 90,179,  2, 96,241,230,179, 51, 72,151,106, 53, 75,  8,  0, 32,197, 28,245,104,  4,145,156, 56,
-  8,129,200,  2,174, 38,149,230,  3,113, 79,112, 75,214,170, 88, 11, 95, 55, 49,209,192, 76, 92,122, 80,160,128,  8,214,165,132,
-222, 44,104,138,166, 78, 71,160, 64, 10, 38,165, 26, 66,138,254,110,145,150, 65,197,136, 48,193,124,192, 25, 88,  0,102,100, 53,
-160, 16,163, 89,169,238,255,116,132, 84,187, 63,185, 66,234, 83, 87,171, 53, 69, 48, 85,241,244, 92, 19,236, 17, 76, 57,250,202,
- 25, 99, 74,136, 24,136, 67,160, 82, 73,  5, 20,194,153, 48,163,230, 44,115, 32,  2,164, 64,129, 61, 69,217,228, 47,194,224,134,
- 74,153,243,239,238,109,132,134,229, 34,140, 38,213, 85, 51,178,118,136,  0, 96, 68, 42, 46,113, 49,  0,  2, 35,198, 20,171, 56,
-218, 11,220,217,195, 78,152,117,  6,150,123,230,137,204, 76, 84,197,188,189, 22, 27,201,171, 26, 48,113, 32,132,136, 48,130,225,
-184, 94,  7, 64, 41,  5,  0,106,117, 82, 10,  1,128,214, 90, 91,219,164,249,220,216,108, 38,  0, 96, 66,232,207,114,101, 10, 85,
-231, 21, 40,130,138,130,175,121,167,108, 90,135,174,123,249,217,167,136,136,  3,155,192,233,106,117,255,225,222,251, 15,118,239,
- 62,124,180,127,116,180, 58, 62,126, 92, 30,139, 40,133,200, 68, 49,134, 46,117, 67,223,111,110, 44,150,221,178,235,220,176,223,
-245,156, 32, 82, 23, 83, 76,125,138,129, 99,136, 93, 23,227, 34, 50,149,170, 99, 30, 49, 46,214, 57,173, 78,215, 42, 50,141, 35,
- 83,141,108, 93, 64,  4,101, 20,196,  8,170,193, 68, 76, 75,153, 50,167, 14, 66, 12, 68,160,234,  9, 44, 66,171,165, 58, 54,217,
-119,252,168,115,105,136,175,216,231, 71,198,159, 29,155,137, 60,115, 23,  8, 50,162,168,163, 15,  0,189,165,207,188,227, 27,206,
-194,132, 14, 62,155,105,242,134,104, 76, 33,245,253,189, 15,110,191,245,214, 91, 79, 92,125,242, 83,207,220,146, 90,196,129, 14,
-170, 68,173,248,219, 95,203,205, 84,103,134,254,212,250,  0,230, 64, 31,  4,145,106, 90,165, 86, 51,236, 54, 54,215,171,211, 85,
-169, 63,253,115,191,246,151,255,230,181,239,191,249,225,185,243,203, 47,125,230,197, 39,175,223,192,180,179,125,233,218,147, 79,
-222,184,245,236,115,223,254,214, 55,191,243,205,111, 60,122,116,239,157,247,239,222,223,221, 77, 49,252,205,159,254,194, 87,190,
-248,202,206,206,198,241,233,137,  9, 57, 55, 10,193,152,216, 89, 75, 51,107, 15,204, 32,231,130,102,  8, 18,  2, 29,159,172, 17,
- 33,  5,114,173, 53,134,212, 26, 65,  9,203, 52, 30,156,172,159,189,114, 65,204,200,231,127,  0,118,118, 23, 82, 85, 72, 28,136,
- 24, 72,207,116,198,  0,  8,  8,147, 72,171,  9,118, 78, 91,155, 78,  3, 34,104,181, 44, 85,170, 25,209, 82, 58,  2, 36,198,157,
-115, 59,  0,104,104,165,214,245, 56, 10,104,169, 19, 24,108,110,109,159,191,120,241,209,131,251, 30, 37, 83,  0, 14,105, 26, 87,
-177, 22,209,122,253,210,229, 49,215,199, 71,167,203,197,162,230, 98, 93, 87,  4,166, 90, 46,156,191,240,226,115, 47,253,245, 27,
- 63, 52, 84,100, 38,  3,231, 65, 86, 21, 14,129,152, 83, 96, 21,157,242, 20, 83,164,166,146, 35, 18, 86, 49, 62, 51, 91, 48,197,
- 64,  8,192, 68,103, 65,182,249,184,110,231, 49,205, 20,106, 36,240, 24, 53,120,220,135,  8,204,136, 49, 96,155, 70,125,211, 91,
-192,203,118,168,157,100, 76, 14, 67,  7, 36, 21,209,246,242,100, 85, 37,164, 46,  6, 53,161,179,248, 44,136, 15, 46, 49, 34, 88,
- 28,167,170,214,120,185,222, 17,232, 99, 10,131, 49, 48, 18,120, 86,209,237,227,103,125, 33,106,  6,140, 86, 61, 58,  2,106,202,
-  4, 69, 45, 17, 89,169, 13,186, 99, 58,  0,136, 32, 35,213, 25,240,109,160,166, 22, 18,171, 97,159, 72,170, 77, 69,212, 32,250,
- 90, 81,193,200, 98,136, 37,103, 49,175,254,  1,114,235,154,  9,130,183,  0, 97,196, 48, 89,241, 87,130, 33, 84,173,  0, 16,136,
-196,148,137,138,202, 89,  3,179,155,233,  2, 17, 16,144,153,137,113,194, 58, 59, 74,103, 74,  9, 32,145, 26,136, 89,240,205, 37,
- 81, 66,119,121, 85, 21,181, 90,205, 89,194,128,236,126,156,217, 92, 17, 40, 84, 45, 58, 85, 71,209,104,129,172, 82,212, 84,  5,
-252,  4, 80,107,186, 79,187,227,152,162, 81, 96,  0, 20, 85,213, 25,170,131,138, 94, 72,171, 96,218,160,184, 72,100, 82, 35,181,
- 46, 51, 19,136,145, 75, 21, 36, 12,136,168, 86,177, 38,140,110,236, 83, 80,  4, 34, 34,  0, 82,200,136, 17,220,138,225, 95, 52,
-194,177,150, 15,118, 31, 46,151,155,  1, 64,212, 11,183, 81,  9,130, 97, 36,110,142, 44,152, 95, 68, 72,190,253, 50,  3,179, 36,
-206,224,246,163, 76,196,237,153,173,203, 14, 99,214, 90,215,162,  0, 85,197,105,111,215,110, 92,186,113,227,178, 84, 83,173,185,
-216,193,201,241,122, 53, 30,156,172,238, 62,120,252,232,224,120,255,240,228,224,240,224,246,251, 50,137,116, 33,244, 67,183, 53,
- 12,155, 27,203,197,224,170, 78, 23, 99,  8, 49,  6,102, 14,188,232,135,126,177, 97,128, 76,212, 49,165,141,  1, 16, 77,151,185,
-202,152,215,171, 82, 84,205,196,  8, 52,231, 26,  0,204, 36,151,105, 69, 20, 49,154,  0, 96, 96,207,163,148, 60,149, 34, 49,117,
- 76,237, 64,  7,248,104, 63, 51,191,141,231,182,207,150, 92,197, 25, 85, 67, 42, 34,254, 84,139, 81, 74, 64, 51,116, 12,207,184,
-144,  6,222, 60, 98,237,219,105, 10, 24,160, 27,134, 31,254,187,111, 63,184,183,251,153, 47,124,113,217, 15,165, 76, 96,103,163,
-135, 11,212,216,182, 88,  8, 94, 54,227, 99,156,169,168,  6, 78,157, 81, 33, 51, 45,160, 90, 85,133, 25, 79,215,211, 56, 78,160,
- 19,199,225, 79,255,244,143,150,139,254,223,127,245,147,215,111, 92,235,250,157,173,203, 31, 59,127,233, 98,223,167,163,195,195,
-131,195,147, 90,243,215,190,241, 53,230,184,187,127,116,227,210,185,191,243, 27,191,120,243,230,149,170,245,100,157, 17,137, 24,
-173,101, 14,128, 29,118,229,127,247, 34, 68,172,146, 93,135, 58, 30,215, 27,105, 80, 85,230,104, 64,162, 58, 78,217,192, 98, 72,
-  1,153,129,  3,  7,154, 53,  6, 10,164, 34,165,100, 38, 10, 76, 10,186,158,214,196,140,136,162,232,143, 16,114,195, 52,151,156,
-219,173,  8,201,180,168,168, 49, 37, 39, 22,130, 34, 32, 17,136,212,113, 66, 83,184,121,253,210,102, 63,148, 82,215, 39,171,227,
-211,147,245,152,189,  7,  0,145, 21,244,226,181,235,  7,  7,251, 37,103,100,102,235,197, 86,253,162,159, 86,211,141,235, 87,111,
-223,185,247,233, 23,159,255,131, 63,255,150, 72,103,160, 37,231, 16,186,117, 30,197,236, 83, 47,189,248,248,241,131, 41, 79,136,
- 88,173, 34,176,136,169,104,129,106,102,145,217, 84,178, 40,163, 54,127,171, 95,  2, 29,201,224,166,  5,194,196, 92,196, 40,134,
- 64, 44, 94,165,209, 50,214,200,140,115,109, 19,  8,248, 38,137, 56,132, 48, 44, 78,167,201, 27,238,213,123,190,124,186,167,217,
- 97,  0,160, 34,174,126, 55, 41, 86,144, 17,144,130, 80, 83,126,128, 72, 84, 83, 74, 42, 90,165, 18, 98, 17, 53, 53,138, 92,114,
- 54, 11,137, 48,144, 15,239,254,  3,  2, 59,252, 21, 77, 85,181,162,176,167,248,221,138, 43, 96,181, 86,215,137,107,153, 31, 83,
-119,188,128,219, 54,212,117, 30, 60,235, 64, 37,157,131,135,136,  2, 64,168, 34,196, 84, 53,231, 76,137,  3, 98,141,142,166,116,
- 29,218, 93, 83,173,198,  4, 77,149,137,  2,  4, 31,110, 24,168,168, 98,192,128,  9, 77, 92, 82,239, 98, 40, 86, 40,192,152, 91,
-226,156,230,214,117,239,121,106,183,104,131, 92, 37,134, 96,106,162,106,136, 17,161,158,117,166,249,215, 85,102, 68, 55,104, 41,
-234,127,156,  6,221, 57,155,230,204, 51,213,106,204,136, 74,204,158, 69, 34,100,192, 90, 74, 69,211,192, 84,154,212,210, 92,173,
-170,130,236,169,224,  6,129, 48, 66,153,239,239, 98,134, 96,138, 58,167,123, 81, 77, 29,142, 26, 35, 35,133, 73,215,108,160,206,
- 18,199, 96,  6,134,243,163,211,178, 83,140,128,193,160, 82, 67,219, 51,  5, 96,156,171,217, 34, 83,160, 90,167,245,233,176,181,
-173,166,165, 22,241,156, 57,  0, 71,118, 51, 57, 82, 80,255,  4,125, 87,238,165, 87,218, 66,182,237, 38,137,243, 26, 66,149, 40,
-168, 22, 54, 80,  3,246,175,176,137,154, 77, 83,117,170,164,243, 99,206,109, 46,207,109,111, 94, 53,125,241,249,155,166, 86,198,
- 73, 21, 14, 78, 78,246, 14,143,247, 14, 79,223,252, 96,247,246,  7,119,199, 92,204, 96,209,117,219, 27,139,237,157,237,197, 98,
-177,181,177, 72,169,219, 72,201, 66, 40, 89, 40,208,208, 45,150,253, 34,118,161, 11,137,200,182,151, 11,164, 64,115, 10,118,255,
-232, 48, 32,  5,142,125,183, 96,138, 97,102, 63, 53, 16, 77,149, 10,103, 76,188,143,  4,148,121, 91,127, 38,208,123, 76,194, 20,
-124, 17,102, 13, 18,133,102, 34,213,252,254,214, 74,100, 29,107,221,136,121, 56, 87,115,206,140, 28, 12, 93,  0,165,239,127,235,
- 95, 31,174,203, 79,253,252, 47,177, 73, 41,121,246,217, 52, 20,178, 59, 56,189, 17,121,190, 36,182, 75, 48, 24,123, 66,219, 68,
-181,106,169,163,138,212, 82,133,113,125,180,183,220,188,120,120,178,126,227,175,190,113,231,131,  7, 47,189,240, 50,119, 27,113,
-227,252,141,167,158, 30,250,206,196, 14,246,246,238,188,251,250, 59,111,189,117,111,119,119,189,158,142,198,131, 47,253,196, 43,
-127,251, 63,248,249,216,165,105,204,205,201,227,234,101,131,249, 52, 48,148,  7,186,144, 24,208, 20,132, 17,  3,194,233, 42,111,
-246, 11, 51, 99, 48,102,174, 82,181, 74, 68,170, 82,198,113, 92, 46,187,144,194,208,119, 86,205, 89,176,216,  5,207,124, 84, 81,
-164, 48,101,113, 67,120, 34, 12,204, 83,173,104,158,195,196,108,198,206, 92, 67,195,121,137,  7,145, 40,134,200,161,212, 98, 64,
-  6, 80,205,106, 45,207, 60,117,107,216, 88,174, 78, 78,205, 96,156, 10, 18,153, 97,157, 38,151, 88,251,229,230,249,203,151,238,
-221,185, 77, 72, 70,172,156,200,106,236,  4,  9, 17, 37,117,225,198,213, 75, 31, 60, 56,232,  2,155,141, 27,155,157,168,183, 63,
-224, 11,207,127,252,181,215, 95,139, 68, 98, 38, 42,161,163, 72,104,170,181,212,156, 98,159, 82, 31,235,152,197,212, 85,133, 48,
- 78,197, 16,196, 72,161, 32, 88,140,193,123,231,130,161,215,179, 27,217,220, 64, 11,166, 31,205,243,222, 22,108,110, 13, 33,234,
- 83, 44, 34,  0, 16,217,187, 79,  3, 80, 97, 96, 53, 69, 52,247, 47, 65, 53,  0, 24, 58, 94,175, 29,100, 67,106,237,195, 52,243,
- 18, 31,205,165, 50,146, 66,179, 89, 16, 97,205, 98, 10,181, 42, 16,214,102,  0, 53, 80,130,  0,  0,100,200, 77,179, 38,136, 28,
- 38,169,102, 80,205, 49,123, 64, 96,196,148, 85,234,140,225, 64, 98, 85, 84,  5, 66,168, 30, 16, 65, 37,246,118, 63, 80,113,245,
-160, 57, 60, 72,  9,137,220,202,222,199,  0,132, 81,  2, 40,120,236,  3,129,136,218, 77,137, 34, 69,  8, 43, 24, 21, 42,  0,145,
- 53, 21, 28,  1,205,196, 29, 89,156,  8, 17,201, 24,217, 25,104,174,171, 27, 34, 51, 88, 67,187, 18,186, 94,228,146, 95,169, 10,
-104,129, 88, 21, 16,244,172,202,193, 15,202,192,132, 68, 28, 88, 12,139,212,160, 54, 12,221,234,100,244,142,145,220,212,175,255,
-159,170, 55,107,150, 44, 59,178,243,150,187,239,125, 34,226,198,205,155,121,115,170,156, 10, 53,163, 38, 84,  1, 40, 76,196,212,
-104, 16, 96, 91, 55, 69,209, 68,170,173,141, 47, 52, 61,203,244, 38, 62,232, 63, 72,250, 29, 52,227,147, 30,245, 38,202,196, 70,
- 19, 93, 93, 13,160,107,206,170,156,231,225,102,230, 29, 35,226,156,189,221, 93, 15,190, 79,100, 17,102, 48, 20,204,178,110,198,
-141, 56,113,142,239,229,107,125,203, 17, 51,175, 48,156, 19,251,202, 33,153, 69, 18, 87, 77,204,139,208, 97,213,213,226,183, 98,
- 18, 78,137,221, 57, 30, 73,102, 70,236, 98,158,178, 12, 85,153,201, 84, 99, 14,165,156,136, 89,221, 65,156, 19, 45,208, 59,165,
-156,179,129,136, 93, 85, 89, 82, 34, 30,162,177, 72,214, 50,102,115,243,197,122, 94, 61,208,161,138, 85,163, 30,152,147,  0,243,
-205, 77,181,214,176, 66,148,220, 85,184, 57, 30, 36, 73, 25, 26, 90,  7,129, 92,244, 54, 76, 58, 35,196, 81,150,216, 19, 68, 85,
-153, 57,199,254,140,148, 51,145,  5,180,131,189,  1,163, 98, 24,214,224, 57,  3, 22,161, 52,115,168,147,164,196, 56,125,226,248,
-185,147,219, 66,252,207, 63,128,179,220,125,178,119,231,222,131,219, 15,118,110,220,223,185,113,247,174, 87,103,145,141,141,233,
-246,241,227,105, 50,233,152, 59,145,106,158, 82, 18,166,141,217,198, 36,231,141,217,100,115, 62,223,152,205, 38,147, 89, 55,155,
-110,228,105, 34,114,146,220, 77, 83,179, 36,180, 41, 27,  4,116,121,234,196,156, 82, 96,180,163,127, 18, 68, 48,246,181, 65, 22,
- 62, 14,245, 16,226, 81,239,244,117, 13,147, 90,205, 41,183, 14,171, 49, 19,101, 35,  3,169, 29,  5,136,  8,220,205,102,139,221,
-221, 79, 62,253,211,214,201,179, 63,251,193,187,168, 67,181,214,125, 17,137, 37, 52,198, 41, 64,  9, 13,159,170,227,142,117, 60,
- 35,215,106, 90,181, 68, 68, 80, 74, 45,253,176,218,220, 58, 33,179,141,175, 62,251,227,149,171, 87,230,243,205,119,222,126, 43,
- 79,183,231,167, 47,158, 63,127,206,171,238, 31, 60,123,250,104,231,206,205,107,183,238,222,186,251,104,231,201,238,222, 75, 23,
-206,253, 15,239,189,190, 49,223,128,164, 97, 24, 28, 78, 36, 24, 67,159,194, 29,188,140,231,  9, 30, 31, 48,213,193,101,176,162,
- 74, 36, 14, 48, 83,206,  9,210, 46, 51, 38, 97,105,120, 22, 38,137, 30,175,104, 63, 51,247,148, 83,151, 82,100,207,160,230,102,
-137, 64,132,148, 58,110,128,201, 96,116,234, 80, 43,195,105,140,247,  0,166,234, 41, 39, 33,105,203,166, 17,223,  5,247, 11,103,
-207,104,117, 85, 61, 92, 45,158, 29, 30, 12, 90,170,150, 85,127,  4, 98,  3,216,234,169,211, 47, 60,123,252,164, 12, 71,102, 76,
- 44, 44, 72,221,108,113,176,119,254,220, 11,143, 30, 63,251,206, 27,175, 93,191,253,183,132,105, 34,152, 86, 22, 81,211,156, 38,
-167,183, 79, 30, 63,126,226,209,179, 93,  2, 18,  7,163, 46,248, 21,168, 85,145,189,184,119, 57, 39, 97,172,196,220,205,140, 37,
- 53, 35, 91,196,134,132, 59,242,216,192, 52,  7,237,168,206, 68,233,110, 40,245,156,132,195,251, 96, 90,149,186,220,149,178,128,
-251, 68, 18,179,120,172,107, 91, 21, 20,172, 42,  9,143,140, 54,129, 27, 75,  2,216, 81, 97,128,  4, 57,183,237,  0, 86, 90,226,
-146,140, 28, 94, 40, 57, 81,187,193,238,165,193, 82,141, 92,140,108,132,117,113, 34,142,206,133,144, 17,132,161,230, 17,225,119,
-115,  9,219,139, 69, 60,133, 93,107,243,116, 83,236, 42,139, 71, 88,219,249,185, 51,205,220,201,  0,170,102,211,148,224, 40, 67,
-141, 26,135,248, 20, 19, 71, 95,139,155,170,144,120,107, 94, 72,212,218,214, 98,132,172, 49,182, 55,219, 59,143,  5,231,238,109,
- 83,168, 81,231, 48,206, 82,141, 61, 76, 97,177, 45,117, 53,205,179,202,102,214, 24,159,107,168, 15, 11, 57, 59,220, 25,232,186,
-108, 43,173,168, 34, 73, 93,213, 60,210, 91, 62, 26, 27, 21,222,177, 24,185, 52,230, 64, 40,187, 34,196,194,210, 91,105, 30, 22,
- 52,246, 22, 83, 50,118,  2,165,196,170, 14,102,215,138,176,116,131,  0,228,204,203,  2, 87, 37, 17, 34,202,194,193, 33,111,160,
-148,241, 57,148,137, 33, 32,165, 32,100,197,138,133,155,  6,177,126, 88, 89,155, 92, 71,195,118,226,148,132,167,147, 73,211,142,
-198,  7, 26, 19,153, 66,136,225, 76, 41,181,208, 68,107,111,130,179,146, 91, 56, 68,188, 49, 93,157, 24,  6,141,126,191, 70,133,
-129,  1, 21, 96,139,177,108,180, 26,130, 88,132, 81,188,101,140,214,116,134,118, 14,245, 10,148,170,181, 84, 16, 78,206,167,231,
-190,243,198, 15,223,125,221,221, 87,125,217,121,118,240,224,201,211,199,123,  7,207,118, 15, 14, 14, 15,158, 14,195,208,247,  6,
- 22, 18,136, 39,226,217,100,163,203,210, 77,186,141,217,116,115, 54,219,220,152, 59, 56,141,187,211,192,131, 71, 83, 20,218,127,
- 37,246,245,110,173, 55, 30,110,193,188, 49,183,218,144, 40,129,129,104,252,188, 40,183, 39,107,118, 29,145,  4, 34,230,104, 27,
-160,112, 97,173, 91, 63,220, 13,156,  4,112,184,118, 93,247,248,222,157, 47, 62,251,244,213,119,222,191,112,246,116, 93, 29, 58,
-152, 36, 16,106,205,189,227,223, 64,182,160,189, 74,106, 85, 83,110, 30,152,251, 90, 93,213,180, 58,119,229,104,255,240,240,232,
-248,246,201,203,159,127,252,217,167,159,178,227,149, 87, 94,218,154,111, 15,178,121,242,204,185,141,205,121,191, 90, 62,125,242,
-248,209,189, 59, 15, 31,220,191,125,255,222,245,219,119, 87,253,240, 47,126,254,131, 95,255,242,135, 91, 39,142,221,186,126,227,
-227, 63,126,241,193, 15,222, 42,131, 53, 90, 76,251,148,156, 99,141,220,106,137,124,108, 46,144, 58,172,170,122, 28, 46,166, 41,
- 37,112, 32,108, 73, 68, 58, 73, 34,139, 97,  8,115, 65, 18, 78, 93,167,112,135, 11,183, 14,160,234, 74, 78,139, 50,144, 68,115,
- 17, 70,238, 51,192,236,238,164,134,234, 30,186, 31, 27, 65, 18,103,227,160,120,154,249,248, 14, 17, 57, 44,119,249,226, 11,103,
-172,106,191, 42,123,  7,135,139,197,202,106, 61, 56, 92,172,106, 69, 64, 38, 84, 39, 27, 27,167, 95, 56,127,235,250,101, 38,102,
-107, 79,136,110, 54, 75, 41,159, 84,123,178,179,247,234,133, 23,110,222,223, 33, 80,191, 90,205, 55, 55,225,182, 26,150, 27,147,
-217,171, 47,191,124,243,238,189,161, 95, 17,145,169,133, 63,156,152,212,145, 57,205, 39,211, 85, 63, 48,113,180,142,146,136,185,
-115,123,250,143, 29,190, 20,150, 43, 86,173, 97,177, 72,180, 62, 31, 54,201,206,213,173,221,245,161,145, 16,  2, 28,232,181, 78,
-168, 83, 83, 14,159,182,151,184,  2,189,154,147,153,219,114,217, 51, 39,181, 26, 55, 59,  7, 44, 88, 75, 70, 22,199,228,112,133,
-135,175, 64, 13, 76,164, 16, 98,141,111,104,172,229,  3,190, 13, 30,141, 90,193, 45,176, 38,130, 51, 97,157, 26,116, 55, 11, 47,
- 83,108,194, 25,236,129, 18,106,245, 61,207,149,122, 33,110,127, 47, 53, 92, 31,113,164,  9, 61,  4,237, 38,145,183,188, 97, 59,
-208, 75, 78,210, 23,175, 90, 27,164,130,200, 35, 37,  5,103,225,112, 33, 55, 76,187, 97,240,106, 86,205, 61,137,176,  0,166,  6,
-142, 97, 62, 35,253,183,147, 89,124, 79,133,106, 17, 35,167,102,134,135,  6,229,139,204,  2, 38,107,166,150,132,205, 34, 28,143,
-234, 70,204, 26,223, 79,197, 36, 75, 39,137, 28,108, 24,180,138,208,180,235, 68,132,170,182,137,154,216,169, 17, 68,155,233,156,
-131, 91,  2, 38,120,172,224,146,  4,151, 47,178,200,165, 26, 51,192,100, 80,161, 36,146,  3,213,162,238,165, 84, 17,182, 90,135,
- 90, 39,153,196,186,168,129,131,147,  1,169, 81,245,137,133, 42,216,154,  1,132,114, 78,234, 70,165, 48, 75,102,153, 77, 82,150,
-137,161,180,105,159,220, 65, 67,181,236,193, 45,246,117, 29,187,155,  5,172,125,172, 58,183,176, 70,121,187, 98,169,185,121,188,
-117,107, 17,160,202, 36, 99,219,118,108,179,  1, 55, 37, 98,176,130, 57,162,159,209, 24, 23,184, 45, 85,196, 70, 75,178,168, 97,
- 48, 95, 28, 28,181, 74, 85,248,201,173, 99, 39,143,111,182, 56,215,160,139,126, 24, 86,195,193,170, 28, 44,150,123, 71,139,103,
-207, 14,158,245,253,163, 39,187, 67,237,157,132,  8,155,179,233,108, 58, 75, 80, 71, 44, 36, 90, 81,130,185,131, 56,121, 36,  9,
-215,225,203,231, 12,248,248,215, 51,198,204,159,251, 55,  7,113, 49, 50,226, 64, 57,121,220,219, 91,  1, 76, 99, 40,124,131, 10,
- 39, 65,165,148, 46, 79, 31,222,189,115,249,203,207,223,255,241,207,182,143,111, 14,203,165,187,147, 52,168, 60,173,253,149, 49,
-253, 71, 51,141, 42,115,  6, 25, 89,112, 55, 28,174, 62, 84, 51,167,110,186, 90,173,142, 14,158,156, 62,119,238,240, 96,247,159,
-254,254,111, 47, 95,191,122,102,235,212, 91,239,188, 86,117,206,243,147,103,231,155,148,120,239,217,211,197,222,222,206,206,253,
-155,183,238, 92,191,117,235,206,227,135,167,142, 29,255,247,255,230,183,223,127,255,221,101,223, 31, 29, 29,157,187,120,254,225,
-195, 79,191,188,114,231,237,111,191,210,175, 86, 68,225, 87,115,184,122,251,118,199,239, 69, 99, 70,197,205, 92,213,172, 22, 11,
-120,136,128,136,186,196,230,106,234, 41, 65, 93, 87,125, 15,226,105,215,  5, 47, 16,166, 17,110,234, 82,231,234,149,106, 25, 52,
-165, 20,143,116,115,205, 57,179,172,160, 32,167,232,175,171,106, 99,193,166,177,128,157,212, 84,128, 73,202,195,176,138,216,122,
-206,221,198,100,114,226,228,246, 96, 86,108, 88,244,253,106,181,116,247,195,163,197, 48,244, 16,118,171, 76,100,240,147,103,207,
-238, 60,122,176, 56,220,165, 36, 34, 89,109,200,110,253,225, 33,106, 29,250,254,187,239,124,251,112,185,122,252,244,144,133,167,
-117, 34, 93, 71, 64,213,186,125,252,196,235, 47,191,252,249,151, 95,128,197, 70,108, 88,220,141,138, 41,220,212,244,112, 89, 72,
-181,217, 95,198, 35,  8,183,103,116,104, 39, 68,194,174,202, 96, 87,131,140,214,234,241, 72,182,174,203, 14,221, 70,  1,114,103,
-102,117, 31, 34,224,230, 22, 93, 35, 34,100,  5,  0,216, 34,196,167,146,169, 95, 90, 70, 72,131, 62, 38,126,224,160,226,102, 78,
-234, 72, 85,205,181,170,138,136, 65,157, 73,139, 69, 19,155,193,205, 33,241,100,136,  9, 16,225,239, 70,137,192, 14,168,227,  4,
- 70, 41,203,112,213, 43,197, 60, 26,105,108, 25,123,148, 67,211, 11,253,146,147, 72,220, 77,130,139,204,241, 92, 36, 99, 73,234,
-214,187,103, 17, 50,  3,145,186, 39, 34,102,104,  4,130, 56,177, 88,116,243,176, 19, 17,117,146,122, 45,205, 97,144,147,215, 26,
-241, 31, 48,151, 90,153, 60, 17, 57,161, 87, 21,146, 44, 66, 65,225,  2,216,226,221,143, 22,209,216,104,144, 19, 33,  5, 83,172,
-117, 61,113,188,  5,164,148,114, 98,138,178,139,  8,160,169, 27, 44, 70, 14,143,  2,103, 18,102, 17,  2, 23,211, 97, 40,155, 27,
-179,148, 68,213, 98, 81,101, 96,137,158,224, 56,114,162, 37, 39, 55,186, 92,212,122,162,106, 72,205,169,174,227, 25,148,225,128,
-198,128,196, 65, 78,176,102,226, 52,133,103,150, 65, 28,165,134,103,193,171,115,107, 29, 85,162,  4, 39,119, 99, 39,103, 39,181,
-212, 90, 87,184, 20, 35, 32,132, 33, 80,231,228,230,158,132,188,182,195,157, 48, 80,189,245,137,182, 38, 67,135, 86, 72,138,150,
-212, 22,211, 51,119,138,169,  6, 48, 99, 38, 85,  3, 57,106,108,216, 41,156,114,241, 24,107,193, 82, 18,181, 26,184,166, 56,240,
- 90,147,232, 98, 90, 11,126, 15,204, 27,220,197,  0,142, 98, 26,  2,131, 53,140, 65,145, 80,118,234, 38,211,233,198,198,166,234,
-133, 49, 97, 90,107,173,125, 89,148,242,120,239,232,254,195,157,  7,187,123, 79,246, 14, 18, 90, 44,185,225,250,198, 65,163, 70,
-  8,194,219,208,234,227,217,165,117, 51, 68,235, 59, 70,232,204, 88, 26,224, 30,141,151,129,255, 91, 23, 66,137, 68,241, 31,214,
-124, 45,180, 19,139,  8,231, 60,185,241,213,103, 55,111,222,249,224, 39, 63,155,111, 76, 86,203, 37, 26,194,220,104,100,218,211,
- 56,151,182,225,175, 77, 25,161,132, 59, 76,221,173,214, 58,217, 56, 70,101,216,127,246,116,107,251, 36, 76,111, 93,249,242,211,
-207, 62, 86,245,239,191,253,206,201, 83, 47, 44, 52,231,227, 39,230,147,233, 80,250,163, 39,187, 15, 31,222,125,252,232,209,253,
- 71,143,174,223,186,179,191, 60,250,209,119,222,252,183,127,249,155, 83,167, 79, 44,142, 86, 22,189,222,206, 63,248,225,247, 62,
-250,240,143,215,110,164, 87, 95, 58,191, 90, 13,204, 45, 93, 23,247,153,150,176,140,254, 64, 78, 44,210,215,162,170,221,108, 66,
- 12,117,101,161, 32,216,170,133, 61, 38,101, 22,144,  9, 97,112, 15,186, 24,152,156, 56,119,157, 12,131, 90,212, 68,147, 36, 17,
- 65, 32,141, 96,166,129,196, 38, 88,235,210,108,121, 40,  7, 75, 74, 90, 45,229,142,133,195,136, 40, 20, 91, 14,156,222,222,222,
-152,205,181,244,165, 95, 45,142,142,142, 86, 75,115,148, 90,135,213,  2, 90, 35,179,  0,213,212,229,139, 47,190,116,229,242, 17,
- 97,112, 51,225,132,228, 52, 63,102,176,151, 95,123,105,239,217,238,107, 47, 93,120,182,127, 25,240,161,234, 76,162,202,206, 88,
-186, 55, 94,125,237,241,206,163,123,143,118,178, 68,123,154,207,114,118,226,162,101, 53,212,131,163, 85, 22, 73, 89,  4, 88,149,
-194, 96,107,250,136,183,222, 33,196,232, 54,214, 62,198,138, 74,130,138, 55,206,188,110, 14, 22, 38, 53, 23, 70, 34, 82,213, 64,
-197, 48,139,185, 69, 81, 55, 19,171, 18,204,133, 72,217, 21,173,143, 62,137, 84,173, 99,225,111,220,109, 21, 70,226, 94,221, 93,
-173, 84,101, 80, 78,169,170,198, 25, 76, 53,110, 95, 13,119, 74, 99,248, 62, 32, 10, 68, 49,192,106,172,187, 67, 36, 39,225, 82,
-135,120, 32,169, 58,177, 50, 37,114,144,197, 18,120, 13,210,118,119, 87, 55,  6,  4, 82,195,122, 16,213, 46,224, 82,251, 36, 82,
-213, 19, 73,107,188,102,192,189,148, 10,145,240, 40, 39, 22, 77,  6,  2, 75, 52, 50,133, 48,101, 76,168,253,  0,184, 68,226, 21,
-136,244,150,129, 86,101,197, 96, 13, 16, 70,  2,147,184,  7,210, 43, 42,127,157,  2,180,201, 60,110, 53, 97,113,191,166,177,204,
-219,201, 16, 79, 58,234, 68,224,232, 75,169, 35, 79, 57, 54,139,110,206, 78,125,173,194,100,102,102, 54,168,234,106, 53,155, 76,
- 82, 72,203, 32,107,232,155,134,248,111,199, 10,245, 82,181, 20,131, 57,101,160, 18,152,146, 48, 19,151,161,119, 55, 99, 35, 48,
- 19, 27, 97, 53, 12,113, 18, 72,146, 72,164, 10,160,224,196,196, 81, 83,134, 74,206,141,236, 19, 68,204,182,225, 53, 38,  6, 69,
-122,182, 77,218,194, 36, 66,156,152, 27, 26,165,225, 89,162, 90,135, 24,170, 52,242,233,192,108, 30,245, 91, 12, 82,144,  4, 88,
-185,193, 52, 98, 23, 89,157,226, 66,148,228,225, 17, 18,114,243, 48,132, 52,  9,203, 45, 17,177,112, 29, 44,250,198,204,205,205,
-198,128, 35,185,179,250, 96,218,152, 21, 12,114, 36, 18, 37,136,185, 69, 17,  6,129, 59,150, 98,106,238, 90,148, 48, 54,205,  0,
- 12,246,156, 55,114,247,234,124,243,141, 75,231,132,253,201,179,189, 20,157,168, 99,124,188,173, 73,131,205,177,230, 61,133, 35,
-160,177,105,209, 56, 97,161,121,183,251,219,250,224, 29,118,199, 17,119, 57,186,107,108,221,187,205,107, 28, 20, 33, 73, 34,179,
-127,250,240,239,212,233, 39,191,250,117,162, 90,106,109,211, 58,161,157, 95,125,124, 28,122, 52,139,175, 73,232,110, 94, 89,178,
-153,219, 80, 28, 62,221, 60,126,184,183,211, 15,122,234,133,115, 55,190,250,236,235,203, 95, 62,219,221,191,112,254,244,171, 47,
-191, 90,124,186,192,100,126,252,184, 36, 62, 58,216,219,125,182,243,240,254,221, 43,215,175,222,188,123,127,239,240,232,228,246,
-177,191,254,243, 95,255,217,143,191, 71,204, 71,203,101, 91, 36,139,152, 89,  5,253,224,  7,223,253,232,163, 63,205, 38,211,115,
- 47,156,234,135,158, 71, 31,  8, 92, 67,252,141, 10, 65,195, 64, 62, 29, 22,139, 82,106,158,162,203, 73, 72, 84,157, 68, 70, 28,
-131, 11,177,170,169, 34,177,164,212,113,138, 28,129,  0,230,205,247,  6,  2, 51,249,217,227,199,159,196, 31,133, 17,132, 65,117,
-100, 10, 70, 96,143, 65, 14,102, 84, 56,134, 50,100,233,158,115,178,195,143, 88,235,185,179,103,166,147,201, 98,113, 84,170, 22,
-179,246, 68, 53, 12,171,190,133,136,220,195, 25,121,236,244,169, 99,143,182, 15,158, 62,138, 49,137, 89,104,130,220,119, 50,233,
- 86,165,136,251,249, 83, 39,239, 62,221,155,104,  5, 77,213,148,132,203, 80, 54, 38, 27,239,189,243,246,163,157,191,235, 75, 73,
- 36,238, 38,146,138,233,193,225,106,169,213, 96, 12, 38,184,132,232, 24,164,136,198, 87, 48, 70, 50,176,155, 11,163,196,109, 62,
-  5,237,207,153, 90,247,  1,  8, 66,162,120, 94,229, 27,174, 24,237,  7,176,140, 17, 33, 50, 51,167,176,119, 53,147, 73,124, 38,
- 14, 53, 51, 85,181, 64, 52,162,237,106,170,185,174,145,135, 68,106,110,230,213,145,216, 97, 13,172,235,102, 14, 13,198,141,  5,
-140,123,188,238,205, 43,121,192,111,224,166, 69, 77,171,145, 51, 71,225, 28,122,  2,135,203, 79,185,121,134, 89,216,107,192,145,
- 45,145,100,176,142,191, 39,145,169, 55, 48, 75,184, 66,181,233, 21,193, 16, 15,186, 55,141,211,100,107,121,106,137, 39,118,213,
-232,122, 99, 45,131,228, 76, 36, 93,206,181,148,161, 12, 57,  9,185, 39, 66,216,248,172,145,255, 80,204,121, 76,166,131,160,176,
-230,126, 80, 85,215, 20,100, 46, 15,115, 51,198, 81,198,  5, 82, 98,231, 64, 66,181,192, 77,152,216,159,211,221,130,199, 89,172,
-116, 50,237,203,146,103, 83, 38, 74, 68,  6, 90,244,133,225, 76,168, 14,141,133,  0, 36, 46,197, 52,225,229, 96,230, 70,237,118,
-166,238, 98,238, 67, 45,173, 38,142,152,137, 50,101, 99,147,200,166, 18,153,122,146, 54, 82, 85, 31,220,205,201, 56,156,184,141,
-139,236, 10,152, 71,141,153,143, 87, 19,155, 25,133,150, 85,  7, 90, 91, 73, 44,192,213, 81,108, 14,102, 78, 45,196, 10,107,174,
- 71, 18, 18,173,145,110, 78, 68, 84,213, 27,  0,145,156,199,126,218,246, 78,173,185,  7,102,161,103, 71, 31,123, 72,243,230,234,
- 10, 14, 31,170, 61,223, 52,196, 73,218,161, 68,  9, 92, 27, 12,210, 52,128, 19, 68, 70,138, 96,246, 16,160,176,176,134,163, 90,
- 29, 25,240, 50,206, 48,106,166, 17, 22, 17, 81,153,164,134,248, 12,118,188,175, 69,230, 17, 73,228,205,107,110,  8, 34,118,112,
- 43,219,124,219, 10, 99,125,157, 45,105, 46,118,144,196, 32,234, 17, 57, 27,227,225,163,158,204,128,117, 93,167, 58,252,225, 15,
-191,159,109,110,127,255,253,239,247,253,162,214, 16, 31, 99, 87, 18, 81,169, 56,202, 39,106,239,201,154,122, 68,112,168,169,105,
- 53,195,108, 99,243,233,195,219,  7, 71,139,205,141, 73, 95,151,159,124,248, 95, 46, 95,254,154, 36,189,251,206,183,207,156,190,
-176,223,115, 55,217, 60, 62,157, 86, 29,118,159, 62,125,120,251,198,245,235,183,174,220,189,249,120,231, 89,238,242, 47,126,244,
-221,191,252,213,143,182, 79,110,247,189,161, 88, 11,129,132,222, 66,174, 94,193,249,237,183, 95,255,248,147,171,179,141,141,173,
-121, 55, 74, 35,209,158,194,163, 77,138,  0,225,196,165, 84, 53,148,213, 80,  6, 83, 87, 87, 55,  7,167,132,161,118, 34,105, 84,
- 31,132,169,237,  1,153,136, 90,101,139,170,171, 85,103,203,156,143,109, 30,219,121,250, 12,142, 90,171, 65,213, 21,  1, 59, 29,
- 27,233,226, 28, 49,230,207, 40,113,138,111, 62,183,142,119,118,167,111, 93, 56,207, 44,110,182,234,251,163, 69,239,196,253,106,
- 24,220, 86,203,195,248,  1,238, 10, 22, 84, 37,194,249,139, 47, 46, 15,246, 85,123,212, 10,144,112,202,211,217,226,232,232,149,
- 87, 95,185,113,229,234, 59, 91, 91,119,126,247,225, 80,250,213,144,187,148,171,170,  8,145,235,241,173,147,175,189,252,210,245,
-219,119, 74, 29,230,147,105,117, 95, 14,195, 80, 85,198, 61,  9, 49, 85,120,102,170,234,132,132, 38,134,135,  2,209,114,228, 13,
-240, 64,220, 56,232, 60, 62,214, 73,  8,222,171,166,196, 24, 87,154, 22,193, 66, 55,109, 23,100, 12,230, 34,108,230,206,204,  2,
-  6,131, 69,106, 52, 94, 82,171,131,140, 43, 84,213,186,204,110, 94, 75, 53,130,122, 13, 21, 40,160,121,181, 68,205,173,155,185,
- 69,110,155,192,  0, 73, 34,211,200, 94,  0, 68,210,202,199, 84, 24,197,136,148,156, 76, 98,  8,150,181,235, 37,104,223, 22,192,
-222,145,  7,194, 68,225,  6,141,144,103,141,142,107,120, 78, 50,146,249,140,192,230,198,180,214, 67,161, 14, 97,104,141,253, 59,
-136, 41,139,196,205, 75, 36, 17,220,132,204, 61,115,156, 42, 60, 44,144,  1, 76, 83,212, 16,188, 77, 53,208,208,  2,169, 84, 91,
-218, 16,194,240, 32,197,213,234,  4, 19,130,186, 27,140, 73, 64, 36,137, 59, 38,176,193,172,148, 26,102,167,152,  7,171,147,251,
- 56,248, 67, 51, 52,242,226,156, 82, 24,158, 37,177,144,184, 85, 85,139, 35, 44, 12, 68,198,109,123, 97, 81,222, 29,226, 92, 20,
- 90,196, 17,202, 34, 27, 54,202,116, 74, 38, 49,164,171,  3, 16,145, 86,119,193, 60,122,162,218, 79,140,188, 37,152,217, 80,199,
-252, 85, 72,246, 76,166,174,100, 72,204, 12, 33, 98, 78, 49, 76,146,187, 83, 18, 42,198,194,173,255, 14,240,118,142,105,137, 75,
- 78,100,181, 53,105, 50, 89, 76, 72,174,174,180, 22, 62, 34,140, 97, 49,143,140,124,150,177, 58,187,121,131, 25,238,141, 85,228,
-186,110, 97, 85,115, 85, 99, 73,102,149, 25, 26,198, 95,132, 76,193, 22,165,243,110, 65,250,245, 54, 80, 58,152,204,226,  5, 73,
-252,157, 17,132,132,187,162, 21,249, 38,127,238,119,180,150, 58,107,104,232,214,235,215, 84,102, 27, 33,146, 77,137, 39, 31, 27,
- 26, 49, 62,195,137,216,201,128,248,188,226,201,164,227,105,217,215,244,  2,118,234,166,179,253,167,143,255,233,143,255,120,254,
- 91,175,191,242,202, 75,171,126,209,176, 98,112, 55, 29,251,100, 70, 90,153,141,176,255,181, 32,102,102,165,212,170,211,205,173,
-163,189, 39,117, 40,211, 99,219,168,245,225,189,219, 87,190,254,122,119,247,224,226,197,243, 47,191,244,178,210,124,169,211,205,
-205, 41, 51, 47,143,246,158, 62,125,112,235,218,141,203,215,191,190,123,255,241,170,232,247,191,243,230,111,127,241,163, 23,207,
-159, 53,194,114,217,  7, 21, 11,141, 99, 31,183, 63,115,114,213, 97,126,252,248, 91,111,190,248,233,103,159,253,240,131,247, 51,
-139,194,104, 92,157,132,185, 37,144, 61, 14, 12, 67,  5,211,160, 37, 39, 97, 80,113, 99,  2,136,139,105,244,102,177, 41, 17, 39,
- 73, 41, 65,146,136, 68,115,131, 84,143,181, 30,149,162,179, 99,115,134,169, 27,  9,139,123,146,  4,162,  9,139,155,246,165,228,
-201, 52,164,141, 52,198, 99, 36, 73,215,229,170,181,154, 18, 92,162,217,130,232,220,185, 51, 65,134, 61, 58, 90, 30, 46,143,114,
- 78,  7,187,  7, 76, 88, 46,163, 21,172, 62,175,150, 96,108,110, 29,223, 62,121,246,241,206,125,138,180,159,123,206,194, 68, 58,
- 12,147,217,236,196,214,137, 55, 94,190,244,229,213,187, 93,234,166,147,169, 85,115, 82,131, 39,202,111,190,254,234,253, 71,143,
-118, 15,246, 99,201, 11, 18, 98, 34,130, 40,  1,161,131,216, 56,224,180, 41,166, 93,236,238, 45,148,219,100,152, 22,136, 94,231,
-153,219,246,101,141,192,104,176, 77, 12,117,152,118, 73, 40,244,153,112,243,170,153,243, 40,216,195, 33,113,125, 54, 48,158,134,
-235, 82, 66, 91,168, 77,126, 38,152,154,119, 34, 86,  6,211,154, 82, 46, 90,171,195,220,149,204,149,140, 91,246,211, 84,153,136,
-147,112, 78,172,  1,132, 33, 38,238,136, 43,179, 26,132, 57, 11, 86,225,165, 36, 38,167, 90,213,160,132,232,118,136,209,143, 71,
-115, 71, 67,174,130, 71,119,121,124,  5, 83,142, 21, 91,169, 86,107, 73,221,  4, 68, 41,172,129, 49,225, 50,151, 90,162, 25, 53,
-  8, 78, 18, 53, 45, 73, 58,164, 82,213, 17,157, 63, 60,201, 19, 35,243, 98, 70,205,235,102, 64, 23,216, 86, 97,144,193, 73,205,
-132,192,  2,150, 68, 76,196,173,158, 45,108, 12,238,177,  9,142,151,202, 81,165, 91,181,192,188,122, 37,112, 78,212,151,202, 48,
- 24,  3,158, 89,136, 56,167, 20, 29, 29, 32,207,194,196, 73, 77,153,196,220, 13,206,145, 79,181,  6, 33,104,212,108,120,  2, 27,
- 67, 88,160,181, 17,205, 56,190, 17,163,106, 71,224,148,152,217, 66,144,200,162,  0,  0, 32,  0, 73, 68, 65, 84,220, 66,219,213,
- 90,219, 46,179,221, 10, 69,214,102, 11,196,237,  3,236,144,240,249, 17,160,198, 93, 98,206, 76, 52,208,128,145, 29, 97,225, 12,
- 52,203, 19, 68,213, 45,  0, 85,175,165,130,200,181, 58,165, 81, 23,126, 46, 20, 51,145,122,195,165, 53,237,162, 53, 34,182,142,
-145,248,156, 99, 92,143, 49,199, 92, 91, 80,200,212, 13,141,108, 48,218,106,162,113,222,227,193, 26,141,120,136,186,143,224, 31,
-143, 12,223,248,213, 26, 14,126,244,168, 51,135,113,121,189, 68, 13, 93, 74,136, 65,156,154,198, 98, 70,156,218,192,238, 80,117,
-138,186,133,216,114,217,200,123, 88, 15, 21,227,242,  8, 13,188,214, 14,198, 81,113, 54,174, 72,194,218,104, 97, 41, 24, 53, 85,
-155,204,102, 79, 30,220,255,167, 79, 62,126,239,251, 63, 57,181,125,124, 24, 22,214,248,  2,172,181,140,139, 84,105,223,236,113,
-119,  9,111, 96,123, 51,213,170, 68,233,216,169, 19,207,158,236, 16,229, 19,103,207,220,185,246,213,221,107,215,190,186,122, 53,
-117,147, 31,125,239,189,110, 99,123,229,211,233,100,115,150,187, 94,251,253,103, 59,143, 30,220,254,242,242,151,215,110,222,190,
-255,116,111,123,235,248,255,244,223,255,226,187,239,190, 73,137, 87,165,114,108,  8,220,137, 18,154,111, 34,124, 28, 18,106, 97,
- 25,202,246,233, 51,111,152,254,195, 71,159,254,252,167,223, 35,101,138,146,  2, 50,142,141, 84,235, 97, 96,131,  2, 88,245,131,
-  8,107,144,234, 68, 82, 10,159,  8,139,112, 55,153, 76,114,166,204,172,110, 85,225,168, 69,187,220,185, 19, 49,171,250,238,193,
-209,246,137, 83, 28,204, 25, 96, 50,155,166,184,114,217, 86,165,152,155,120,163, 23, 54, 15, 36, 19,152, 50,133,248, 30,  3, 12,
-155,249,201,227, 91,231, 79,158, 81, 83,119, 63, 56, 58, 90,244,131, 27, 14, 86, 75, 48,245,203, 37, 12, 68,185,173,173,153, 96,
-160,140,243, 47,189,180,191,187,211,219, 42,228,  0,115,158,206,231, 71,251,251,201,116,103,103,231,131,247,222,187,115,251,225,
-106,181,146,148,167,211,169,170,133,235,115,235,216,246,155,175,191,254,240,233,211,190, 84, 16, 79, 18, 18, 72, 64,149,108, 13,
-123, 53,179, 44, 92,204,215,163, 65,104,126,125, 89, 33,117,220, 12,118,235,  8,100,152,140, 65, 32,139,105,124,228, 79, 55,204,
-161,195,129,106, 37,214,140,230, 38, 20,181,121,163,209,114,204,223,235, 24,166, 51, 64,200,195, 60,105,166,110, 97,140,  4,171,
- 57, 27, 59,226,156,107, 17,160,244,120,205, 78, 77,164, 32, 73, 66,176, 44, 98, 85, 53, 12,141, 66, 76,158,133,147, 37, 97,150,
- 68, 66,137,105, 96,  6,  9,231, 73,210,162,195,208, 14,183,173, 49,173,173,184,252, 57, 56,201,209,106,199, 29, 85, 33, 24,  8,
- 28,173,234, 52, 62,223,168, 33,107,188,154, 54, 26,157,163, 26,152,168, 75,185,116, 98,213, 77,145, 37, 81, 99, 99, 54,107, 41,
- 57,155,215,181, 61, 29,132,201,164, 19,192, 60,  6, 91,143, 67,147,185, 10,231,204,124,160, 22,132,203, 54,123, 58,152,201,212,
- 57,232, 56,  6, 78,  4, 99,181, 18, 56,192,208,141,218,126, 66, 97,166, 48, 73, 99,139,116,  6,131,184,212,  2, 80,228, 75, 61,
-120, 12, 54,178,245,195,237,107,174,230, 48,103, 97,  2, 21,160,107,119,232, 86,110,197,225,195,144,156,136,  1,138,247,223,160,
- 93,234,180,138,214, 26,160, 31, 78, 13,112,155,226,135,127,131,229,201,205,201,200, 41,137,140,221,214,204, 68, 81,  5, 67, 92,
-106,209, 90,146,204,145,152,220, 44,248, 42, 18,142,117,105,  4,195,102,116,  1, 73,220,141, 67,169,226,181,193, 70,213,192, 96,
-136,121,187, 89,133,168, 72, 78,193,169,104, 95,207,102, 66, 71, 14,164, 68,251, 99,  6,114,  8,143,157,209,112,212,209,120,221,
-250, 44,225,102, 22,221, 77,173,170,138,217, 93, 33, 13,224,193,230, 22,240,160,209,146, 18,  2, 44,165,216, 26, 56,137,143,172,
-118,119,231,180, 86,185, 67, 80,178,245, 43,107,243,126,251,195,207, 99,172, 45, 55,248, 60,173,180,126,  0, 16,141,180,106,  6,
-165,212,221,191,121,251,243, 47,191,252,224,167,191,220,158, 79, 87,253, 82, 13, 94,122, 18,166, 44, 45, 24,213,224,121,161,142,
-197, 73,169,173,118,221, 76,205, 69,210, 98,209,175,250,199,171,195,195,249,214,214,199,191,255,255,174,126,125,229,233,254,193,
-203,223,122,241,253,119,222, 90,233,188, 71, 55,155, 79, 97,182,191,255,100,247,233,206,221, 59,215,191,188,114,245,198,157,251,
-230,254,163,239,189,249, 55,127,241,235,237,211,219,139,101,239, 69,163, 50, 13, 32, 55,  5, 85, 68,203, 15,113,140, 56,110, 97,
- 48, 32, 45,229,133,115,231,  9,242,249, 23,215,223,123,255,173, 90,170,187, 58, 68, 85,193, 76, 77,187,243,190,239,235, 80, 15,
- 23, 75, 22,202,194,102, 10, 34, 45,133,157,  5,156, 82, 78,194, 57, 39,113, 74, 44, 66,148, 51,167, 20,223, 89, 19,230,161, 14,
-238, 56, 54,159,166, 46, 39,102,119, 63, 88, 28,205,143, 29, 15,243, 70,173,189, 89,116, 40,145,  8, 20,106,214,212,141,170,214,
- 77,186, 56, 73,  5,239,246,133,211,219, 39,182,183,  8, 82,139, 29, 45, 86, 67,169,  6, 95,173,122,166,116,120,116,216,142, 68,
-107,111, 44, 96,213, 38, 27,211,147,167,206, 63,120,112,139,132,181, 12, 32, 97,241,233,198,198,230,230,252,233,238,190, 91,125,
-243,181, 75,159, 95,187, 51, 44, 23, 93, 11, 52,164,206, 25,134,151, 46,190,248,218,139,119,175,221,185, 39,240, 96, 77, 27,161,
-130,162,208,122,146,243,192, 84,181,105, 11, 10,196,206,153, 65, 86,169,184,130,220,205, 25, 12,  4,144,160, 65,106,131,110,161,
-230,235, 78,  9,139, 51, 45, 19, 83, 56,148,189,201, 27,140,214, 75,217,206,151, 86,125, 36,164, 58,188,169,147,128, 33, 73,231,
-228,174,131, 11,  7,121, 81,107,105,102,201,214, 29,105,197,149, 41, 44,191,209,138,225,102,232, 70,171, 98,141,158, 12,  2,105,
-184, 29, 52,119,157,153,182,226,235,  8,171, 54,128, 73,164,247,155,229,171,157,135,163, 37, 47,228,213,184,223,131,195,169, 96,
-109, 82,176,168,180,139,120, 32,165, 96,201, 11,108,164, 63, 34, 46, 88,148,136, 73, 17,  6, 55,120, 13, 22, 86, 60,240, 70,108,
- 27,106,173,213,109,189,114,175,  6,167,176, 45, 68,245, 29, 79, 37,171, 99,213, 87,243,234, 13,199,108,109,125,102, 46,210,170,
-163,  8, 12,171,112,239, 18, 15,149,187,110, 18, 63,222,219,121, 30,236,236,160,170, 72,112,114,174,240, 68,158, 57,171,219,193,
-209,162,150,154,208, 66,  6,222,150, 68,113,132, 52,134, 35,  5, 77, 22, 41,222, 32, 98,152,129, 91,181,185,183,112,172,106, 45,
-213,163,136,213, 57, 65,213, 71,201,167,181, 94, 49,129,153,131,208,  0,131,248, 55,115, 90,237, 31, 26,233, 63, 58,128, 34,174,
- 96,174, 90, 35,141,233, 24, 61,237,102,196, 45,109,187,142,242, 16,147,169, 66,162,242,176,185,163,199,167,  7,135,226,210,182,
- 90,237, 62, 70,102,197,193,241,150,186, 19,181,155,248,168,104,147,123, 85,192, 73,164,193,114,227,173,113,113, 51,150, 56,236,
-198, 53,194,113,222, 30,221,104,141,240,195,  4, 35,118, 53, 33, 82,131, 71,178,155,226,193, 12,134,166,245,106,191, 21,172,240,
-216,104,187,190, 69,143,229, 43, 88,255, 60, 64,173,186, 26,113,147,227,215,  4,206,160,116,198,101,238,205,204, 24, 36, 60, 19,
-226,148,228,202,231,159, 62,122,178,251,253,159,252,108,107,115,186, 90, 46,135, 97, 81,135,149,105, 24, 65,114,202,147,198, 49,
-227, 96, 10, 27, 49,220,162,197,196,188, 42, 37, 89, 45,150,169,155, 88, 61, 98,153,192,235,199, 31,254,221,181,155,183,182,182,
-182,126,241,147, 31,110,109,159,219, 43, 44,105,186, 49,155, 14,203,163,253,221,167,143, 30,221,185,122,253,198,181,155,183, 30,
- 63,125,118,225,252, 11,127,245,203, 31,127,240,222,183, 13,124,112,180, 28,143, 39,207,211,179, 49,194,181, 80, 97,156,245, 70,
-143,187,129, 74,209,179,231,206,238,238, 30,126,242,249, 87,223,125,231,205,161,244,238, 26,254,141,144, 94, 88,120,185,236, 35,
-232,156,152,115, 98, 22,105,168, 16,241, 10, 77,137, 67,196, 42, 94,153,153, 37,149,210,154,127, 28,166, 90, 22, 61, 12,206, 44,
-147,220, 77,186, 48,140, 81, 72, 61,213,188, 20,207, 41,  9, 51, 84,173,201,136,198, 68, 93,234, 34,112,191, 38, 55, 17,209,203,
- 23, 47, 77, 38, 83,117, 43,170,135,139,  5, 59, 45,151,171, 82,134, 46,243,222,193,  2,238,100,  8,144,142, 55, 22, 39, 89,213,
- 23, 94,250,214,193,222,147,197,226, 48, 26, 51, 64,153, 58,148, 50,204,230,211,251,183,238, 93, 56,123,246,201,238,225,253,103,
-  7, 93,237, 39, 41, 87,213, 78,140, 56,119,221,228,221, 55,223,190,251,112,103, 40,  3, 17,169,150, 73,202,188,126,234,  7,242,
- 59,132,181,150,237,  9, 93, 18,131, 14, 98, 41,103,161, 49,120, 17,192,145,214,217,218, 96,  6, 35,209,104, 36,153,167, 40,250,
- 52,107, 62, 56, 49, 73, 19, 43, 53, 34, 57,110,110,110,209,105, 23, 31,159, 16, 25,195,157,106, 68,178,  9,139,126,213,113,106,
-131, 45, 19, 41,  9,  9,192, 14, 13,240,111, 88, 33,201,220,216,  0, 38,115, 23, 98, 98, 17,162, 21, 72,136, 65,224, 88,  4,184,
-169,173,189,110, 10,119,162, 58,170, 77,109, 14,231, 24, 11,131,198,211, 92,124,205, 45, 10,178, 17, 83, 46,237,148, 26,193,212,
-160, 83,152, 23,159, 76, 51,193,132, 81,109,172, 77,107,253, 20,173, 27,137,195,121, 64,220, 44, 49,  4,107, 78, 62,140,220,106,
- 90,255, 15, 63,135,139, 48, 19, 33, 17, 51,215, 82,131, 15, 43,142, 34,113, 63, 98,118, 67,  0,199, 28, 34,172,213, 23,171,126,
- 99, 54, 85, 43, 13,203,109,174,104,133,160, 41,177, 17,170,214,233,116,163,243,240,250,197, 67,146,146,200,224,  0, 81,176,  4,
-215,150,146,216,208,250, 24,197, 34, 14, 73,153,114, 74,165, 84, 68, 28, 56,114,  2,100, 34, 41,231, 92,181,143, 63,220,206, 65,
- 26, 38,100,132,141,100, 29,104, 34, 48,216, 77, 61, 10,  4, 34,186,236,134,  4,238,189,152,107, 40,176, 33,111,231,148,221,170,
-185,197, 34,186, 26,224, 22,193,197,198,129,107, 43,200,  8,236,144,187,169, 41,115, 30,207, 57, 20,246,145,144, 32,157, 91,235,
- 81, 56,188, 93,163, 26,146, 91, 11, 74,228, 11,162, 50, 34, 30, 18, 18,182,137, 38, 12, 55,120,  0, 52,232,161,109, 62, 38,152,
-197, 37, 76, 22,206,124,119,119, 47, 26,136,158, 49, 44,234,227,162, 59,102,121, 38,131,166,166,173, 48,193, 67,194,140,184,100,
- 64, 32,215,149,127,104, 45,126,218, 96,115,117,117, 84,107, 73,147,205, 73,151,172,237,254, 90, 81, 96,123,188, 84,227, 44, 17,
- 42, 37,152,136, 76,114,254,232,247,255, 85, 57,253,240,199, 63, 77,137,250,213, 82, 75, 89, 29,238,214,254,104, 50, 63,157, 82,
-110, 56, 84, 97,178,  6,164,116, 50, 15, 86, 88, 45,206,105, 99,123,123,239,201, 14, 49, 29,219,222,126,112,251,201,222,157,219,
- 95,124,249,213,238,209,226,251,239,191,117,246,204,185,222,183,142,106,238,102, 19, 34, 28, 60,219,121,244,240,238,237,219, 55,
-174, 92,191,113,235,254, 99,131,255,197,159,253,248, 87, 63,253,224,216,230,230,170,154, 89,105, 27, 90, 56, 91,188,196,245,110,
- 38,106,  4, 99,250,179,134, 30,  4, 17,188, 86, 51,247, 55,222,122,245,250,215, 87, 63,253,252,202, 91,111,190, 82,139, 82,203,
-226, 69,111, 45, 86,203, 94, 85,139, 85,102,238,251,194,110,157,100,230, 68, 40,225,231, 93, 13,197,204,173,168, 51,139,184,154,
-178,187,144, 48,177,  1,253,208,  3, 94, 77, 17,244,106,134, 72,134,193,137,234,160,197, 26, 18, 43,174,206, 68,164, 68,146,164,
-170, 54, 49,211, 43, 81,  6, 83,150,244,250, 75,223,146,156,172, 47,165,214, 85,223, 19,211,209, 98,101,166,228, 60,212, 50, 30,
-254,  4, 80, 18,  7, 73,192,188, 82,158,156,189,116,233,214,213,175,163,251, 71, 77,217, 89, 82, 18,213,243, 23, 47,238,239,237,
-190,116,241,133, 39,187, 71, 71,171, 21,111,228,196, 86,172,102,201,  2,108,111, 29,127,251,213, 87, 62,250,236,179, 60,153,  4,
-183,202, 28,112, 43,160, 82,135, 40,165, 26,  5,186,104,228, 33, 83,128, 88, 25, 18,136,200,231,119,189,134,155, 54,119,138,136,
- 20,125,179, 73, 98,108,245, 36,146,152,229, 33,166, 40,102, 78,238, 74, 14,101, 23,129,172,134, 69, 18, 30,168, 70,192, 51,176,
-167,253,208,147,250, 98, 40,202,150,115, 74, 34,238,108, 81,123, 30, 37,212,196, 97, 11,246,198,187, 32,  2,229,196,173, 10,219,
-131,210, 31,  7, 12, 54,167, 90,139, 86,157,118,121,112,  8,177,  0, 66,148,153,205, 13,228,169,125,255,149, 27, 57,134, 64, 72,
- 28, 25, 74,183, 86, 32, 27, 90, 17,180,221,202,220,201, 80, 73, 51, 17,188,172,250,217,100, 18,171,137,214,205,234,238,  9,228,
- 72,204, 66,110,160, 44,121,237, 54,166, 22,182,143,172, 20, 26, 12,111, 12,165, 54,210,187,187,187,  7,103,185, 22,205,209, 34,
-194,208,218, 12,207, 77,109, 77,217,155, 81, 89, 99, 19, 91,203,160, 93,166,148,180,  6,226,110, 84, 90,160,131,171, 24, 35,161,
-235,210,225,178,159,136,  1,110,102,194, 50,159,229, 85, 79, 49,127,132,217,131,  5,132, 70,  0, 86,117,135, 53,131,160, 52,201,
-159,154,109,180, 69,124,213,144, 19,131,201,204,210,136,154, 74, 68,195,248,  2, 98,173,161,238,236,110,177,202,178, 49,150,226,
-205, 48, 82,205,122,213, 90,163,230,148,213, 91,133,232,100,146,217,106, 84,186, 27, 89, 45,218,121,172,116,226,  1,197, 24, 97,
- 60,174,202,146, 97, 26, 27,104,138,123,121,244,144,  4,189,162,113, 20,220,163,125,214,156, 64, 34,205,224,222,148,106, 33,120,
-128,109,219, 51, 54,174,  3,146,248,244,217,188,154, 21,133,  4,214, 32,136,239, 48, 43, 14,  9,  5,163, 29, 49, 48,130,247,163,
-225,  2, 60,154,246, 29,206,241,227, 32,105, 77, 23,104,224, 59,247,200, 45, 52, 33,159, 28, 36,173,203, 38,150,159, 76, 80, 53,
-181, 40,225,182,166,118,145,136, 88,248, 91,218, 36, 64, 62,166,154,152,115,102,250,221,127,254,207,105,115,235,199, 63,250, 97,
- 63,244,106,240, 90,250,229,174,150,  5,113, 38,233,184,155, 16,181,238, 34,183, 18,155, 88, 16,187,171,105,173,213, 38, 91,243,
-  7, 55,175, 87,245, 51, 47,190,248,249, 31,126,119,247,250,213,235,183, 31,156, 56,185,253,151,191,250,137,167,249,254, 48,207,
-243,233, 68,216,116,216,121,116,239,225,131,123,183,110,223,190,122,243,214,227,221,253,243,231, 78,253,187,255,238, 55,223,126,
-237,229,101, 95,130,193, 50,246, 60, 59,175, 67,133,177,151,118,139,194, 67,109, 78, 88, 48,179,143,128,111,  2, 65,109,232,235,
-107,111,190,241,233, 39, 95,236, 29, 28, 30,155,111,184, 42,  9,197,156, 65,230,139,229, 33,  8, 86, 77,161,131,112,169,206, 73,
-132,188,244, 90,173, 50, 39, 70,  9,166,152, 48,  1, 92,171,170,131, 51,187,161,148,224,146, 74,151, 82,213, 74,238,106,  8, 33,
-136, 97,213, 42,220,171,217, 80,180,235, 24,112, 53, 35, 65, 78,  9, 85,179,164,222, 43, 57, 72,140,129,227,199, 54, 95,186,116,
- 41,246, 42,139,195,189,197, 48,192,108,239, 96,143, 88,220,177, 88, 14,160, 14,  9, 30, 21,231, 77,243,115, 16,213,178,218, 60,
-113, 98, 99, 99,243,240,112, 31, 34,108,238,156, 24, 32,170,155, 91, 91,  7, 71,135, 57,167, 87, 46,156,254,234,238, 35, 45,131,
-204,166,181,104, 73, 53, 73, 55,155,230,183,223,124,235,254,206,227,219, 15, 30, 78, 38, 19,162,224,176, 81, 98, 44,139,  2, 16,
- 24,211, 88,141,198, 14,  3, 51, 79,115, 14, 33,190, 37,233,121,156, 79,133,199, 73,140,157,108,252,192,226, 34,140, 72, 73, 43,
- 22, 13,144, 57, 11, 85,175,177,111, 54,195, 36,139,171,  6, 73, 70,205, 90, 69,  6,195,129,126, 40, 76, 36,196,102,234,202,156,
-137,128,149, 89,  8,  7,213,220,217, 85,225,130, 28,233,  6,  0,204, 10,119, 83,118, 38, 66, 39,180,126,236,131,224,196,148, 93,
-114,202, 78, 43,210,177,176,184,133,189,  2, 20, 44,177, 74,117,128, 60,139,120,196,114, 49, 42, 31,  6,136,175,173,117,214,112,
- 22,214,124,201, 12,146,212,154,218, 90, 76, 10,  2,  7, 83,202, 89, 74,182,170, 53,  8, 61,196,  1,236, 72, 36, 43,175, 41,165,
-120, 57,163,211,141, 27,254,149,130,167,175,204,236,110,170,  4,212, 46, 77, 76,205,184, 61,185,194, 12, 97,  1,161,196,212,193,
- 90,205, 65,211,233,180, 19, 49,162,  3, 56, 89,195,236, 41,131, 77, 34, 84,148, 36, 19, 19,187,229,212,181,145,143, 41,113, 71,
- 52, 18, 77,198, 85, 74,108,144,100,236,172, 34,135, 16,213,102,117,109, 56, 52,  1, 87,183,184,146,  4, 20,181,115, 21, 54, 97,
-210, 26,190,239,246,155, 71,  6,216,131,208, 75, 48, 55, 19, 88,  5,  3,130, 88,113,154, 87,175,181,144,  7,141,192,165,109, 85,
- 76,131,132,204,201,161,153,120,160,208, 79, 34, 94,213, 30,118,204,112,109, 19,197,152,206, 51,208,  8,126,117,119, 24,145,216,
-120,122,112,179,118, 98, 26,195,245, 28,125,185,163,  3, 48,100,121, 35,111, 95, 10,143,139,124,132,105,147, 80, 99, 59,199,  4,
-246,156,140,235,163,250,164,186,238,201, 35,143,141, 82, 16,247,154,154,110, 66,137,208, 54, 34,214,172,118,205,222,216,188,250,
- 99,118,201,218,  3, 93, 91, 92,213, 25,121,182, 33,146, 40,108, 33, 28,107,174,102, 28, 30, 53,154,150, 97,153, 76,102,  7,123,
- 79, 63,249,248, 79, 91,167,206,188,255,221,239, 68,138, 50,190,  0, 41,117,150,231, 32, 73, 41,177, 16,140,215,141,128, 17, 65,
-132, 69,171, 56, 87,235,119,175,125,113,236,204,139,180,255,248,147,191,251,127,190,186,114,109, 40,254,189,247,222,125,229,149,
- 87, 15,250, 52,104,183,177, 53, 39,211,195,189,221, 39, 79, 30,220,190,113,227,250,173,219,215,239,221,239, 38,221,111,127,241,
-163,191,250,205, 79,167,221,100,177, 28, 76, 45,178, 24,205, 73,222, 40,121,141,109,136,209,215, 17,192,221,200,201,197,182,181,
- 61,254, 48,194,217,151,195,235,175,189,242,233, 23,215,222,124,243,181,173,249,180, 84,143,117,134,153, 61,219, 59, 82, 53,141,
-103, 36,204,160, 48,130, 72, 74, 50,203,201,201,150,171, 62, 98,249, 69, 67,163,165, 80,159,106,173, 14,144, 55,119,163, 48, 49,
-168, 14,195,203,175,191,114,225,204,153,123, 59, 59,218, 98,186,129,238,137,149,176, 20,173,165, 42,146, 44,251,158, 64,196, 18,
-205,228,219,199,143,159, 58,115,178,104, 41,253,242,193,206,238,178, 31, 86, 90,150,171, 94,152,201,125,177, 92,197,  3,219, 65,
-227,169, 50, 70,120,133, 91,202,147, 83,231, 46, 44,175, 31,154, 58,113,  2,123,242,204,146,150,139,195,173,227,199,151, 71, 71,
- 47,190,120,254,198,131,199,253,208,119,147, 41, 11,151,126,152,204, 51,119, 50,247,249,111,126,246,203,203,215,174,223,186,123,
-107,119,119,151, 36,150,114,221, 44,229,197,208,123,148, 74,199, 95,211, 84, 15, 98, 74,185,147, 78,228,112, 24, 74, 95,226,202,
- 76,227, 42,222,224, 48,197,154,102, 48,170,166,223,204,187,133,  5,158,154,  4,202, 68,150, 72,106, 84,244, 41,165, 20,223,133,
-209,  2,230, 94,181, 76,242,100,179, 75,197,140,199,210,236, 72, 88, 87,247,106,198,128, 49, 90,113,  1,164, 41,133, 54,214, 38,
- 74, 50,  7,105,141,175, 94,116, 98, 11,137,195,138, 85,215, 34,129,109,129,151,208,238,130,178,215,168,197,238,142,170,106, 17,
-141,115,111, 62, 10,  6,201,232,253, 24,253,105,  0, 58, 22, 39, 82, 81, 17,118, 71,151,186, 90,251, 90,123, 26,205,115,165, 70,
- 99, 99, 56,230,162, 14,137, 72, 28, 74,  0, 43,185,185,151,120, 44,192, 51, 49, 55,  3,223,186,176,193,163,190,131,163,160,129,
-153,106, 13, 58, 95, 72,202,230,148, 88, 44,114,118, 57, 13, 85, 55,231, 51, 34, 89, 14, 67,128, 72,218,137,170, 45,253,124,232,
-109,146, 65,206,  4,154,118,147, 60,233, 82,107,199,139, 94,119,111,227, 56, 26,150,  0,136, 42,249, 17, 24,  9,111, 60, 20, 33,
- 40, 68, 27,180,177,209, 31,216, 37, 37, 17, 73, 42, 44, 33,100,181,214,239,200, 84,232, 56, 83,214,170, 89, 18, 59, 69,248,200,
-184,185,111, 99,  9, 18,  5, 45, 22, 12, 62, 13, 66, 17, 49,  5,195,193, 89, 72,146,104,105,235, 63, 15, 33,195,218, 65, 30,  0,
- 76, 35,235, 75,113, 90,  4,199,221,131,149, 35,251, 31,103,127, 38,210,184,137,140,187,222,209,235,201, 90, 43, 37, 18, 38,239,
-152,106,227, 42, 51,177, 91,117, 34, 80,  5, 55,163,123,187, 64, 42,153, 89,128, 88,213,220,201,131, 13,215,152,  0,193,117,136,
-195,178, 89, 80,148,155, 43, 69,  0, 66,138,180,151,143,214, 64,111, 57,187,241,222,215, 14,108, 99,196, 43,150,176,146,218, 46,
-140, 27,194, 35, 36, 32, 31,  1,147,163, 24, 79, 27,179,141, 39,247,238,125,246,229,229,111,191,253,206,217,179,167,135,126, 53,
-170, 11, 78, 68,156,114,158,204,115,215,  9, 39, 83, 37,150,200,184, 18,147, 15, 78, 66,147,249,177,131,189, 71,171,197,242,196,
-233,179,229,104,177,120,246,224, 79,127,252,232,246,157,135,223,122,241,252, 91,111,188, 42,211,227, 59,135,169,219,152,111, 77,
-167,125,191,120,182,243,232,254,189,155,215,111,222,190,114,227,214,211,253,189,183, 95,127,245,223,252,197,175, 94,188,112,182,
-168, 31, 44,250, 53, 67,100,141,245,161,245,  8, 22,246, 70,230, 81, 80,139, 93, 10, 99,204,212,143, 92,228,209,  9, 65,212, 73,
-247,238,155,175,252,211,103, 95,190,245,206, 91, 39, 54, 55, 74,213, 64,204,173, 86,171,212,137, 65, 39, 20,220,108,140,112, 30,
-103,138,140,167,167,196,129,157,227, 17, 24,157,178,168, 85, 83,203,156,231,211, 41,183, 86,113,212, 82,127,253,231,127,118,230,
-244,246,239,126,255, 97, 24,253, 34,226, 19, 55,  2,201,212,155,155,150, 96,143,120, 52,234,186,178,211,185,179,103, 54,102,179,
-229,114,181, 90, 44,135, 90, 96,182, 90,246,238,  6,146, 68, 28,109,102,  1, 14, 71,228,209, 24, 48,109, 43, 57,213,237, 83,103,
-158, 61,122,180,183,255, 52, 73,142,167,108, 74,105,232,251,110, 34,211,141,141, 83, 39,182, 79, 31,191,242,224,201,209,114,185,
-216, 58,118, 76, 75, 29,106,217,152,228,227,199,142,157, 60,113,234,197,243, 23, 62,249,106,251,255,253,219,223,117, 93,183, 24,
-138, 57,152,185, 75, 57,  9,215,166,135,182,115, 34, 24,179,212,109,205,167,110,144, 36, 79,134, 50, 42,100,108,110, 50,134,233,
- 27, 76,182,173, 39,209,246, 77, 30, 38,156,118,181,212, 90,218,221, 80,141,  8,194,168,197,200, 21,148,217,161, 20,128,220,248,
-196,217,221,187,110,138, 90,133,152, 40,185, 13,212,126,115,169, 86, 18, 40, 17, 12, 20,230,  6, 38, 14, 67, 99,202,  2, 98,152,
- 49,161, 18, 11, 71,104,186, 89,146, 97, 34,164, 41,103, 93, 44, 64,172, 32, 83, 99,225,177, 30,164,181, 82,140,214, 20, 39, 38,
-213,231,221,215, 13, 84, 71, 32,162,170,202, 96,112,235,199, 20,238,178, 72,117,165, 26, 94, 69,119,184, 56,201,184,211,231,128,
- 58,172, 47, 83, 13,223,157,138, 53, 39,190,195, 34, 70, 45, 76, 10,206,192,  0,111, 94, 67, 22, 34, 22, 78,102, 42, 32,109,143,
- 14,143, 40, 99, 84,191,154,234, 48,148,156,164,214, 50,203, 27, 67, 41,165,104,219, 79,248, 90, 49,179, 86,245,  0,148, 82,213,
-245,238,131,199, 27, 27,147,179,219,103, 54, 54,242,190, 47, 35, 79,  0,176, 43,208,138,251,  0,144, 85,195,250,177,  6, 40,144,
-157,220, 24,104,121, 98, 31, 13,203,102, 49,249, 17, 11, 51,  9,185, 40,  9,115,204,163,177, 23,109, 11,196,182,118,253,  6,245,
-135,129,170,149, 19, 39,226,  1, 74, 36,238, 30,186, 32, 28,174, 70,110,148, 58, 82,135, 49, 67, 19,133,173, 76,220,130, 45,216,
-254, 47,130,  6, 78, 35,178,194, 50, 80,227, 61,115, 70,203,251,106,144, 36,107, 27,254,219, 32,213, 54,162,230,104, 99,136,187,
- 89,165,  6, 71, 30,227, 62,173,132,197, 90, 60, 34,179,171,123, 20, 74, 89,  8, 12,161, 19, 81, 64,238,192,  8,201,207,160,100,
-206, 20, 85,186, 13,240, 17, 22,228,212,104,110,230,193,251,129,141,166,173,  6, 32,138,167, 88, 20,164, 16, 51,219,248, 44,139,
-161,213, 71,173,163, 89, 85,227,250, 85,  5,167,217,108,118,253,242, 23, 87,111,220,249,209,207,127,182, 57,155, 12,101,  8, 17,
- 40,148,169,248,158, 74,238,184,155,186, 41,249, 56,188,152,186, 58, 72,186,249,214,131, 59, 87, 68,142,109,159,185,244,224,246,
- 87, 15,238,220,252,252,139,175,213,240,139,159,254,240,212,201,211,251,125, 46,190,177,177, 61, 97,199,179,167,143, 31, 63,184,
-115,245,234,213, 91,247,238,221,123,248,152, 19,253,205,191,252,205,207,126,248,221,174,203,203,190,180,214, 17, 38, 78,128,  6,
- 58,175, 73,145, 78, 99,169,132,175, 67,182,190, 38,218,227, 57,123, 39, 22,205,213,145, 98, 33, 87,180, 76,231,155,239,189,245,
-234, 87, 87,175,191,255,222,251,132,234,100, 14,175, 26,  5, 94,108, 98,109,  0, 24,225, 61, 78,212,229, 76,236, 93, 74,211,110,
-178, 90, 44, 37,145,161, 53, 69, 86,117,115,218,152,229, 90,243,116,210,169, 25,129, 38,147,201,127,250,143,255,233,252,185,243,
- 41, 73,173, 53, 62, 16,142,  1,137,200,213,132,152, 89,170,214,174, 75, 65,125, 17, 98, 23,188,124,233,188,136,184,211,209,114,
-113,184,234,139,214,229,114, 89,213, 82,102,192, 87,203, 30,166, 68,236, 24,113,125, 46,142, 66, 44,113, 21,114,162,179, 23, 47,
-237, 31,236, 82, 98,175, 85,114,118,162,201,108,174, 67, 15,243,253,221,253,247,191,243,214,225,223,127,220,187,174,250, 62,167,
-180, 88,174,220,189, 38,238,171,246,195,106,168, 21, 12, 17, 33, 20,115,119, 66, 78, 41,137, 12,218, 55, 92, 29,140,152, 79,204,
-166, 39,230,115, 35,235,  7,221,236, 38, 79,118,  3,206, 37,205, 33, 22, 18,188, 90,148,127,  9, 75,164, 57,155,189,202,161, 80,
- 56,101, 91,187,208,188,147,100, 40,203,161, 82, 74,234,102, 77,139, 78,  2, 99,184,128,138,177, 36, 73,204,165, 86,115, 75,156,
-108, 12,220,145, 25, 70,171,114, 35,205,196,176,199,  4,134, 83,220,232, 77, 40,133,224, 67,142, 20,157, 67, 74, 36, 36,137,135,
-226, 86,149, 26, 10,201,212,171,133,231, 62,142,105, 80,  5,197,252, 78, 45,200, 99,177,224,215, 81, 42, 28, 93,103,252,141,174,
-233,208,229,219, 75,227, 22, 44, 39, 15, 75, 63,188,152,101, 67,234,146, 90,137, 48, 21, 50,154, 31, 36,234,227,190,129, 10, 81,
-115, 14,104, 49, 81,232, 86,173,123,149,168, 86, 15, 56, 96,171, 86,166, 88, 38,250,  8,244, 84, 87,103, 34,133,229,156, 82,169,
-230,241, 60,224,208, 45,205, 61, 81,102,  1, 39,130,196,135, 56, 28, 29, 30,222, 92, 44, 95,186,120, 33,  9,197, 94,215,220,130,
-134, 28, 55,237,148,147,194,188, 54, 21,119, 84,101, 72,200, 28, 28, 61,230,107,131,151,153,194, 61, 17, 42,147,169,167, 76,174,
-196,196,112, 34, 78,237,222,137,152, 88, 35, 54,  7, 89,183,175, 18, 91,220,198,132,  5, 82, 85,169,148,  6, 20,115, 37,  6, 40,
-  1, 86,189,186,133,113, 50,199, 30, 81,221, 34,114,229,181, 70,195,161,251, 58,206,212,214,212,113, 91, 71, 52, 69, 50,187,246,
- 99,  1,153,135,251,206,131,144,174,218,124, 43,102,214,162, 91,  4, 33, 55,136,145,121, 37, 74,102,234, 22,224,231, 10, 25, 87,
-178,230, 90,141,153,192,228,205,245,214,218,125, 67, 51, 81,215,240,241, 48,181,244, 95,112,186,216,141,  9,201,205, 91, 67,201,
-248,130, 71, 63, 63, 71,250,118,221, 31, 20,179, 79,180,214,183, 29,113, 28,  6,252, 27,223,139,216, 34, 72,202, 57, 93,254,252,
- 79,143,159, 30,252,242, 87,127,150,115, 46,117, 24,147,177, 54, 54,183,130,121,210, 42,152, 36,173,161,146, 90,202,116,126,236,
-217,163,123,  7,123,251, 89, 38, 96,186,246,217, 71, 95,124,241,197,195,157,103, 47, 94, 56,247,254, 59,111, 87,222,216,215,110,
-178, 57,207,147,188, 90, 30, 61,121,120,255,214,141,107, 95,223,188,118,243,238,131,195,197,234,181,151, 47,254,235,223,252,226,
-141, 87, 47, 45,123, 93,245,117,236, 31,137,188,221, 55,234,118, 64,136, 86, 22,140, 77,178,113,129,141, 29, 36, 81, 72,219,146,
-188,212, 38, 37,142,197, 16, 28,156,134,126,152,111,157,121,229, 91,248,195,199, 31,127,255,187,239,147,169,171,213,190, 14,195,
-  0,166, 44,172,166,131,234,180,235,152,217, 13,147, 46, 37,102, 85,151,156, 33, 36,194, 58, 96, 40, 43, 68,111, 19,200, 77,103,
-211,201,238,254,161,164,148,195,222,199, 84,213, 58,225,174,235, 86,171, 62,214,  1, 18, 93, 90, 64, 85, 87,171, 66, 84,  1, 33,
-113,105,247,170, 68,242,173,139, 23,205,147,121, 41,181,148,126,168,234,139,229, 16,101,113, 12,233,195,135,209,142,215, 49,  5,
-214,214,248,  6,  2,193, 74, 61,118,242,196,246,246,153,189,221, 29, 73, 83,  0,176, 33,167,206, 85,207,156, 57,251,248,209,195,
-249,124,227,229, 75,231,110,220,123,178,234,151,137, 55,220,252, 96, 49,172, 68,150,203,229,193,225, 94, 95,170,154,175,106,137,
-184, 30, 25,247, 90,200,145,136,156,216,173,178,240,201,249,198,137, 99,155, 44, 98,165,100, 73, 44,220,154, 30, 61, 60, 30,235,
-114, 82,  5, 37,152,169, 87,107,157, 97, 24, 31,206,112,106, 61,  6,137,201, 13,213,234, 52,167,163,161,104,173,  0,114, 36, 72,
- 83,195,164, 56,156,196, 19,135, 63, 69,200, 44,119,201,204,213, 40, 39,238,171,  6,111, 93, 93,199,147, 44,153, 85, 55, 73,173,
- 21,181,165, 43,  3,137, 30,211,140, 59,204, 53, 81,210, 90,171,154,176, 68,161, 71, 49,139,239,174,153, 19, 17,200, 32, 57,140,
-236,147,196,171,161,170,106, 99, 48,  1,108, 49,230,141,244, 79, 11,126,223,  8, 31,  6, 37,145, 94, 53,192,226,113,231, 66,252,
-104, 51,171,106, 73, 88, 80,205,181, 90,215, 73,112,209,  2,204,107, 70,228, 69,205, 40, 49, 57,149, 96,170,132, 73,154,129,162,
-144, 20,183,221,200, 10,  7,245,194, 45, 96, 11, 32,162, 68, 84, 99,124,118, 75, 41, 89,117,  8,169, 43,140,136,137,196, 81,130,
-147,156,136, 17,186,  9, 28,100, 78,238, 93, 74, 85,245,202,141, 91,103,207,156,164, 86,129,235,  2,142,197, 26,224, 76, 52, 34,
- 65,215, 76,241,150,173, 52,119, 29,171, 13,227,170, 20, 22,145,164, 78, 65,212,240,224, 22, 83,131,172,154, 42, 55,211,109,160,
-180,198,101,114, 43,211, 50,134,132,112, 46, 34,205, 47,231,193, 47,104,232, 45, 87,116,156,140, 97,145,141, 80,  7, 88, 82, 26,
-213,172,228,228,230, 37,182,  7, 26, 85, 30, 68,110,177,134,197, 90, 61, 37,106,220,230, 80, 89,208, 16,205,218,136,114,234,237,
- 78,109, 78, 28,227,185, 57,220, 40,145,  7, 67,156,205, 92,149, 36,185, 26,133,160,159,192,230, 14,109,109,156,194,164, 10, 15,
- 88,106,227, 59, 70,185,136, 51,130,231,225,196, 28,172, 75,110, 82,167, 60,239,170,142, 87, 20,248, 56, 29,247,208,177, 71,166,
-177, 60, 18,107, 80,116, 56,236,198, 62, 91,119,228,220, 49,217,159, 62,252,112,185,194, 63,251,241,143,137,188, 31,122,  0,219,
- 23, 95,222, 58,119, 49, 96,222,225,169,146, 46,158,245,220,205,230,231,223,249,129, 14, 37, 79, 55,134,126,177,251,236,217,100,
-235,196,100,146,142,246,158,126,253,233, 63,254,238,247,191, 63, 90,149, 95,252,179, 31,188,255,254,247, 86,249,148,207, 78,109,
-110,109,165,204,207, 30, 63,184,121,249,179, 63,254,233,163, 15,255,248,199,207,175, 92, 79, 57,253,235,223,254,252,127,249,247,
-255,227,171,223,186,120,180,212, 17, 53, 62,122,  6,173,217, 97,124, 84,156,243,108,246,198, 47,254, 21,128,110, 62,127,237,231,
-127,181, 86, 62,180,157, 80,168,217,214,252,121,248, 56, 44,167,235,145,190,150,229,214,137, 19, 23,206,110, 93,254,250, 43, 22,
-118, 47,149, 52,120,153, 16,150,214, 12,202,  6, 83,237,137, 41,117,147,170,  6,162, 90,180,241,113,163,133, 12, 84,181, 38,145,
- 46,231,161, 86, 85,203, 93, 14,139,236, 80,149,184,161,119, 61, 22, 58,210,214,141, 57, 75, 39, 41, 12,113, 69, 53,154,208,137,
-112,226,216,252,252,217, 23, 74,233, 87,171,126,255, 96,121,112,120, 84, 77, 87,253, 17, 35,106, 50,160,117, 80, 83,138, 63,189,
-214,123,131,129,212,146,252, 14,179, 23, 46, 93,224, 60,225,  8,  6,114,199,146, 37,231,201,108,118,238,210,165,103, 59, 79,207,
-156, 58,113,233,204, 49,119,237,107,113,129,213, 97,185, 56, 26, 74,201,105,114,234,196,201,115,167, 79,195, 21,163,225,209,221,
-117,244, 39, 25, 40,177, 76,114, 86, 83, 98,174, 70,204,148, 68, 56,110,210, 17,207, 24, 15,215, 76,210,112,240, 12,213,231,237,
-190,109, 54,106,255,164,128,171,186,186,  2, 52, 17, 33, 10, 91,  3, 25,172, 69,100,199,181,103,180, 14,115, 56,211,137, 41,201,
- 56, 30, 70, 34,209,205, 76,198, 10,210,  0,245, 70,155, 51,195, 25,164,113,160,160,150, 79,143, 31, 45,209,231,237, 80,242, 98,
-208, 96, 25, 91,113, 88, 99,180, 68,121, 71,220, 20, 36, 63,135, 55,173,229,  3,  4,157,103, 68,179, 59, 66,223,228,248, 15,197,
-133,201, 34, 18,124, 44,  1,155, 91,175, 74,193,158,108, 93, 74, 28,163,107, 83, 29,205,162,206, 42,224,195,144,232,160,104, 46,
- 38, 97,105, 74,  1,143,102,253,128,187, 58,  0, 86,152,  1, 27,147,174,203, 29, 90, 14, 88, 56,120,190,176, 90,170,227,191, 41,
- 90,226,204, 67, 85, 51,151,  0,198, 37,158, 76, 38,147,201,116,115,190,113,124,107, 30,119,176,176, 44,132, 55, 50,150, 95, 76,
- 17,222, 90, 11,166, 35,  8, 58,134,211, 38,193, 81, 10,190,138,136,169,186,251, 80,170,213, 10,131,154, 85,171, 41, 26,100,153,
-157, 36,178,174,209,194, 99, 17,210,140,253,  4,197, 38,165,121,117,227, 90,144,113,109, 99,218,142,107,213, 85, 32, 68,208,106,
-189,150,  0,146,193,204,107, 29,185,192,173,222,  7,  6,168,187, 85,139,  1,222, 42, 53, 86,116,148, 78, 89,187,219,152,181, 52,
-112,128, 87,152, 41,177,131,180,170, 85, 87, 85,115,133,170,197, 58, 59,220,164,102,134,192, 18,137,235,152,252, 10, 72, 78,177,
-182,113, 10,254,119,216, 40,199,179,230,248, 40,180, 88,151, 70,223,173,194, 82,132,137,162, 37, 55, 96, 25,241, 80, 20,153,156,
-123,251, 59,177, 47,173,253,106,247,222,205,126,121, 68,163, 50, 31,135,226, 88,250,183, 35,140, 86, 48,165,212,245,139,131,127,
-252,199,127,216, 62,253,226,123,239,189, 61, 12,171,248, 55,230, 39, 95,112,211,253,  7,119,200, 26,217,200, 17,101, 71,168,174,
-245,232,240,238,167,255, 48, 61,118,108,119,119, 71, 73, 78,157, 57,251,248,254,237,221,135,247,191,250,234,203, 27,183,239,125,
-251,141, 55,222,127,247,237,130,217,138, 55,103,243,201,116,190,241,198,119,223,215, 90, 29,120,112,231,246, 71,255,231,255,126,
-255,217,211,239,188,245,250,191,250,245, 63, 59,127,102,187,175, 94, 75,  1,132,156,192, 78, 26,103, 92, 91,211,135, 90,237,210,
-250,139,229, 24,150,135, 87,255,235,255, 61, 78,178, 96,226,182,197, 27,181, 55, 40,136, 61,  4, 79,242,231,219, 61,119,175,170,
-151, 46,188,124,248,197,103,151, 47,127,253,222, 91,175, 88, 33,  7, 55,234, 83, 91,125,128, 12, 44, 41,137,116,147,137, 48,123,
-228,194,163,185,157, 37, 34,210, 79,247, 15,103,147,105, 24,187,147,200, 80,106, 75,135, 19, 51,203, 98,168,193, 70,  4,  1, 22,
- 97, 30,114, 39, 53, 99,162,121, 55, 17, 73,195,208,199,126,100,251,196,137,227,199,183,134,161,212,190, 63, 60, 56, 60, 90, 45,
-234, 48,148, 26,139, 44, 35, 78, 85,181,150,  2, 74, 64,  9,162,210, 55,225,185,225,192, 54,179,217,124,243,212,169, 51, 79,119,
- 30,115,238, 80,171,147,138,176, 41, 15,171,225,216,252, 88,158,228, 90,202,163,167,  7,123,203, 62, 65, 82, 74, 67, 29,102, 27,
-115,152, 77,114,254,246,171,175, 61,253,199,221, 40, 51, 19, 33,212,246, 21,230,240,110, 81, 12,186, 84,107,101, 33,102,  2, 99,
- 42,178, 82, 75, 44,213, 61,154,172,219, 33, 52, 64,142, 99, 91,233, 55,163,217,194, 76,160,138, 32,212,234, 52,231, 90,107, 16,
- 40,219,  8,174, 62,150,178, 96, 77,184, 78,204, 52,198, 67, 76,219, 91,202, 17, 48, 34,213,  8, 14, 54,105, 67,  0,147,148,136,
- 25, 68, 58,218, 60, 56,220, 32,228,125,173,135,203, 37, 17,117,147,142, 24,181,212,230,103, 32,144,179, 52, 13, 52, 56, 57,149,
- 64, 44,196, 36, 36, 66, 32, 69,227,124,193, 98,191, 26,  2,124, 11,202, 53, 72, 44, 81, 11, 80,176,176,183, 98,233,112,242,193,
-188,214,210,165,228,174,102, 22, 78,102, 53,165,148, 90,133, 20, 49,162, 99, 58,110,249, 68,193,170, 27,145,223, 26,213,179,102,
-148, 51,245,203, 18, 39,  9,206,194,165, 40, 64, 64, 81, 83, 93,177, 16,220,213,212,128, 36, 36,156,137,200, 92, 73, 46, 89, 25,
-  0,  0, 32,  0, 73, 68, 65, 84,  9, 28, 55, 61,106, 59, 81, 74, 76,185,203,129, 31,142, 66, 43, 38, 62,182,185, 97, 62,222,113,
-189,245, 20,178, 96,154,115, 74,172, 67,187,235, 18, 17, 24,108, 17,193,245,200, 15,248,168,174,132,106,212,150,149,  4,117,171,
-170,165, 86,152,173,101,247,208,187,198, 10,186,160,181, 69,201,  7,226,215,149, 78,192,100,138,136,158, 56,147,164, 88,175,196,
- 27, 38,100,  6,184,128, 11, 65,181,130,224,174,113,112, 11,125,  5,205,109,105,176,218, 52, 12, 34, 18, 66,141,218,119,179,106,
-235, 40,149,187,181, 11, 45,118, 36,104, 43,246,166, 20,141,212,175, 86,244,225, 81,179, 28,233,163, 24,251, 53,248,164, 14,247,
-  4,212,118,155,  6,199,134,154, 81, 42,115, 84,223,142,114, 34, 81, 43, 77, 80,149, 44, 65, 43, 79,145,133, 24, 87, 91,163, 92,
-220,128,  8,126,247,243, 63,192,113,252,220,197, 19, 23, 95,122,240,213,199,104,188,219, 32, 88, 24,190,121, 94,102,234,166,179,
-251,183,111, 94,189,118,253,141,183, 63,184,116,238,212,193,226,136,219, 61,209, 15, 31,223, 11,160, 86,235, 77,109, 58,141, 25,
-156, 56, 77,187,252,244,201,206,242,104,209,175, 14,231,199,207, 94,249,228,195,235,215,174,223,186,123,127,107,107,235, 95,252,
-246,215,219, 39,207, 23,108, 72,238,178, 80, 93, 45,119,151,135,238,254,127,252,111,255,225,202,237, 91,127,245,111,255,230,127,
-254, 95,255,195,127,249,191,254,227,143, 63,120,151,153, 34,134, 71, 36,204,145,108, 72,224, 58,130,  2,  3,208, 95,141, 37, 32,
- 92,107,  8,109,192, 96,209,166,152,166,222,196,191, 51, 38,159,104,180,250, 70, 33,  7, 71,  5,108,160,112,250, 82,190,253,238,
-187, 87, 47,127,249,247,127,248, 88,205, 61,234,163,122,217,200,236, 14, 73,  4, 34, 53,159,  8,107, 41,238,200, 41,117,147,201,
- 98, 56,138,163,155,  8,147, 80,173, 58,217,202, 65, 43, 77, 57,149,213,138, 17, 85, 94,  6,160, 31,  6, 35, 34, 39, 27,243,  7,
-238, 86,181,150,170, 85,221,108,152, 77,  8, 73, 88,184, 86,123,241,194, 11,179,217,198,254,222,222,106, 88, 45,135,178,234,117,
- 24,138,213, 18,112,230, 38,222,219,232, 24,138,187,209,216,232, 51,126, 58,177,202,163,211,231,206,238,238, 60,172,253, 82,164,
- 35,  8,145,164, 52, 75,124,116,230,210,133,199, 15,238,207,143,205, 47,157, 57,185,188,251,104,213, 47, 39,211, 46,229, 44, 44,
- 44,169,168,158, 56,113,252,194,133,139,215,110, 92, 39,233,140,184,109, 25, 92,225, 96,215, 76, 81, 20,156, 13,150,136, 18,145,
- 59,205,186,174,168,217,216, 57, 24, 21,166,102,113, 14,243,128,101,184,181,175, 50,185, 11,145, 39,214, 58,110,254,225, 14,174,
- 94, 34, 46, 38,196, 41, 81, 41,145,217,110,155, 58, 34,151,204,147,148,107, 45,137, 57,108,  6, 22,199,103, 33, 17,233, 52, 45,
- 67,197,104, 68, 38,112, 98, 34, 79,  4, 53,229, 72,129,171, 81, 74, 99,232,197,164, 69,139, 27,252, 44,181,145,158, 73,185,205,
- 76,113,110, 52, 39, 73,164, 14,114,133, 33,148,207, 86, 44, 20,180, 75, 48, 65, 18,149, 26,248, 18,133,187, 36,129, 59,179, 48,
-155,215, 18,222,121, 98, 49,114,102,202, 76, 10,168, 34, 34,114,137, 33,194,137,189, 68,229, 72,131,215, 66,129, 12, 74, 14, 73,
- 18, 17, 82,  9, 43,  1,155, 83, 99,162,129,134,168,234,214,234, 69,155,179,168,148, 58,203,156,115, 23, 95,167,106,154,187,137,
-181,133,103,195,150,211,120,246, 75, 73,140, 48,148, 74, 84, 77,157,152,114,202,179,105,183,209, 77, 15, 86,125, 48, 48, 90, 11,
- 94,155,103,189,148,152,166,215, 86, 59, 90, 27, 32, 44,208,141, 77, 28,  1, 11,229, 28,239,180, 19, 48, 12,149, 73, 76,149,153,
-134, 82,145,121, 50, 50,  7,195, 89, 22, 80, 67, 34,215,231, 21, 29, 28,105,216,204, 84,141,220,218,139, 79,204,194,148,  9, 70,
-112, 14, 47,146,145,129,236,249, 11,138, 35, 63,115,163,136, 70, 27, 50,185,134,163,218,107,  4,144, 42,  2,202,214,240, 10,149,
- 72,108,100,139, 17,147,170,186,129,153,132,216, 41, 57, 59, 35, 46, 39,109, 68,213, 88, 56, 71, 86, 41,  9,204, 52,138,253, 76,
-219,138, 48,210, 57,214,154,174, 73, 72, 32,198,132,245, 73,202, 91, 13, 37,137,169, 67, 72,200,145,218, 67,114, 68, 62,133,111,
-228, 57,222,222,156,152, 23,251,123,243,147,103,  9, 41, 50, 20, 39, 46,190, 60, 61,118, 28,238,139,103, 59,207,238,223,114, 85,
- 98,153, 76,167,180,185,253,238,159,191,253,206, 47,117,249,244,241,177,115, 23,143, 62,249,135, 16,124,182, 47,188, 52,219, 58,
-  9,162,229,254,211,189,123, 55, 80,149,167,211,115,111,126,239,225,181,203,167, 94,124,101, 88, 46, 30, 94,187,252,230,207,127,
-123,227,143, 31,174,150,  7, 15,110,126,117,230,219,223,253,193, 95,253, 59, 38, 60,123,112,231,193,173,135,  3,208,165,206,181,
- 30, 62,219,219,121,116,247, 96,181,248,193,175,255,249, 71,159,126,178,232,235,131, 27, 87, 94,252,235,191,254,233,  7,111, 87,
-247,211,175,127,127,235,236, 37, 16,246, 31,222,185,255,229, 31,220,120,186, 57,123,237,255,175,234, 76,158,236,186,146,243,254,
-101,230, 57,247,189, 26, 80,133,  2, 10, 35,  1,162,  9, 14,104, 14,234, 73, 77,170,217,146, 90, 99,104,136,112,135, 23,178,108,
- 45,188,241,159,224,173,255,  8,239,189, 81,132, 55,118,132, 35, 28,150, 29, 33,135, 34,100,205, 45, 91,146,155,100,143,106, 18,
- 36, 65,  0,133,185,128, 66,141,239,189,123,207,201, 76, 47,242,220,  7,121, 73,  6,  3, 32, 10,239,221,123, 78,230,247,253,126,
-223,250,245,135, 31,127,184,253,202,155,195,236,248,238, 71,127,147,186,116,233,237,111,173,158,222,174,253,124,255,254, 23,241,
- 19,237,214, 79, 93,251,230,175,221,252,235,255, 65, 68, 47,127,227, 87,242,202,169,118,111, 22,222,187,115,243,217,157, 79, 34,
- 33, 63,146, 61,218, 17,180,133,133, 64,238, 86,134,197, 27, 55,110,252,232,195,239, 63,222, 59,154, 76, 59, 34,206, 57, 87,171,
-179, 82, 54, 90,104, 89, 19,200,128,197,208, 39, 73, 66, 82,212, 88,120,168,106,176,147,249,130,137, 69,146,185,170,182, 93, 88,
- 22, 81,243,220,117, 81,154,112,130,144, 48,187,100,169,145,141,133, 17, 81,206,121,182, 88, 52,  0, 33, 67, 77, 47,159,191, 72,
- 76, 64, 61, 60, 58,218,125,182, 55, 88,237,135, 94,  3, 54, 11, 39,120,233,251,161, 44, 36,117, 99,146,201,185, 25, 82,148, 60,
-236, 99,113,255,179,201,202,234,217,243, 23, 31, 63,188,  7,130,107,  9,168, 95,238,214,230,243,227,110,210,237, 62,126,122,249,
-210,185,131,249,226,238,163,103,168,188, 62, 89, 53,184,176,  0,164,181, 94,191,114,229,201,238,110, 95,139,120,  0, 87,193, 97,
-211, 35,241, 64,222, 39,158, 45,106, 22, 94,244,101,115, 99, 45, 75, 94,153,218,124,177,  8, 27,156,155, 87,168, 54, 10, 58,150,
-116,167,168,164,134,245, 52, 60,187,161, 99,117,135,214,216,210, 27,145, 40, 84,171, 19,185,105,188,195, 90, 16, 52,115, 38, 56,
-177, 12,181,100,114,102,113,210, 26,115,127, 99,206,205,145,216,116, 30, 68, 80,114, 39,117, 54, 47,198, 98,106, 93, 74,177,239,
-100, 16, 20,147,201,132,153,213,140, 33, 78,200, 41, 11, 17, 67,204,213,162, 32, 21,191, 24, 51,107, 85,211,208, 24,250,210, 97,
- 73, 49, 61,113, 50, 82, 50,175, 70, 96,129, 23, 16,167, 78, 40, 30, 23,222,151, 69,169, 53,  0, 84, 48, 35, 22, 97,230,212,213,
- 82,152,201,204,205, 93, 72,148,144, 29, 66,164,176, 65, 73, 56,194, 53, 77,230,173,134,212, 22,162, 36, 36, 18,197,164,106, 57,
- 33,229, 92,106, 85,160,106, 25,211,150,164,166, 41,  5, 99,  2,213, 28,142,162,150, 71,142, 49, 64, 44, 20,188,169,230,138,101,
-234,178, 52,249,140,227,212,234,218,100,154, 17,168,181,178, 20,109,182,109,157,249, 11, 15,  0,141,153,114, 16,229, 36, 67, 95,
- 83,150,130,210, 96,130,106,117,168,  3, 23,114,154,247,189,169,229, 73, 50,210, 36,226,240,106,150,  9,145,159,  0,187, 27,195,
- 52, 81,151, 64, 99,212,220, 45,208, 39,209, 65, 36,102, 97,104,  8, 53,187,152,141,168,171,228, 14, 90, 85,131, 43,236, 54, 22,
- 20,  8, 47, 30,243,209,137, 49, 37,127,177, 93, 29, 69,129,212, 74, 77,193,214, 80, 72,203,192,153,133,244,216,181, 16, 51, 28,
- 22,229,  7, 55, 29,211,235,237,149,217, 40, 65,  4,102,168, 15,234,196,130, 56,208,  9, 92,157, 65,102, 96,137,102, 68, 48,103,
- 65,240, 48,228,180,151,166,197,254,138,221,192,102,230,158,104,233,230,104,253,144,216,208, 99, 57,101,118,208,234,198,102,153,
-207,226,118,117,230,234,117, 51,123,240,179, 15, 25,178,125,253,198,198,249,203, 39,187,143,221,201, 86, 79,105,173,135, 59,159,
- 15,195, 98,235,202,171,205,185, 13, 63,115,229, 53, 22,126,248,179,239,187,209,246,245, 27, 27,231,175, 60,191,255,133, 23,  5,
-209,250,153,179, 15, 62,254,225,201,225,222,249,151, 95,  3,176,251,240,139, 59,159,127,250,149, 95,255,174,176,124,250, 55,127,
- 44,147,141,107, 95,255,214, 69, 94,217,123,248,112, 62,155, 31, 62,223,125,116,255,238,205,207, 62, 59,174,229, 95,  1,156, 38,
-127,240,155,191,242,221, 63,248,151,195,236,104,222, 15, 87,191,242,109,146,116,243,123,255,147,160, 47,189,243,254,133, 87,223,
-121,244,217, 15,226, 48, 62,221, 56,123,235,239,254, 44,182,222,151,222,250,  5, 43,229,211,239,253, 73,202,114,249,237,247,218,
-151,204, 70,150, 39,252,206,  7,127, 25,223,187,213,179,231, 47,189,249,222,241,211, 71,227,151, 48,222,232, 28, 78, 57,143,196,
- 35,193, 40,126, 92, 92,170, 95,187,122,197, 76, 73,  4, 76,171, 57,247,131,101,146, 70, 91,165, 70,164,154,245, 67, 55,233,170,
- 87, 33,234, 18,149,129,220,188, 22,151, 44,194,146, 88,192, 84,172, 56,121, 53, 35,131,144, 28,157, 44,212, 52, 75,226, 70,100,
-166, 36, 34, 44, 89,166,  8,191,177, 91, 92, 85, 50, 39, 21,123,249,210,101,119, 41,131, 29, 31,205, 15,103, 39, 66, 88,244,  5,
-230, 35,113,129,204, 81,230,243,110,115, 69, 81,157,  2, 68,101, 52,142,157,192, 78,224,214,249, 50, 59,127,229,202,241,225,254,
-201,236,132, 89,152, 29,194, 83, 94, 25,234,112,250,236,217,253,253,253,211,219,103,206,236,237,157, 44,250, 39,251, 71, 73,100,
- 34,157,186,129,  5,196,171,107,211,107, 87, 94,250,252,238,157,170,234, 22,214,236, 56,144, 41, 17, 27,224, 76, 57,201, 80,171,
-185, 14,106, 14,155,138, 12, 41,107, 63,  4,247, 21, 12, 81,142,135, 75,202, 17, 26, 48, 51,152, 58,117,204, 28, 91, 71,130,107,
-117,176,112, 85, 93,153,118,117,168, 32,102,113,152,113,180,  3,173,173, 77, 44, 37,115, 45,129,206,  3,113, 13,232,188, 59, 92,
- 64,  6,133, 33,194,172,  1,217,115,117,176, 12,181,178,112,151,186, 44, 60,144, 78,166,211,161,148,  8,168,113, 78, 29, 16,186,
-212,190, 46,198, 53, 13,129,148, 18,161,132, 31,137,221,140, 13, 75,127, 49,150,146,194,152, 23, 69, 50, 61,158,110,194, 53,114,
-223, 70, 14, 19, 98, 48,169, 91,151,146,219,184, 79,107,124, 68, 33,119,225,152,167,162,204, 75, 78, 34,206,225, 87, 50,115,225,
- 37, 91,168,197,249,164,249,166, 27,165, 48,  6,102,237,175,190,125,202,169,169, 62,218,163, 73, 15, 78,250,205,211,147, 46,103,
-131, 77, 40, 11, 36, 40, 97,157,164,193,141,108,100,231,130,220,217,137, 68,152,128, 94, 32, 44, 78, 32,150, 90, 10,218,124, 57,
- 44, 29, 77, 94, 10,130, 90,109,221,203,168,139, 68, 54, 16,198,121,249, 70,119,144, 91,160,155,181,102, 79,196,  4, 19,114, 74,
-196,  3,185, 16, 75,203,134,138,123, 31, 23,208, 37,253, 55, 28, 29,109,106,206,173,113,108,198,173,208,234,205,  3,146, 82,178,
- 98, 99, 43,205,150,168,154,113,  9, 39, 35,224,222,219, 13,146,108, 73,107,137,188,137,143,146, 57, 54, 55,134,140, 43, 21, 39,
- 27,249, 60, 78, 41, 17, 56, 49, 85, 55, 35,  7,  9, 91, 44,250,140, 69, 76,221,180, 89,  3,200, 56,177,  0,228,197,226,255,167,
- 29,182,199,144,123, 91,222, 54,  0, 59, 53,142, 38, 11,153,  9,155,186,179,147,185,105,248,104,252,133,218, 56,148,162,218, 32,
-193,228, 32,186,252,214,215, 95,122,251,235,107,103,206,237,221,187, 77,196, 76, 60,221, 56,125,240,112,  7, 14,213,225,240,201,
-189,181, 51,231,158,238, 62,250,241,143, 63,186,112,245,149,105,153,205,142,246,203,162, 63,124,124, 63,242,241, 48, 91,219, 58,
-187,119,247,150, 22,211,170,251, 15,238, 78, 55,183,  2,116, 14,224,217,206,231,135,207,118,215, 54,183,119, 31,220,113,224,131,
-127,248,254,195,221,189, 55,222,249, 90,121,118,127, 94,186,253,133,220,191,115,103,115,251,236,241,254,254,195, 59,159,254,248,
- 71, 31,252,221,255,253,224,  7, 31,127,114, 50, 95, 48,243,127,250,163,255,254,175,255,237,191,155,156, 58,123,239,199,255, 71,
- 36,111, 94,250,210,163, 79,126,  0,171,174,254,236,206,167, 27, 23, 94,102,228, 56,135, 60,189,245,177,169,186, 85,164,180,190,
-125,241,201,173,127, 36, 87,237,135,189,187,159,182, 12, 26,191, 16,108,198,120,176, 91,219,184,244,229,119, 31,125,252, 97,127,
-114,248,130, 84, 59,210, 48,226,220,232,177,105,247,216,156, 87, 70,173,170,211,220,177,176, 80, 60, 11, 41, 24,156, 64, 60, 80,
- 98,220,111,153, 19, 32,230,148, 56, 41, 96,238,197, 44,214, 62,145,207,170,165, 16,197,141,146, 84,245,112,118,220,236,132,163,
- 71, 28,106,129, 72, 92, 90, 45, 98,  7, 41, 73, 54, 55,214, 47, 94, 62,231,174, 67, 41,251,135,135, 39,199, 51, 55,235,135,222,
-225,137,  8,228, 10,192,108, 49, 91,180,103,232, 72, 74, 26,139, 12, 99,235,139,209,120, 38, 66,103, 47, 94,130, 57, 17,152,133,
-140,221, 49,157,174,184,250,198,198,198,243,189,253,139, 23,207, 93, 58,115,122,109, 58,237,251, 65, 81, 45,102, 74,100, 48,121,
-249,210,229,205,141, 77,175, 85, 82, 64,131, 95, 44, 22,133,224, 26, 28, 67,164,148,  2,184, 10,162, 83,211,105,226, 22,224,173,
- 69,227,158, 20, 95,224,232,254,249,168, 67, 12,159, 42, 19,178,164,168,161, 85,115,141, 93,171, 85,150, 20,174, 68, 10,248, 21,
-144,152,146,163, 19, 14,213, 25, 51, 27,172, 86, 53, 67, 13,128,223, 11,222, 80,139,195,131,131,117, 27,136, 18, 59,153,247,137,
- 89,171,166,196,153,216,220,171,234,184,133, 13,  6, 30,123,181, 81,196, 65, 13,  5, 60, 30,156, 28, 68,  2,115,173,117,112,179,
-255,239, 35,135, 86, 65, 97,138,104, 14,178,  8,220, 23,253, 80, 84,  3,199,202, 66, 20,108,  3, 34, 23,164, 36, 36, 18,151, 72,
-225, 88,241,210,  8, 62,104,216,113,107,110,216, 40,187, 24, 17,115,148,175,194,177, 97,206,204,146, 36, 39, 97,145, 49, 28, 68,
-141, 21, 65, 16, 73,237,197,204,228,110,213,253,164, 95,112, 68,157,  2,137, 58, 70, 56,105, 92,202, 10, 39,133, 51, 81, 78, 57,
-119,194,224,196,156,146, 56, 19,145, 51,216, 65, 70,196,112,102, 74, 52, 46, 61,199,177,168,171,151, 18,221, 94,211, 22,120,228,
- 20,193,202,246,217,228,212, 12, 54, 73,225, 90,171, 80,106, 98, 57,225, 49, 63,206,254, 79,250,139,222,100,  9,141, 64,210,194,
-217,214,162,163,211,156, 25,148,  4, 76, 78,  4,181,229, 52, 59,250,171,213, 81,199,230,163,171,153,143,167,120, 98,226,204, 32,
- 50,173, 49,208, 20,230,148, 69, 82,  2, 19, 56, 80, 75, 20, 15, 88,130, 16,199,124,206,199,181,139,131,  9,228, 68, 78,209, 16,
-101,176,128, 40, 17, 73,117, 99, 24,196,226, 21,160,222,126,211,230,153,  4,133, 86,208, 70,202,  0,  1,110, 21,174,213, 76,205,
- 75,109,117, 86,114,164, 37,197, 61,142,219,227,101, 46,197,167,228,254, 79, 62,224, 60, 61,123,245,218,218,153,237,195,199,247,
- 37,103,  0,181,244,  4,164,212,145, 17, 49,223,125,240,232,231,190,246,117,  0,243,147, 99,175, 14,129,246,125, 92,254, 72,  4,
- 68,231, 94,123,139,150,156, 35, 80, 85,  8, 10,220,  9,137,200, 31,223,250,228,254,147,221, 27,239,253,218,230,153,211,111,191,
-121,  3,192,238,243,133, 76,214,114,199,139,195,163,148,211,103, 55,127,242,217,173, 47,190,184,183,179,251,108,127,123,107,243,
-159,253,218, 47,186,251,167,127,241, 71,165,214,240,  2, 77,214, 54,136,232,245,111,255,206, 50,173,222,160,129,238,112,175, 67,
- 31,203,144, 73, 94,  1, 80, 23,179,248,111,202, 98,214,230,209,227,  2, 58, 94,243,156,243, 75,239,124,107,239,206, 39, 39,207,
- 30,241,216,238, 86, 53,144, 37,138,213,230,200,192, 67, 52,173, 91,159,162, 47, 11,117,154, 76,186,201,180,227, 36, 90,171,135,
-  8,170,177,140,204,220, 76,181,203,169,148,162, 86,  1, 38,112, 53,171,117,112, 55, 17,113,231, 68, 92,251,154,114,118, 51,144,
-151, 90,231,125, 77,241, 33,  7,133,192,110, 17,245, 30,130,145, 27,116,154,115, 41,133,128,190,212, 47, 93,185,116,118,107,187,
-106,237,251,147,195,217,201,224,170,106,195, 80,  9, 28,135, 16,  1,140,105,168, 53,218, 12, 35, 93,174, 85,147,209,254, 52, 99,
- 33, 82,221, 29,155,219,219,167,158,238, 30,237, 63,231,148,  2, 10,158, 58,211,154, 87, 38, 19, 29,106,183, 50, 93,223, 56,188,
- 90,206,220,188,255,104, 24,116,210,137,153,119,146,  6,171,224,233,181,203, 47,237,237,237,185,123,199, 60,184,122, 72, 48,137,
-  4, 24,138, 50, 81,151,100, 81,123,118, 36,102,  0,211, 46,207,250, 92,181,186, 75, 63, 12, 75,173, 51,168, 83,107, 95, 95, 18,
- 14,243, 73,230,228,110,210,117, 54,215,  1, 69, 32,174,112, 40, 67,200, 17, 99,147,120, 49,114,128,  3,201, 73, 50,218, 67,217,
- 83, 78,165,212,106, 21,205, 14, 78,129, 16,169, 77, 69,225, 20, 52, 75,230, 90,171,154, 78,114, 22, 22,  7, 74,141, 49,133, 59,
-160,110,211, 73,215, 15,131,176, 20, 84,180,129, 82,  0,246, 96, 24, 99, 91,161,100, 24,107,210, 54, 22, 79, 98, 94, 97, 14, 51,
- 18, 97, 33,174,108, 45,109,215, 58,119,200,157,152,107,169,224,248, 86, 18,194,164,154,136, 42,145,  3,106, 22,184,158,150, 17,
-106,169,204,182, 68, 26,161,  0,225,237,203, 21,128, 15,129,108,200, 12,145,156, 18, 23,109, 25, 35, 25, 25,179,225, 58,111, 24,
-108, 55,134,228,196, 90,  2,114,201,177,  8,241,  6, 38,111,200,125,114, 90,233,186, 69, 25,130,186,150,145,226, 77,144,146, 68,
-118,136, 96, 76,172,230, 36,  2, 72,219,108, 70, 92,128, 27,199,133,163,118,167,142, 22,168,141,179, 46,177, 72,163,181,164,248,
- 71,154, 72, 42,186, 64, 83,211,166,246, 10, 24, 97, 43, 54, 34, 36,150,219,116,119,173,110,205,109, 17,161,169,234,135, 39,179,
-227,197,124, 53,183,201,223, 48,148,220,  9,179,104, 53,109, 78,129, 54,131, 33,  3, 51,143, 77,165,  0,106, 58, 49,  3,185,153,
-224,  3,202, 76,236, 16,  1, 85, 12,  4,114, 50,114,210, 90, 57,181, 67,162,153, 69,144,156,132,152,217,  6, 68,194,220,133, 73,
-131, 51,238, 81, 17,104,155,249,144,115, 54, 83,233,242,110,217,202,164,161,142,161,198, 30,112,114, 35, 18, 33,246,  6,215,183,
-212,238, 47,238,204, 65, 34,139,208,126,109,156, 15, 34,171,253,254,253,157, 11,111,188,117,252,244,145, 85,  5, 32,121,194,204,
- 58,148, 91,159,223,124,235,220,197,119,127,254, 23,212,122,  0,144,228,117,161,197, 38,107,235,  0,218, 60,203,253,206, 71,255,
-187, 12, 11, 56,109,110, 95, 44,253, 81,233,135,141,203, 87,  0,236,222,191,253, 96,231,206,103, 95,220,222,216, 58,  7,162,183,
- 95,123,253,184, 39,  0,107, 91, 23,188, 14,243,217,145,215,197,209,225,193,223,127,248,209,163,167, 79, 79, 78,250,215, 94,185,
-250,251,191,253,157, 11,151, 47,  3,168,218, 34,165,  0,106, 25,224,126,243,123,127,172,165,182,156,  0,165, 23,  9,180,248,158,
-160,148,161,  7,144, 39,147, 97,177, 96, 80,234,166,109,163, 97, 99,234,223, 65,196, 47,189,243,222,236,249,238,254,189, 91,161,
-119,108,188,206,182,210,139,  4,191, 69,171,209,212, 68,  8,222,114,108,101, 81,220,209,177,148,190,248,  6,136, 69,  0, 17, 82,
-245,162, 53, 80, 32,206,241,208,112,  1, 15, 69,173, 86, 51, 79, 41,157, 59,189,149,136,221,  2,  6,106,178,188, 86,153,214,210,
-  3,150, 40,  1, 12,102,226, 68, 52,196, 95, 42, 19, 76,221,204,170,105,246,  4,171,215,175, 92, 91, 89,157,206,231,253,209,209,
-241,241,241, 12,230,243, 97, 40,165,178,192,205, 72,146,  3,166,182, 24,  6,145,132, 17,222, 63,226, 76, 51,226, 70, 16, 45,  6,
- 82,206,228, 10,130,159,187,248,210,241,193,222, 40,224, 32,225,156, 58,237, 86,214,207,109,108, 60,188,187,179,125,102,211, 21,
-167,159,175,238,159,156, 16, 81, 74,132,156,115, 78, 90,202,133,237,179, 47, 93,188,120,231,209, 67,201, 29,233,130, 19, 80, 16,
-222, 62, 34, 54,119,181, 74,192,202,218, 52, 29,114, 45,234,132,245,201,116,239,224, 80, 58,142,136,251,164,235, 98,244, 44,173,
- 11,222,108, 65,226,172,104,155,224,201, 36, 67,169,198, 55,207, 68,164, 99, 65, 29,220, 44, 40,226,  2,138, 95,  1,153,168, 48,
-147,  6,142,184, 29,157,115,142,167,139, 19,143,181,120,139,195,155,103,183, 64,200,134, 26,144,133, 84,105, 49, 44,144,115,203,
- 10,155, 69,238,175,241, 24, 91,149,129,156,205,161, 68, 18,139, 57, 30,207,240,214, 30,248,206,224, 26, 79, 33, 39, 38,151, 64,
-  2, 19,139,112,169, 53,  9,135, 75,183,155,164, 36,105, 96, 99, 30, 60,161, 21, 23,221,171,150, 85, 73, 24, 89, 98, 24,143,168,
-113, 76,163, 81,204, 19,139,  5, 10, 36, 51,211,160, 85,  3,108,239,225, 45,103, 35,171,  6,141, 13,173,136, 17, 89, 41, 32,178,
-198, 76,112,152, 83,131,137,114,215,101, 98, 34,166,162, 53, 94, 93, 17,115, 84,243,145,107, 27, 63, 37,  6, 81,238,196, 65,165,
-184,194, 89, 90, 21,223,153,  4,174,174,195,208, 87, 97, 48,197,214,186, 13,157, 90, 96,151, 52,  4,167, 74,110, 32,246,196,194,
-160, 44, 41, 94, 15, 72, 96, 35,102,  6, 39,182, 33, 66,237, 49,187,206, 76,148, 98,249,171,  8, 84, 79,  4,  9, 35,232,231,100,
-193,153, 12, 12,164,214, 97, 88, 12,253,124,163, 91,101,146, 30, 62,237, 50, 49,169,247,222,210, 55,117,244, 46, 17, 64,106, 53,
-132,104,204, 75,118,104,124, 34,117, 68,121,198,101, 95, 99,244,207,146,221,138,185, 17, 59,129, 85, 67,116,211,100,163,109,108,
-165, 74, 41, 53,157,173,131,136,212,148,153,221,188, 33,240,165,121,  4,227,120, 96, 53,222, 34,237,160, 16,204,  5, 31, 61,102,
-  4, 97,103,173,149, 70, 27, 31,143, 15,126,127,193,245,105, 20, 63, 26,245, 82, 86,203,162,159, 29,175,159,189, 96,166,253,241,
-193,233, 75, 87,119, 31, 61,248,232,163,127,120,243,221, 95,228,210,215, 97,110,165, 46,142,246, 79, 95,186, 26,139,221,141, 11,
- 87, 66, 42, 93,171, 30,238, 62, 56,127,253, 70, 74,147,245,237,243,253, 48,211,180,182,185,189,125,116,240,220,129, 31,126,244,
-225,143,127,246,201,217,179,219,239,191,251, 77,  0,123, 11,112,119,250, 96,111,239,218,235,215,247,159, 61,190,127,251,214,229,
-215,191,252,151,255,235, 79,239, 60,124, 48,201,242,187,191,250,238,191,249, 23,191,189,177,113,106, 40,218,206,232, 45,237, 67,
- 90, 22,  7,143,118, 46,190,254,181,212,117,196,158,167, 43,107, 91,219,203, 31,119,  8, 96, 88,196,181, 30, 63,125,180,253,234,
-219, 68,196, 93, 58,123,237,141,104,208,140,215,104, 39,166,139, 95,254,186,171, 62,249,244,  7, 17,187, 88,158,  9, 34, 65, 63,
-226,152, 91,108,156,154, 44,186,245,  9,107, 85, 73,126, 56, 63,158,116,121, 66, 32,161,201,100, 34,228,197,117,168,218,  9,215,
- 65,217,201, 92, 99,  4,198, 17,155,114, 75, 41, 49,131, 19, 17, 92,132,205,106,169,218, 34, 76,194,106, 77,172, 21,252,251, 40,
-146,120,176,162,140, 22, 67, 95, 77,227, 64, 55,201,221,155,175, 94,  7,177,171,206,142, 23,139, 50, 24,124, 62, 91, 88, 27, 16,
-202,133,243,219,193, 84, 95,244,  3,200, 97,214,118, 58, 44, 36,105,  4,175,142, 40, 30,130,103, 10, 78,233,169, 51,167, 55,206,
-156, 43, 67, 15, 87, 34,135,115,226,220,117, 43, 86,212,170,150,161,156, 62,189,250,234,165,115,234, 58, 91, 44,200, 77,107,117,
-162, 73,206, 41,175,188,241,202,245,213,149,213,150, 97, 50, 48, 32,137, 43, 60, 39,201,147,172, 14, 32,245,125,141,189, 92, 25,
- 10, 51, 72, 48,159, 47,218, 67, 83,152,163, 73,199, 33,123, 14,148,181,240,216,251, 87, 83, 99, 48,113, 34,166,  4,168, 41,148,
- 52, 50,109,238, 78,146,220, 44,222, 90,108, 20,183,231,198,253,243,198,139,106, 97,168,120,191,178, 59,  4, 66, 16, 32, 18,118,
- 41,115, 18,137, 99,128, 90,220, 26,137, 73, 82,202, 78, 16,150,145, 61, 16, 40,100,103, 33, 82, 66, 76,182, 93,226, 65,232, 35,
- 95, 98,168, 53, 34, 34, 60, 22,196, 35, 88,  1,135,217, 16,211,232,182,121,115,196,201, 20,174,209,186, 33,146, 86,185, 67, 76,
-114,199,112, 97,100,247,154, 16,187,197,203,189,185, 13, 90,192,200,172, 84,173, 49,123,143,164, 82, 18,201, 62,134, 90, 70,105,
-160,155, 58, 32,110, 18, 71,234, 20, 15,134, 72, 67,186,  6,206, 49,142,176,194,228,109,  4, 31, 31,153,217,201, 28,106, 57, 37,
- 38,170,238,170, 26,241, 44,173,234,225,105,113,103, 64, 72,  0,  4,162,163,101,184, 26, 93,141, 84, 45,206,164,210, 86, 98, 80,
-184, 58, 17, 83, 98,129, 59, 11, 17,168,154, 82, 24, 13, 41, 33, 68,190, 41,182,151, 68, 16, 18, 34, 73,203, 25,122, 91, 58,153,
-153,  5, 52,222, 77,117,252, 78,240,218,202,250,114,213,200, 44, 16,105,157,225,246,164,110,211, 58, 48,  0, 14, 97,114,236,  4,
-  2, 80,229, 94, 27,207,135, 25, 96,183,208, 47, 42,136,204,106, 28,175,193,130, 22,196, 36,  0,166,241,111,155,110,144,224,100,
-206, 65,183, 38,119,183, 90,171,169,141, 63, 25,112,102,118,137,209, 59, 75,171,116, 45, 81, 69, 17,224,112,180,  1,168,123,137,
-143,178, 26, 96,158,124,105,247,110, 35, 94,110, 41, 85,140, 13,105, 18,184,159,236, 61,221,186,124,181, 63, 58,218,249,228,199,
-107,219,151,223,252,246,175,191,253, 75,212, 31,238, 63,219,249,220,212,136,229,249,221,207,183,174,190,250,242,215,223,175,125,
-191,255,112,167, 91, 63,101,170,238,122,239,103, 63,184,124,227,171,215,223,251,101,150,164,101,120,186,243,197, 23, 63,252,251,
-167,135,199,215,191,246,254,108, 62,188,255,238, 55, 78,159, 90,159, 87,  3,176,178,113,174,155,116,159,255,240, 71,231,175, 93,
-253,165,239,254,243, 90,203, 95,255,249,159,255,199, 63,252,195,175,188,241,165,223,120,255,155, 23,206,157,233,135, 82,172,202,
-116,153, 99, 12,160,184, 19,232,254, 79,255,254,226,141,111,188,250,254,111,179, 72,237, 23,123, 59,159,158, 60,123,216, 38,182,
-113, 33,162, 10,200,195,159,125,255,242, 91,223,124,227, 87,190, 91,251,217,222,206,231,211,141,173,198,116, 24,113,218,167, 46,
- 92,113,179, 87,127,233,187,241,199,223,187,123,243,249,221,155,203, 50,113,244,139,162,147, 22,229,247,  8,177,  4,146,233,100,
-190,200, 41,151,  1, 41,119, 16, 33,224,204,230, 86,215, 65, 21,196,220, 54,180,109,152,171,166,213, 56,170, 41,180, 50,233,102,
- 39,135,174, 43, 21, 78, 32, 53, 23,115,176,168, 41, 49,177, 16, 12,212,113,240,179,101,220,212,115, 48,235, 61,202,138, 92,180,
- 76, 39,147,203,151, 47,186,121,169,229,164,159, 47,250,222,204,231,139, 69, 12, 84, 25,126,176,127,192, 76,110, 24,  6,141, 15,
-220, 72,161,104,  1,181,216, 22,  5,183,136,148,189,143,232, 57,193,236,194, 75, 87, 78,142, 15,181, 22,162,196, 73,136,121, 50,
-157,214,186, 56,119,249,210,179,221,167,147, 73,222,216, 44,175, 95,190,120,243,238,227,126, 88,172,173,159, 34, 80, 39,137, 72,
- 79,157,222,124,237,218,203,183,110,223,141,224, 17, 66,113, 76, 73, 29,193, 96,139,190, 99,252, 88, 34,157,184, 54,153,150, 50,
-171,142, 97,168,  2,234,171,166,228, 68,  2, 11,204,122, 92,152, 68,136, 84,  0, 70,240,171, 34, 96, 80,220,146, 41,117, 73,135,
- 32,163,183,229,  4,161,153,124,204,220,130, 19,239,144,148,100, 32,  8,215, 90,115, 74,110,181, 85,249,154,236, 38,181,248,104,
- 12,149, 99,232,105,190, 58,233, 74, 81,117,133,138, 72, 42,181,154,153, 86, 13, 18,  1,153, 36, 22, 35, 31,223, 35, 45,114, 11,
- 98, 51,235, 68, 82, 27,117, 71,189,205, 99, 31,199, 52, 66,250,  0,105,199,177,224, 62, 33,108, 67,196, 52,250,234,  9, 68, 41,
- 37,117,184,154,112,200,206, 42,136,  2, 66, 91,212, 90, 57,158, 95,184, 65,199,139, 66,112,216,199,  1,131,153,176,180,211,138,
-141, 54,244, 86, 49,133, 75,195, 25,117, 41,141,191, 34,185, 69,  9,147,189, 61,135,109, 73,104,138, 73,164,116,185,246,125,152,
- 14,172, 33,234,  3, 20,132, 49, 79,205, 68, 96,225, 23,231,167, 38,130,107, 68,132,134, 56,105,227,166,120, 73, 26, 70, 76, 49,
- 49,  9, 81,151,146,170, 18, 25, 16,164, 70,143,211, 82,116,123,  9,137, 66, 87, 31,207,189,182,  9,227,208, 37, 22, 84,  0,194,
- 76,204, 33, 91,105, 75,139,160,117,186, 85,167, 48,173,199,224,220,  3,192,197, 60, 42,172,221, 28,166, 62,174,175, 91,126,166,
-189, 32, 89,220,219,133, 36, 86,179, 60,126,195,136,201,213, 34,120,  4,114,115, 99, 97, 19,113, 32,212,136,161,118,  0,165,112,
- 53,  5, 26,158, 60,164, 54, 77,132,222,248,148,176, 80,223, 26, 49, 92,163, 60,209, 46,227, 97,172, 80,103,118,119, 79,173,137,
-211,184,219, 99,236,207,189, 14,253,189,159,124,127,196,133, 81,127,112,176, 55, 12,159,253,244,163, 59,183,111,189,243,205,239,
-228,197,124, 24,230,230, 81,228,133,187,149,126,241,240,227, 31,170, 86,184,173,156, 62,163,125, 95,106, 61,125,118,251,193,206,
-103,183,126,244,193,217,237,211, 71,123,  7,125,153,237, 61,126,252,143, 31,127,114, 50,171,248, 15,255,254,189,111,188, 89,157,
-247,251,156,147,124,244, 87,223, 19,242,167,143,238,221,251,226,211,219,255,245,254,189, 71,143,159, 28, 28,108,174,173,254,193,
-119,127,227,171,111,190,106,138,121, 25,224, 32,150, 50, 63,252,201,159,252,231,102,150,106, 18,100,114,215,135, 31,127,255,209,
-205, 15,199,118,151,131,104, 56,126,254,147, 63,251, 47,  2, 33, 50,115,  6, 72,251,114,247,163,191, 29,229, 60,216,223,249,156,
-128,225,248,232,230, 95,253, 81,128,252, 62,249,139,255,  6,  2,115,114, 55,152, 82, 88, 32, 90,188,110,188, 29,191,  0,121,182,
-174, 81,116,109,250,126, 96, 78,211,149,116,170, 42, 85, 85,179,195,147,227,203,211, 51,193, 15,138, 43, 86,213, 42,108,139, 69,
-169,181,210,164,235,251,162,196,235, 43,147,231,  7,213, 65,181, 70,  0, 32,209,120,127, 38,103,146,228,  4,129, 65, 36,116,  0,
- 35, 59,200, 18,226, 68,236,211, 46, 31,157,204, 94,190,112,113,235,244, 86,169, 54, 59, 58,217,127,190,223,247, 37,178,101, 52,
-186,232,135, 90, 87, 87,166, 46,172, 86,151,132,161, 38,161,110,252, 33,113, 15,174,  0,135,183, 56, 62, 16,234, 88, 89, 93, 59,
-179,125,254,209,189, 59,121,146, 97, 68,156,172,106,206,147, 90,135,173,115, 91,183, 62,185,181,214,229,107,151,206, 63, 63,153,
- 63, 63, 58,153, 84,235, 18, 83,146,  9, 39,131,191,254,202, 43,251,207, 15,119, 30, 60, 72, 57, 49,216, 25, 73,152,133,135,161,
-182, 61,113, 85,  8,133,102,152,133,215, 86,167,197,181,239,135, 65,121,168,133,136,125, 84,101,  4,206,148,  5,194, 12, 98,152,
-  6, 19,187,168, 59, 69,126, 48, 38,239,112,144,144,120, 99, 21, 54, 22, 58, 51,197, 89,146, 40, 94,104, 81,108, 33,115,165,160,
-142,152,  6,241,207, 91,219, 68, 64,168,104,176, 72, 54,113, 87,  6,171,151,140,140,145,102,105,106,  6, 87,173, 76, 46,137, 60,
-202,180,164,129,125,229,176,144,197,153, 58,204, 44,  3,121, 99, 27,143, 17, 46, 71,102, 25,172,142, 72, 50,128,194,170,161,220,
- 56,166, 81, 71, 50,192,152,  5,134,156,185,103,247,232, 49, 49,147, 67, 93,217,157, 71,130, 91, 28, 64,150,243,133, 64,201,197,
- 33,175,129,100,131, 66, 79,237, 32, 52,174,218,131, 19,140, 68, 92,200, 96,206, 32,173, 37, 75,138, 20, 35,  9,199,100, 88, 70,
- 50, 24, 51,192,232,144, 72,196,107, 37,131, 51,132,152, 25,165, 22,170,141,142,101, 60, 70,  2,153,114, 74,110, 24, 34, 14, 28,
-  1, 75,129,215,200,143,195,105,132, 32,  6, 72,134,217, 85,251, 90, 88,132,205, 19, 19,152, 77, 85, 56, 85, 12, 68, 20,245,197,
-102,100,116,175, 26, 36,151,198, 34, 30, 19,112, 78,209,244,118, 11,204, 67,252,189, 16,145, 80,106,169,209,241,108, 93,130, 33,
-175, 30, 49, 82,107,206,177, 38,  9, 51,107, 20, 29, 39,114, 48,  3,213,156, 65, 28,104, 48,150, 32,196,185, 27, 80,199,118,141,
- 71,165,195,105,132,158,  8,195, 93,132,212, 28, 78, 70,177, 28,111,246,152,240,109,140, 18, 50,114,119, 23, 19,106,221,127,201,
- 89,107, 13,133,160,186,152, 43,183,135,161,112,100,122, 89, 35, 92,155,162,130,218, 18,159, 34, 36,113,180,105, 89,145,230, 13,
- 21, 57, 56, 56,248,236, 31,254,118,178,117,238, 87,127,231,247,178,247,243,254,164,197, 45,178, 16, 92,135, 66,221, 36, 73,210,
-147, 99,202,221,217,171,175, 29,237,237,110,158,191,180,255,108,119,101,243,194,233,173, 51,143,119,110, 61,127,242,232,225,131,
-251,159,221,190,119,230,204,217,239,188,255,250,116, 50,157,171, 88, 62, 61, 93, 93,101,161,195,103,143,158, 62,121,112,239,222,
-189,187,247, 31,223,125,252,104,177, 40, 63,255,230,245,223,252,206, 47,156,221,218, 90, 28,247,222,206,154,  2, 88,160,142,208,
- 20, 23,225,163, 98, 71,  6,212,181, 18,103,247,138, 86, 63,102,110,212,132,224,220,136,107,117, 66,124,156,199,201,165,183,108,
- 90, 67,101,  7,206, 63, 10,  0,210, 46,240,141,237, 23, 71, 48,103,137,123, 55,198, 95,220,227,240,127,112,120,204, 73,146,105,
- 74,105, 24,  6, 55,215, 82,224,158, 88, 82,115,248,197, 73, 44, 13,117, 14, 38,175,186,127, 56, 35,243,148, 36,115,102, 98,120,
- 77,194, 91,155,167,142,143,103,214,156, 69,198,209,180,178,246,187,165,166, 42,  4, 88,  0, 75,145,240, 51,152,234,229,203, 23,
- 87, 86, 86, 13, 86,181, 28,158,204, 13, 40, 67,169,110, 81, 98, 25, 67,  0,142, 90,251, 82,252,133, 75,156,150,233,156,118,138,
-179,118,228,140,152,138,143,193,177, 51,103,183,159,239, 62,209, 58, 64, 38, 57,101,115,168,100,114, 76,186,233,230,214,230, 52,
-167,167, 79,159,191,122,233,252, 79,251,  7,125, 63,155,166, 83,  0,166, 43,211,162, 53,165,252,229, 55,222,120,182,255,172, 31,
- 10,187, 73, 27,173, 17, 51,101,206, 65,197,142,179,237,250,164, 59, 56, 89, 36,145, 51, 27, 27,  7,135,199, 60,232,104, 30,183,
-209, 59, 17,  0, 36,214, 80, 15,  3,  9, 94,204,132,161,106, 32,114, 50,226, 36, 76,113, 88, 34,132,190,131, 36, 22,156,113,148,
-174,198, 34, 78, 12,211,208,217,  4,164,181, 77, 27,150,214,178, 70,136, 33, 50,168,169,116, 68,201, 93,173,175, 37,166, 88,169,
- 75,165,239, 23,195, 16, 10,100, 87,175, 14, 46, 90, 59, 13, 96, 31,141,177, 36, 22,104, 29,  5,196,106,129,123,137,103, 36, 76,
-201,101, 50, 73, 66, 60,104,227, 14,  6,110,207,212, 74,210,118,  2,108, 58, 31,  3,132, 29, 39,139,121,150,245,204, 89,109,201,
-161,164,  6,140,165,118, 60,133,153, 91, 20,244,219,143,174,253, 25,153,200,156,140, 40,145,144,164, 44, 96,141, 91, 74, 43,166,
- 34,120, 62,198, 68, 41,117, 97,174, 10, 26, 98,230,128, 49, 40, 51, 13,145,183,246,134,253, 77, 83, 78,146, 74,173, 96, 23,201,
-170, 10, 71,102, 57,172,  1, 67,179, 48,  2,198, 71,177, 47, 26, 78, 15, 52,213,219,178,139,132,198,117,111, 51, 39,  0, 16,145,
- 36,169,203,169,168, 66,220,137,166, 41,153, 54, 44,  0,128,148, 40,107,106,140,123,119,175, 65,139,107,208,194,241,255, 81, 68,
-168, 90,208,226,136,152, 29, 72, 57,149,170,213, 12,170, 64,141,207,201, 32, 60,159,205, 35, 10, 80,204, 18,231,150,217, 82, 39,
-130,113,139, 75, 80,188, 66,194,221, 22,170,119,230,112, 49, 47,145, 24, 34,174,234,106, 42, 17,221,105,187,126,107,169, 74,144,
-228,228,181,214,170, 13,211,219,128,100,205, 28,191, 20,242,  5, 60, 76,  3,101, 70, 74, 53, 80,239,205,221, 42,206,106, 42,204,
- 62, 86,246,169,165,130,145, 26, 98, 45,238, 38,203,219,145, 53,205,101,151,167,243,197,252,167, 63,248,160, 31,252,250, 91, 95,
-189,120,110,187,214,210, 43,218,202, 37,248, 12,222,238, 71, 23,222,120, 71,114,231,102,179,231,187,183,127,250,209,116,101,117,
-232, 23,171, 43,107, 95,252,228, 43,248,243,154,  0,  0,  8,156, 73, 68, 65, 84,195, 71,143, 30,126,126,235,206,188,214,175,190,
-125,227,242,249,237,234,124,100, 43, 41,175,117, 93,118,235,247,246,158, 62,188,127,231,222,189, 71,183,118,118,238,237, 62,189,
-112,118,235,247,127,247, 59, 95,190,254,178, 57,205,102, 71, 96,176, 79, 70,170,148, 47,151,108,228, 62, 54,115, 26,157,147, 44,
-156, 39, 13,187,227, 80,166, 73, 43,237,186,155, 13,  8,225, 88,179,132,155,105,184,191,157, 44, 57,233,152,160, 82, 11, 94, 68,
-219, 68, 52, 74,112,220, 42,151,131,194,224, 50,196, 87, 49,250,109,243,249,176, 58, 93,113,232,238,243, 67,214,128, 16,176, 48,
-159, 44,230,107,235,171,153,211,188, 95, 12,181,  6, 76, 99,194,220,247,243,121, 25,114, 74, 73,186, 73, 55, 97, 66, 53, 53,245,
-149,233,202,124,182, 48, 51,211, 90, 77, 39, 35, 47,  9,238,137,216,200, 61,234,195, 14, 85, 45, 42, 29, 11, 17,117,147,201,181,
-171, 87,136, 65,213,251,190, 63,156,157,152,217,188,159, 91,160,  6,199,101,133,177,131,169,246,125, 59,228, 97,201, 98, 90,110,
- 43,146,179,  3,234, 49, 53,136,109, 28,  1,238,221,250,250,230,214,153,199, 15,239,117,156,107,109,176,214,201,116,117, 49, 63,
-217, 62,127,238,217,147, 39,167,183, 54,119,251,221,139, 91, 27,119,118,159,205,250,197, 70,183, 66, 66, 19,238, 22,165, 92,185,
-116,229,198,171,111,252,232, 31,127,234, 34,  0,245,165,108, 76, 38,166,150,196, 93, 48, 12,101,222,151,193,117,139,166, 73,104,
-190,232, 39,171, 43, 27,235,171,245,240,100, 88, 12, 97, 12,119,247,190, 12,113, 10, 13, 34,183, 99,156,116,142, 56,120,143,221,
-107, 41,121,210,113, 76, 26, 97,238, 45,176,204, 49,100,112,113, 40,212,147, 67, 99,130, 65,148, 57,113,252,156, 57,  6, 58, 75,
- 96, 55,194,188, 56, 91,244, 96, 89,235,152, 76,  8,112, 87, 51,114,243, 82, 43,136, 84,181, 86,173, 33,231, 38,117, 64,173,146,
-  1,169,201,231,196, 56, 42,114,177,  0,  0,180,233,225,188,101, 92,114, 74, 85,151,162,122, 52,225,  9, 32, 76,137, 18, 24, 49,
-116,137,246,103, 52,245, 85,235,  8,140,142,216, 30, 73,130,169,215,106, 17,206,116,  2, 39,193, 64,158, 64, 64,158,228,113,  8,
-221,214,127, 65,110,169,213,205,200,152,196, 25,170, 17,  0, 34,137,236, 24, 98, 12, 83, 53, 30,107, 17,174, 55, 13,224,170,107,
-244, 42,221,145,136, 37,177,187,197,201,134,217, 20,110,234, 43,147, 28,238,202, 86, 89,111, 79,154,104,168, 81, 69,107, 99,142,
-121,161,118,115, 49, 51,112,128,229, 65,236,166, 90,147,  8, 51,218, 97, 20,234,193,106, 79,210, 15,230,241, 66,106, 41,244,192,
-229,147,139,193, 57, 46, 49,241,163, 96, 78, 34, 67,173,204,108, 49,134, 12,  6, 60,188, 22, 99, 43, 49, 69,119, 51, 55, 47,102,
- 76,210,142,244,112,243, 81,126,180,  4, 85,142, 51,153,165,152,172, 25, 90,219,213,175,137,145, 53,140, 89,204,110,227,226,187,
- 82,100,106, 99, 90, 91,180,152,  6,114,180,169, 83,213, 77,173,198, 60, 61,196,200,241, 98, 86,  0,213, 56, 17,131, 92,141,164,
- 41,  5, 56,158, 77,202, 32,130,151,246, 27, 73,188, 45,144, 90, 74,159,154,230,111,185,195, 78, 57, 17,248,246,167, 63,187,179,
-179,115,249,229, 87,190,113,227, 70,173,253,124, 49,151,148,184,155, 80, 69,117,135,215, 88, 86,104,173, 39, 79,238, 31, 63,219,
-157,174, 76, 14, 14, 15, 57,229, 73,110,130,191,231,143,119, 62,254,228,230,206,131, 39,151, 46,156,251,246,235,215,114,226, 89,
- 97,205,167,243,100, 53,179,159,156, 28, 28,238, 61,185,115,247,238,237,187,247,110,221,127, 52,235, 23,239,127,229,203,191,243,
-171,239,173,175,175,149,197,  0,102,131, 91,165,148, 45,130,187,129,229,106,163,133, 23,214, 98, 29,189, 36, 68,174,  4,  5,139,
-123,  2,200, 92,185,193,166,157, 96, 49, 91,140,178,  0, 17,113,146, 17,208,163, 24,201,181, 16,110,232, 16, 10,243,120,  3,238,
-216, 40, 86, 48,179,145,136,194, 60, 30,241,224,126,178,152,119,147, 73,223, 47,200,209,137,232,164, 75, 89, 42,212,205,230,179,
- 69, 62,179,237,238,205,201, 64,204,174,  7,243, 69,104,198,132,169, 47,139,117, 94, 67, 43,203, 72,206,146,153,247, 79, 74,169,
- 53,  5,251,134,  9,238,149, 91, 85, 46,181,241, 51, 17,144, 37,131,124,117, 58,185,114,225,162, 86,168,149,253,131,253,217, 98,
- 97,102,181,212, 49, 71,180, 12,137,  1,224,197, 48, 31, 85, 73,241, 21,214,229, 27,190,121,115,149,169,115, 36,248,162,173, 96,
-227,173,120,238,165, 43,207,159, 62,113,114,102,192,157, 57,165,233,116,226,245,248, 96,191, 46, 22,167,206,157, 91, 61,181,182,
-237,120,122,120,188,176, 90,181,244, 53,173, 79, 38, 43,220,169,251,141,215, 94,223,185,127,127,247,249, 62,179,176,136, 72,118,
- 31, 74, 25, 68,114,202, 44, 32, 53,127, 54,155, 79,146,172, 77, 39,139,170, 29,115, 74,236, 68,149, 52,187, 56,172,147, 28,141,
- 70,142, 26,104,212, 63,226,113,108,177, 38,  8, 56,159, 21, 53, 34, 98, 39, 35,114, 98,131, 10,195,137, 52, 16,154, 36,181, 86,
- 16, 18,167, 34,201,  2,141, 47,156,146,212,226, 74, 22, 29,206, 16,  7,179,155,185, 50,185, 89, 45,166,102,117,101,186, 82,230,
-138, 68,139,190, 23,150, 69, 25,138, 22, 39,147, 80,100,190, 96,113, 53,195, 96,116,148,212, 61, 59, 37, 22, 78,201, 23,101,132,
-133,180, 13,160, 85,213, 90, 70,110,108,216, 72, 12,196, 57,119, 73,132,  8,169, 75, 14,157,247, 14, 18,  6,173,173,174, 74, 40,
- 12,163,113,100, 10, 36, 15,255, 52, 25,185, 26, 68,192,161,181,139,164, 38, 49,179,147, 54,146, 92,144,223,168, 89, 97, 25, 28,
-228, 91, 22, 88, 35,133,147, 90, 75,  4,130,226,165, 64, 28,128, 45,111, 71,202,  6, 34,111,124,139,192,198,153, 69,238,223,153,
- 72, 58, 54,109, 22,241, 54,173,110,243, 28,206,146,152,201, 84,107, 59,  5,195,213, 41,108,222, 12,179,101,154, 52, 80,204, 34,
-  1, 24, 16,113,173, 14,241,177,  4, 33, 68, 33, 64,135, 32,176,199,196,146, 88, 76,107,175,117,249,194, 28,189, 67,226,134, 76,
- 73, 49,180,  4, 10, 67, 40,129, 76,173,186, 43, 83,106,197,150,120,135,150,202,156,156, 20,206,109,245, 30, 55,103,231, 24,175,
-141,248,223,136,228, 51,189,192, 36,197,219, 57,218, 72,109, 19, 59,154, 54, 20, 68,170,206, 44,102,113,250, 10, 49,129, 49, 68,
-181, 90,228, 92,204,226, 52,217,130,203,106, 66,176, 70,129, 52, 18,  6,132,199,  7,160,153,241, 72,  5,211, 26,146,239,  6,158,
- 79,141,198, 28,140,177, 88, 42,229, 21, 66,189,127,111,231,254,206,206,116,245,212, 55,191,245,203,235,235, 43,139,249,113, 80,
-154,172,154,152, 27, 12,163, 57, 79,235, 80,251, 69,154,174, 77,214,214,143,143, 14, 37, 79, 78,109,157, 57,122,246,120,152, 29,
-124,241,249,167,159,223,222, 73,210,189,251,149, 27,219, 91,155,213,232,168,116, 60,221,156,164,206,189, 60,221,125,188,251,248,
-225,157,251,247,111,221,189,255,232,217,254,217,211, 27,191,247, 91,191,252,213,183,174, 27,104, 24, 10, 73,203, 38, 38, 33,184,
-142,113, 19, 90,174, 77, 98, 51, 76,206,227,138,216, 65,  9, 17,186,119,129,155,147,196,140,161, 33,224, 99,202, 99, 70, 75,251,
- 76, 60,200,195, 91,235, 75, 70, 77,155,224,  7, 19, 19, 32,119,109, 15,244,246,  3,141,233,237,139,106, 50,204,157,188,239,139,
-164,236,139,217,100,146, 89, 61,250,166,  9,196, 34,139,249,108,177,152, 29, 29,167, 50, 20,139,160,165,164,121, 95,219,153,209,
- 12,134, 44, 73,137,163,  5, 24,229,133,162,197,153, 73,154,221, 32,102, 13,193, 17, 36,106,148,174,101,240,121,115, 99, 99,115,
-115, 83, 50, 47,142,202,243,131,253,170, 86,172, 46,202, 64,198,  4, 93, 90,116,195, 10, 95,251,  1,169,245,236, 98, 14, 97, 80,
-166, 68,144,101, 90,218,213, 97,113,244, 89,126, 67,104,186,190,113,233,234,181,123, 59,183,147,100, 14,176,179,214,174, 91,157,
- 78,231, 87,190,244,165,157, 59,119, 55, 79,175, 39,248,171, 47, 93,248,201,237,251, 10, 63,181,182,234,206, 89,200,107,221,220,
- 56,253,213,119,126,238, 79,255,230,175,212,172,203,185, 88, 13,225, 14,224, 66, 60,201,210,173,118,139,162,100,186,182, 58,173,
-199,115,115, 90,201,147, 35,204,225,148, 83,170,170, 57, 11, 17,143, 39,161, 86, 19,143,153, 67, 69, 52,183, 74, 11, 73, 66,153,
- 26, 56,222,213,152,205,  3,221,  8, 50, 80,230, 96,  6,135, 10,144,216,189,160,186,117, 66, 16,242,242,162,125, 14,  7,204,192,
- 78, 93,158, 40,188, 31,234, 88,107, 68, 34,234,189, 82,244,107,  0,226, 84,225, 18,197, 83,143,112, 72,236,  9,149,219, 53,208,
- 33, 44,146, 56,150,136, 22, 91,157,176, 20, 81,169, 53,190,152,141, 91,202,204, 36, 17, 30,141,109,190,155, 17, 88, 43, 66, 31,
- 52,153, 76,180, 86,196, 66,216, 93, 88, 84,149, 69, 96, 36, 36,  5, 46, 30, 66,201, 23,241, 87,  4,196,  0,  2,243, 10, 11, 90,
-161,  7,200,254,159, 36,199,199,250, 72,232,215,131,167, 70, 34,210, 15, 67, 29,124,210, 37,  2, 59,143,101,250,165,222,  0,122,
-116, 50,  3,241, 16, 35, 56, 94,129,130,147,180,217, 56,  8, 76, 99,147,142, 34, 13, 19,201,194, 37,194,138, 67, 99, 62,246,239,
-227,204, 25, 27, 12, 18,  8, 17,187, 83, 11,145,  0,230, 85,  3, 44,236, 89,196,220,234, 80, 16,120,140,120,195, 48,147,209, 56,
-202,140, 99,186,186, 67, 85,227,189,200,227,  8,160,148,194,164, 90,157,137, 18,203, 96,166,214,140,126,188, 84, 65,  4,  7,137,
-150,208,126,199, 11, 96,157,144,187, 70, 26, 42, 44, 35, 22,190, 60, 39,110,243,  0,110,111, 43,113, 87, 55,231, 68, 68, 84, 77,
-205,156,184,  9,  4,221,169, 90,148,252,218,181,165, 97, 27,204,  1, 87, 55, 14,229,112, 59,227,194,221,139, 25,179,120, 88, 31,
-218,205, 34,164, 97, 48, 67,102,114,248,255,  3,163,186,128,162, 44,159, 39,191,  0,  0,  0,  0, 73, 69, 78, 68,174, 66, 96,130,
-};
+137, 80,
+ 78, 71, 13, 10, 26, 10,  0,  0,  0, 13, 73, 72, 68, 82,  0,  0,  1,245,  0,  0,  1, 26,  8,  6,  0,  0,  0,  8, 90,206, 70,  0,
+  0, 10, 79,105, 67, 67, 80, 80,104,111,116,111,115,104,111,112, 32, 73, 67, 67, 32,112,114,111,102,105,108,101,  0,  0,120,218,
+157, 83,103, 84, 83,233, 22, 61,247,222,244, 66, 75,136,128,148, 75,111, 82, 21,  8, 32, 82, 66,139,128, 20,145, 38, 42, 33,  9,
+ 16, 74,136, 33,161,217, 21, 81,193, 17, 69, 69,  4, 27,200,160,136,  3,142,142,128,140, 21, 81, 44, 12,138, 10,216,  7,228, 33,
+162,142,131,163,136,138,202,251,225,123,163,107,214,188,247,230,205,254,181,215, 62,231,172,243,157,179,207,  7,192,  8, 12,150,
+ 72, 51, 81, 53,128, 12,169, 66, 30, 17,224,131,199,196,198,225,228, 46, 64,129, 10, 36,112,  0, 16,  8,179,100, 33,115,253, 35,
+  1,  0,248,126, 60, 60, 43, 34,192,  7,190,  0,  1,120,211, 11,  8,  0,192, 77,155,192, 48, 28,135,255, 15,234, 66,153, 92,  1,
+128,132,  1,192,116,145, 56, 75,  8,128, 20,  0, 64,122,142, 66,166,  0, 64, 70,  1,128,157,152, 38, 83,  0,160,  4,  0, 96,203,
+ 99, 98,227,  0, 80, 45,  0, 96, 39,127,230,211,  0,128,157,248,153,123,  1,  0, 91,148, 33, 21,  1,160,145,  0, 32, 19,101,136,
+ 68,  0,104, 59,  0,172,207, 86,138, 69,  0, 88, 48,  0, 20,102, 75,196, 57,  0,216, 45,  0, 48, 73, 87,102, 72,  0,176,183,  0,
+192,206, 16, 11,178,  0,  8, 12,  0, 48, 81,136,133, 41,  0,  4,123,  0, 96,200, 35, 35,120,  0,132,153,  0, 20, 70,242, 87, 60,
+241, 43,174, 16,231, 42,  0,  0,120,153,178, 60,185, 36, 57, 69,129, 91,  8, 45,113,  7, 87, 87, 46, 30, 40,206, 73, 23, 43, 20,
+ 54, 97,  2, 97,154, 64, 46,194,121,153, 25, 50,129, 52, 15,224,243,204,  0,  0,160,145, 21, 17,224,131,243,253,120,206, 14,174,
+206,206, 54,142,182, 14, 95, 45,234,191,  6,255, 34, 98, 98,227,254,229,207,171,112, 64,  0,  0,225,116,126,209,254, 44, 47,179,
+ 26,128, 59,  6,128,109,254,162, 37,238,  4,104, 94, 11,160,117,247,139,102,178, 15, 64,181,  0,160,233,218, 87,243,112,248,126,
+ 60, 60, 69,161,144,185,217,217,229,228,228,216, 74,196, 66, 91, 97,202, 87,125,254,103,194, 95,192, 87,253,108,249,126, 60,252,
+247,245,224,190,226, 36,129, 50, 93,129, 71,  4,248,224,194,204,244, 76,165, 28,207,146,  9,132, 98,220,230,143, 71,252,183, 11,
+255,252, 29,211, 34,196, 73, 98,185, 88, 42, 20,227, 81, 18,113,142, 68,154,140,243, 50,165, 34,137, 66,146, 41,197, 37,210,255,
+100,226,223, 44,251,  3, 62,223, 53,  0,176,106, 62,  1,123,145, 45,168, 93, 99,  3,246, 75, 39, 16, 88,116,192,226,247,  0,  0,
+242,187,111,193,212, 40,  8,  3,128,104,131,225,207,119,255,239, 63,253, 71,160, 37,  0,128,102, 73,146,113,  0,  0, 94, 68, 36,
+ 46, 84,202,179, 63,199,  8,  0,  0, 68,160,129, 42,176, 65, 27,244,193, 24, 44,192,  6, 28,193,  5,220,193, 11,252, 96, 54,132,
+ 66, 36,196,194, 66, 16, 66, 10,100,128, 28,114, 96, 41,172,130, 66, 40,134,205,176, 29, 42, 96, 47,212, 64, 29, 52,192, 81,104,
+134,147,112, 14, 46,194, 85,184, 14, 61,112, 15,250, 97,  8,158,193, 40,188,129,  9,  4, 65,200,  8, 19, 97, 33,218,136,  1, 98,
+138, 88, 35,142,  8, 23,153,133,248, 33,193, 72,  4, 18,139, 36, 32,201,136, 20, 81, 34, 75,145, 53, 72, 49, 82,138, 84, 32, 85,
+ 72, 29,242, 61,114,  2, 57,135, 92, 70,186,145, 59,200,  0, 50,130,252,134,188, 71, 49,148,129,178, 81, 61,212, 12,181, 67,185,
+168, 55, 26,132, 70,162, 11,208,100,116, 49,154,143, 22,160,155,208,114,180, 26, 61,140, 54,161,231,208,171,104, 15,218,143, 62,
+ 67,199, 48,192,232, 24,  7, 51,196,108, 48, 46,198,195, 66,177, 56, 44,  9,147, 99,203,177, 34,172, 12,171,198, 26,176, 86,172,
+  3,187,137,245, 99,207,177,119,  4, 18,129, 69,192,  9, 54,  4,119, 66, 32, 97, 30, 65, 72, 88, 76, 88, 78,216, 72,168, 32, 28,
+ 36, 52, 17,218,  9, 55,  9,  3,132, 81,194, 39, 34,147,168, 75,180, 38,186, 17,249,196, 24, 98, 50, 49,135, 88, 72, 44, 35,214,
+ 18,143, 19, 47, 16,123,136, 67,196, 55, 36, 18,137, 67, 50, 39,185,144,  2, 73,177,164, 84,210, 18,210, 70,210,110, 82, 35,233,
+ 44,169,155, 52, 72, 26, 35,147,201,218,100,107,178,  7, 57,148, 44, 32, 43,200,133,228,157,228,195,228, 51,228, 27,228, 33,242,
+ 91, 10,157, 98, 64,113,164,248, 83,226, 40, 82,202,106, 74, 25,229, 16,229, 52,229,  6,101,152, 50, 65, 85,163,154, 82,221,168,
+161, 84, 17, 53,143, 90, 66,173,161,182, 82,175, 81,135,168, 19, 52,117,154, 57,205,131, 22, 73, 75,165,173,162,149,211, 26,104,
+ 23,104,247,105,175,232,116,186, 17,221,149, 30, 78,151,208, 87,210,203,233, 71,232,151,232,  3,244,119, 12, 13,134, 21,131,199,
+136,103, 40, 25,155, 24,  7, 24,103, 25,119, 24,175,152, 76,166, 25,211,139, 25,199, 84, 48, 55, 49,235,152,231,153, 15,153,111,
+ 85, 88, 42,182, 42,124, 21,145,202, 10,149, 74,149, 38,149, 27, 42, 47, 84,169,170,166,170,222,170, 11, 85,243, 85,203, 84,143,
+169, 94, 83,125,174, 70, 85, 51, 83,227,169,  9,212,150,171, 85,170,157, 80,235, 83, 27, 83,103,169, 59,168,135,170,103,168,111,
+ 84, 63,164,126, 89,253,137,  6, 89,195, 76,195, 79, 67,164, 81,160,177, 95,227,188,198, 32, 11, 99, 25,179,120, 44, 33,107, 13,
+171,134,117,129, 53,196, 38,177,205,217,124,118, 42,187,152,253, 29,187,139, 61,170,169,161, 57, 67, 51, 74, 51, 87,179, 82,243,
+148,102, 63,  7,227,152,113,248,156,116, 78,  9,231, 40,167,151,243,126,138,222, 20,239, 41,226, 41, 27,166, 52, 76,185, 49,101,
+ 92,107,170,150,151,150, 88,171, 72,171, 81,171, 71,235,189, 54,174,237,167,157,166,189, 69,187, 89,251,129, 14, 65,199, 74, 39,
+ 92, 39, 71,103,143,206,  5,157,231, 83,217, 83,221,167, 10,167, 22, 77, 61, 58,245,174, 46,170,107,165, 27,161,187, 68,119,191,
+110,167,238,152,158,190, 94,128,158, 76,111,167,222,121,189,231,250, 28,125, 47,253, 84,253,109,250,167,245, 71, 12, 88,  6,179,
+ 12, 36,  6,219, 12,206, 24, 60,197, 53,113,111, 60, 29, 47,199,219,241, 81, 67, 93,195, 64, 67,165, 97,149, 97,151,225,132,145,
+185,209, 60,163,213, 70,141, 70, 15,140,105,198, 92,227, 36,227,109,198,109,198,163, 38,  6, 38, 33, 38, 75, 77,234, 77,238,154,
+ 82, 77,185,166, 41,166, 59, 76, 59, 76,199,205,204,205,162,205,214,153, 53,155, 61, 49,215, 50,231,155,231,155,215,155,223,183,
+ 96, 90,120, 90, 44,182,168,182,184,101, 73,178,228, 90,166, 89,238,182,188,110,133, 90, 57, 89,165, 88, 85, 90, 93,179, 70,173,
+157,173, 37,214,187,173,187,167, 17,167,185, 78,147, 78,171,158,214,103,195,176,241,182,201,182,169,183, 25,176,229,216,  6,219,
+174,182,109,182,125, 97,103, 98, 23,103,183,197,174,195,238,147,189,147,125,186,125,141,253, 61,  7, 13,135,217, 14,171, 29, 90,
+ 29,126,115,180,114, 20, 58, 86, 58,222,154,206,156,238, 63,125,197,244,150,233, 47,103, 88,207, 16,207,216, 51,227,182, 19,203,
+ 41,196,105,157, 83,155,211, 71,103, 23,103,185,115,131,243,136,139,137, 75,130,203, 46,151, 62, 46,155, 27,198,221,200,189,228,
+ 74,116,245,113, 93,225,122,210,245,157,155,179,155,194,237,168,219,175,238, 54,238,105,238,135,220,159,204, 52,159, 41,158, 89,
+ 51,115,208,195,200, 67,224, 81,229,209, 63, 11,159,149, 48,107,223,172,126, 79, 67, 79,129,103,181,231, 35, 47, 99, 47,145, 87,
+173,215,176,183,165,119,170,247, 97,239, 23, 62,246, 62,114,159,227, 62,227, 60, 55,222, 50,222, 89, 95,204, 55,192,183,200,183,
+203, 79,195,111,158, 95,133,223, 67,127, 35,255,100,255,122,255,209,  0,167,128, 37,  1,103,  3,137,129, 65,129, 91,  2,251,248,
+122,124, 33,191,142, 63, 58,219,101,246,178,217,237, 65,140,160,185, 65, 21, 65,143,130,173,130,229,193,173, 33,104,200,236,144,
+173, 33,247,231,152,206,145,206,105, 14,133, 80,126,232,214,208,  7, 97,230, 97,139,195,126, 12, 39,133,135,133, 87,134, 63,142,
+112,136, 88, 26,209, 49,151, 53,119,209,220, 67,115,223, 68,250, 68,150, 68,222,155,103, 49, 79, 57,175, 45, 74, 53, 42, 62,170,
+ 46,106, 60,218, 55,186, 52,186, 63,198, 46,102, 89,204,213, 88,157, 88, 73,108, 75, 28, 57, 46, 42,174, 54,110,108,190,223,252,
+237,243,135,226,157,226, 11,227,123, 23,152, 47,200, 93,112,121,161,206,194,244,133,167, 22,169, 46, 18, 44, 58,150, 64, 76,136,
+ 78, 56,148,240, 65, 16, 42,168, 22,140, 37,242, 19,119, 37,142, 10,121,194, 29,194,103, 34, 47,209, 54,209,136,216, 67, 92, 42,
+ 30, 78,242, 72, 42, 77,122,146,236,145,188, 53,121, 36,197, 51,165, 44,229,185,132, 39,169,144,188, 76, 13, 76,221,155, 58,158,
+ 22,154,118, 32,109, 50, 61, 58,189, 49,131,146,145,144,113, 66,170, 33, 77,147,182,103,234,103,230,102,118,203,172,101,133,178,
+254,197,110,139,183, 47, 30,149,  7,201,107,179,144,172,  5, 89, 45, 10,182, 66,166,232, 84, 90, 40,215, 42,  7,178,103,101, 87,
+102,191,205,137,202, 57,150,171,158, 43,205,237,204,179,202,219,144, 55,156,239,159,255,237, 18,194, 18,225,146,182,165,134, 75,
+ 87, 45, 29, 88,230,189,172,106, 57,178, 60,113,121,219, 10,227, 21,  5, 43,134, 86,  6,172, 60,184,138,182, 42,109,213, 79,171,
+237, 87,151,174,126,189, 38,122, 77,107,129, 94,193,202,130,193,181,  1,107,235, 11, 85, 10,229,133,125,235,220,215,237, 93, 79,
+ 88, 47, 89,223,181, 97,250,134,157, 27, 62, 21,137,138,174, 20,219, 23,151, 21,127,216, 40,220,120,229, 27,135,111,202,191,153,
+220,148,180,169,171,196,185,100,207,102,210,102,233,230,222, 45,158, 91, 14,150,170,151,230,151, 14,110, 13,217,218,180, 13,223,
+ 86,180,237,245,246, 69,219, 47,151,205, 40,219,187,131,182, 67,185,163,191, 60,184,188,101,167,201,206,205, 59, 63, 84,164, 84,
+244, 84,250, 84, 54,238,210,221,181, 97,215,248,110,209,238, 27,123,188,246, 52,236,213,219, 91,188,247,253, 62,201,190,219, 85,
+  1, 85, 77,213,102,213,101,251, 73,251,179,247, 63,174,137,170,233,248,150,251,109, 93,173, 78,109,113,237,199,  3,210,  3,253,
+  7, 35, 14,182,215,185,212,213, 29,210, 61, 84, 82,143,214, 43,235, 71, 14,199, 31,190,254,157,239,119, 45, 13, 54, 13, 85,141,
+156,198,226, 35,112, 68,121,228,233,247,  9,223,247, 30, 13, 58,218,118,140,123,172,225,  7,211, 31,118, 29,103, 29, 47,106, 66,
+154,242,154, 70,155, 83,154,251, 91, 98, 91,186, 79,204, 62,209,214,234,222,122,252, 71,219, 31, 15,156, 52, 60, 89,121, 74,243,
+ 84,201,105,218,233,130,211,147,103,242,207,140,157,149,157,125,126, 46,249,220, 96,219,162,182,123,231, 99,206,223,106, 15,111,
+239,186, 16,116,225,210, 69,255,139,231, 59,188, 59,206, 92,242,184,116,242,178,219,229, 19, 87,184, 87,154,175, 58, 95,109,234,
+116,234, 60,254,147,211, 79,199,187,156,187,154,174,185, 92,107,185,238,122,189,181,123,102,247,233, 27,158, 55,206,221,244,189,
+121,241, 22,255,214,213,158, 57, 61,221,189,243,122,111,247,197,247,245,223, 22,221,126,114, 39,253,206,203,187,217,119, 39,238,
+173,188, 79,188, 95,244, 64,237, 65,217, 67,221,135,213, 63, 91,254,220,216,239,220,127,106,192,119,160,243,209,220, 71,247,  6,
+133,131,207,254,145,245,143, 15, 67,  5,143,153,143,203,134, 13,134,235,158, 56, 62, 57, 57,226, 63,114,253,233,252,167, 67,207,
+100,207, 38,158, 23,254,162,254,203,174, 23, 22, 47,126,248,213,235,215,206,209,152,209,161,151,242,151,147,191,109,124,165,253,
+234,192,235, 25,175,219,198,194,198, 30,190,201,120, 51, 49, 94,244, 86,251,237,193,119,220,119, 29,239,163,223, 15, 79,228,124,
+ 32,127, 40,255,104,249,177,245, 83,208,167,251,147, 25,147,147,255,  4,  3,152,243,252, 99, 51, 45,219,  0,  0,  0,  6, 98, 75,
+ 71, 68,  0,255,  0,255,  0,255,160,189,167,147,  0,  0,  0,  9,112, 72, 89,115,  0,  0, 11, 19,  0,  0, 11, 19,  1,  0,154,156,
+ 24,  0,  0,  0,  7,116, 73, 77, 69,  7,219,  8, 10, 15, 54, 11,254,114,226, 41,  0,  0, 32,  0, 73, 68, 65, 84,120,218,236,189,
+121,212,101,103, 89, 39,250,123,167, 61,156,225, 27,106, 72, 85, 66, 37, 49,149,129,132,132, 41, 21,  6,  1, 21, 72, 33,160,226,
+132,137, 99, 59,155,216,186,188,182,182,146, 92,180, 23,246,242, 98, 19,187,111,115,219,123,181, 37, 42, 44,245,218, 10, 81,161,
+165,175,136, 41, 71,104, 90, 66, 42,  4,130, 16,  8,169, 36, 36, 33, 73,205,223,116,134,189,223,225,254,241, 60,239,217,251,156,
+250,230,250,190,202,224,254,173,117,214, 55,156,115,246,222,239,244,204,  3,208,160, 65,131,  6, 13, 26, 52,104,208,160, 65,131,
+  6, 13, 26, 52,104,208,160, 65,131,  6, 13, 26, 52,104,208,160, 65,131,  6, 13, 26, 52,104,208,160, 65,131,  6, 13, 26, 52,104,
+208,160, 65,131,  6, 13, 26, 52,104,208,160, 65,131,  6, 13, 26,156, 19,168,115,124, 63,193,175, 12,192,126, 33,176, 27, 64, 15,
+ 64,201,255,111,208,160, 65,131,  6, 13, 26, 60, 11, 32,  0, 72, 33,112,217,187,127,234,250, 63,121,248,247,127,226,232,163,127,
+116,211,137,223,249, 55,111,250,239,137, 18,  7,106,159,105,208,160, 65,131,  6, 13, 26, 60,195, 53,117,  1, 32,121,199, 15,191,
+242,157,183,126,215, 53, 63, 56, 83, 12,218, 83,211,173,252,218, 87, 92,250,252,111, 63,112,201,193,187, 62,255,208,147, 79,156,
+ 26,126,  9, 64,104,152,123,131,  6, 13, 26, 52,104,240,204,102,234, 18, 64,235,205,215,180,223,250,154,221,226,154,226,232, 81,
+216,147, 39,224,251, 22, 23, 92,113,225,236, 13,215, 95,243,150,163,167,230,212,189, 15, 28,255, 12,128,126,195,216, 27, 52,104,
+208,160, 65,131,103,182,166,158,254,237,125, 39,158,188,234,130,244, 69, 47,186,108,247, 94,148, 30,126,225, 20,252, 98, 15,157,
+243,118,234,111,189,254,197,223, 48,147, 39,151,127,244,174, 35,159,  6,112,162, 97,236, 13, 26, 52,104,208,160,193, 51,147,169,
+  3,128,  8,192,194,159,126,234,216,189, 78, 23, 59,191,254,170,189, 87, 24,101,224,122,139,240,167, 79,  3, 89, 27,175,122,245,
+ 85, 87, 29,188,106,223,107,255,254,222, 47, 63,124,122,169, 60,210, 44, 81,131,  6, 13, 26, 52,104,176,126,237,249, 92,223, 47,
+  3, 48, 13, 96,223, 91,175,155,254,161,223,254, 87,215,253,248,174, 86,146, 21, 75, 67, 64, 25,136,125, 23,195,236,219,135,167,
+158, 56, 49,255,243,191,241,145,255,240,223, 14,125,233,183,  0, 44,240,247,195, 51,121, 50, 67,  8,  7,  0,204,242,159, 71,132,
+ 16,207,105,161,228, 95,218,120, 27, 52,104,208,160, 97,234,203, 67,  2,152,  2,176,231,146, 89,245,173,255,227,103, 95,246,243,
+ 87, 93, 48,179,183,236,149,  0, 60,176,247, 34, 36, 23, 93, 12, 27, 60,222,249,190,255,249,  7,191,242,187,127,247,203,  0, 30,
+229,231, 61,107,198, 30, 66,216, 15, 96,255, 58, 63,126, 74,  8,113,120,157,215,189, 19,192, 65,254,243, 86, 33,196,109,207,113,
+166,254,156, 24, 47, 11, 39,  7, 89, 64, 57, 80,123,235, 48,128, 35,  0,238, 16, 66,156,218,130,251, 76, 94, 31, 91,189,  7, 27,
+ 52,104,240, 47, 27,250, 44,152,178,  7,208, 61,127,202,188,240,162, 89,179,211,  5, 41,198, 36,  5,  1, 72, 41,132,143,255, 17,
+244, 37,168,209,187, 26, 64,171, 95,248,254,191,253,240, 67,127,245,127,190,245,234,111,191,114,239,212,140, 45,  3,112,234, 56,
+202,118, 27,106,199,121,120,199,205,223,240,131, 47,223,127,193,243,127,240, 93,119,252,226,241,249,226,227, 91,196,216,111,  0,
+240,174, 13, 16, 99,  0,184,  3,192, 33, 33,196,237,205,182,121,206, 88, 25,110,224,215, 74,  2, 94, 20, 88,222, 19, 66,184,157,
+  5,151,179, 97,238,  7,  0,220,185,137,239, 29,  2,240,134,102,213, 26, 52,104,176, 29, 76, 93,  0, 16,221, 84, 30,248,175, 63,
+248,146, 95,251,150, 23, 93,248,218, 86, 75, 39, 65, 40, 64,  8, 64, 10, 64,242,239, 90,209,223, 74,142,222, 19, 74,211,255,132,
+  0,132,  4,164, 68,  0,130, 11,194,123,173, 33, 71,255, 23,240,174, 68,232, 11,188,249,141, 87,190,226,240,243,127,242,207,126,
+242,215,255,252, 29, 31,249,228, 99,239,  3, 48,196,185, 55,197,223,  0,224,134, 16,194, 13,  0,110,220, 10,205,173,193,211,138,
+187, 55,248,249,155,  0, 28, 12, 33,220,216,104,205, 13, 26, 52,120,174,105,234,187,127,239, 71,175,125,247, 13,175,218,255,117,
+182,231,  0, 47, 32, 36, 23,139, 11, 18,  8,130,148,121,207,172, 55,176,134,238,  1,120, 15, 40,  5, 33, 88,117, 15,  0,132, 16,
+ 82, 10,133, 16, 70, 90, 61,177,236,128,  0,  1,219, 43,113,209, 69,187,118,255,233,127,252,161,255,231,127,255,173, 67,151,255,
+198,159,124,242, 63,  0, 56,182, 69, 90,123,212,132,176,134,182, 86,255,251,206, 16,194, 27, 26,198,254,156,193, 97,144, 37,230,
+176, 16,226, 16,107,242,179,188,214, 55,213,246,192,126,  0, 31,  8, 33, 92,183, 69,107,127, 59,200,188,191, 22,154,125,214,160,
+ 65,131,237,211,212, 83, 35,246,191,254,202,243, 94,134,165, 18,174, 63,  0,188, 39, 38, 29, 45,235,177, 24,108,252, 27,  1, 80,
+ 18, 98,215, 30,210,210,125,  0,164,  7, 60, 91,241,133,228, 75,  7, 64,  6,192, 59,210,246,157, 27,197,231,219,161, 69,203, 24,
+249, 95,126,241, 91,126,238,101,151, 95,248,194, 31,127,215,159,191,109, 88,250,123,183,130,177, 11, 33, 86, 53,109,178,118,254,
+ 46, 84,102,218,  3, 76,236,111,107,182,208,179, 26,183,  3,184,125, 57,205,155,153,246, 29,  0,238,  8, 33,188,135,215, 59, 50,
+246,173, 90,251, 59,162, 16,209,160, 65,131,  6, 91,  1,185,137,239,168, 97, 25, 78,252,197,125,143,126, 18,114,128, 52, 41,145,
+182,128, 36, 15,252,242,213,239, 89,128,145, 67,192, 21, 64,214, 33,147,187, 39,166, 29,198,216,112,  9,248,  2,240,  3, 32, 12,
+249,239,  1, 16, 74, 98,240, 33,  0,193,195,186,  0, 63,116,248,129,183, 94,123,240,158,247,253,235, 15,189,240,226,217,239,  4,
+177,125,185,157,147, 36,132,184,  3,228,211,172,107, 76, 55, 52,219,231, 89,141, 55,  8, 33,110, 94,143, 41, 93,  8,113,243,132,
+ 70,125, 75, 51,125, 13, 26, 52,120,174,104,234,  0,112,226, 71,127,247,190,119,252,213,167, 31,249,206, 43, 46,158,186, 88,  0,
+210,135,224,153,  4,194,  5, 10, 45,235, 15,173,188,246,194, 93, 47,184,241,235, 95,188,223,232, 84,122,239,217,223, 14, 98,236,
+195, 37,  8, 45, 32,246, 93,  3,185,227, 10,160,181,  7,194,116,  1, 87, 32, 12,143, 35,244,190,138,112,226,139,128,235,  3, 50,
+  7,224,224,131,130, 95, 42,240,130,171, 47,188,232,163,191,253, 99,191,247,166,159,126,175,250,236,145,147,127,134, 42,120,111,
+187, 24,251,145, 16,194, 29, 53,141,237,192, 86, 92,119,153,136,232,195, 91, 20,105, 93,143,240,223, 84,186,217, 86, 92,227, 92,
+140,119,226, 57,215,117,189, 77,104,200,183,163, 10,174,156, 13, 33, 28,104,124,235, 13, 26, 52,120, 46, 48,117,  7, 96,  9,192,
+ 23, 62,112,120,254,221, 56, 60,159, 99,249, 34, 54, 59,127,232,245, 23,253,216,155,175,187,230,252, 68, 26,233,124, 32,211,123,
+127,  8, 12,151,  0, 55, 15,249,252,215, 64, 94,245,189,144,231, 93,113, 38,209,141,191, 44, 29,131,123,242,159,224, 31,255, 71,
+  8,145,146,214, 46,  4,108,191,192,249,123,119, 77,127,248, 63,255,240,111,190,234, 71,127,235,228,227, 39,  7,127,139,173,243,
+177,175,132, 45,201,195,102,198,118, 19,107,251,  7,150,121,255,  8, 42,211,240,169, 21,174,241,174,218,119,239, 16, 66,220, 94,
+187,238, 77,152,136,232,230,107,222,182,158,232,253, 16,194, 77,172,141,238,223,232,115,109,199,120, 87, 25,235, 45,124,221,217,
+218,199,183, 43, 82,124,146,129,207, 54,228,163, 65,131,  6,207,  5,166,238,  1, 12,  0, 88, 80, 81, 24,133,154,  7,157,153,234,
+ 11,222,247, 83,175,248,149, 31,126,237, 21,175,245,  5, 96,157,  7,202, 33, 66,127, 17,176,  3, 64,  7,152, 55,253, 18,228,254,
+235,215,190, 91,123, 55,212,165,111,129,152,121,  1,252,231,223, 11, 72, 71, 74,185,  0,108,191,192, 69,151,158,191,235,189,111,
+255,238, 95,127,227, 47,252,254,119,  2,248,202, 54, 51,245, 58, 33,223,148,118, 25, 66, 56,  8,224,  3,107, 48,133,253,172, 21,
+222,180, 74,180,117,204,173,  6,128, 67,156,162,245,158, 85, 44,  8,251, 65,169, 89,  7,216,156,188, 18,243,125, 15, 86,118, 45,
+196,231,186, 33,132,240,134,115, 56,222,229,198,122,103,195, 88, 27, 52,104,208,224,236,153,122,100,220, 37,191,234,138,181,186,
+250,121,217, 91,254,224, 39, 94,115,219,181, 87,238,185,220,246, 61,188, 43, 73, 51, 47, 45, 32, 28, 68,  2,232,111,121, 23,228,
+190,151,143, 46,214, 47, 44,238,122,248, 40,254,242,115, 79,226,244, 66, 31, 70,  9, 92,249,188, 25,124,243, 11, 46,192, 37,123,
+102,  0,  0,114,231,165, 16, 47,250,105,184,207,254,  6, 96, 52,201, 22, 82,194, 47, 13,240,141,215, 95,245,210, 31,252,166, 23,
+254,216, 31,252,229,125,239,196, 54,165,187, 49,195,187, 97, 66, 35,220,232, 53,110, 96,  6, 55,169,  1, 30,170,  9,  9,117,109,
+118, 63,170, 72,251,195,107,  8, 27, 31,168,105,214,119,212, 52,203,  3, 19,207,125, 83,  8,225,200, 10,133, 98,222,181, 12, 67,
+175, 95, 43, 62,219,129,101,198,113,174,198, 59, 59,193,208, 79,213,158,111,255, 54,158,149,131,107,104,238,103,179,175,182,220,
+253,210,160, 65,131,127,153, 16, 91,116,141,  0, 96,250,135, 94,187,231,231,254,243,119,127,237,219,118,116,178,188, 40,  2,  5,
+200, 21,  3,102,247,  0,202, 57,168,111,248, 73,168, 23,253,171,209,151,191,244,228,105,188,253, 79,239,197,103,143, 47,160,155,
+ 24, 36, 70, 82,  0,124, 89, 34,241, 22,223,250,138, 75,240, 51,175,191, 26,137, 38, 11,191,255,234,189,240,247,191, 15,232,236,
+ 70,236,210,170,147,  4, 15,124,241,241, 39,175,248,158,223,120, 19,128,207,129, 92,  4,171, 17,210, 91, 80, 43, 62, 35,132, 16,
+235, 32,188,147, 26,236, 27, 38,253,178,171, 85, 88, 99,191,239,221, 53,102,116,  4,192,205,203,249,118,151,209,110, 15, 11, 33,
+174, 91,229, 94,117,  6,124,243, 36, 83,224,123,127,160,198, 60, 78,  1,184,180,254, 57, 54,185,191,103,130,105,221, 56,233, 71,
+ 95, 69,243,222,182,241,174, 48,214, 35,124,207, 59, 38,215,106, 59,152, 98,  8,225, 65,140,251,237,175,219,164,149,230,206,  9,
+107,207,114,214,134, 35,188,150,183, 55,165,119, 27, 52,104,112, 46, 52,245, 73,134,126,201,175,126,207, 21,191,122,235,155,174,
+249,126,233, 53,138, 97, 73, 12,221,218,202, 56, 31, 60,176,251, 82,168,231,127,251,232,203, 79,206, 45,225,  7,126,231, 19,120,
+112, 96, 49,211,202,209,215, 10,137, 81,200,149,128,201, 18,  8,103,241,254,255,117,  4, 74, 74,252,155,131,215,144,198,190,247,
+ 69,240,143,236,  1,220, 18,160, 51, 64,  0,190, 40,112,201,165,187,247,190,229, 53,151,188,241,195, 31,127,232, 11,168, 50,228,
+215, 75,108,111, 89, 67, 67,155,100, 40, 55,111, 34,208,234, 61, 19,218,229,138,185,206, 66,136, 67,108,222,142, 26,233,129, 16,
+194, 77,107,248,195, 15,  9, 33,110, 92,225,122, 71, 66,  8,183,214, 24, 74,204,193,174, 51,196, 91, 38,152,202,178,121,248,181,
+103,187,251,105, 28,239,145,149,174,183, 77, 12,125, 50,190, 96,171,170, 10,174,228, 62,216,207,235,113, 75,  8,225, 57, 95,110,
+184, 65,131,  6,207, 12,166, 46,  0,136, 61, 93,117,253, 31,223,244,178,255,244,186,151, 92,240, 98, 59,  0,172, 40,  1, 63,164,
+126,108,137, 24,125, 50,148,125,168, 43, 94,  3,164,221,209,  5,254,253,127,255, 28, 62,245,196,105,160,219,197,201, 69, 11, 72,
+  7, 41,128,174, 18,184,184,173,113, 65,174,177,107,186,131, 15,254,175,  7,241,218,203,207,195, 75, 46, 62, 15,144, 18,242,194,
+215,194,127,254,247,129, 93, 23,  1,193,195, 11,  1,157,165,184,241,245, 47, 59,248,225,143, 63,244, 94,  0, 39,177, 49, 19,252,
+122, 75,198,222,142, 77,228, 22,215,106,139,215,181,218, 85,153,143, 16,226, 48,151, 38,189,165, 38, 92,172,198, 76,110, 94,227,
+122,135, 66,  8,135, 49,110,234,142,207, 55, 89, 42,245,182,213,158,175,246,108, 55, 61, 77,227,189,237, 92,153,168,121, 44,245,
+253,113,120,139, 74,  5,199,186,242,117, 51,126,189,  6,253,104,111,134, 16,246,175, 20,  7,209,160, 65,131,  6,117,108, 38,191,
+ 59,  6,197,117,222,122, 96,250,231,239,249,119,175,253,211,215, 93,189,247,197, 69,207,193,195, 17, 67,151,160, 10,114, 74,  0,
+ 90, 80,  5, 57, 45, 33,119, 95, 51,186,200,209,185, 30,254,224,211, 95,  1,178, 22,165,185, 41,  9, 40,  5, 15,137,185,129,195,
+103,143,246,112,247,209, 30,138, 32, 96,149,194,223,124,241,104,245,  0,221,139, 40,232, 14,150,159, 38,  0,214,227,202, 11,103,
+ 46,  5,112, 62,182,175, 81,205, 13,172, 69,110, 52, 64,171,206,224, 78,109,128, 41, 28,154,184,247,138, 12, 98,157,102,218,195,
+ 43, 60,211,193,  9,  6,187,158,231,187,227,105, 26,239,145,115, 85,127,159, 93,  8,147,230,242,179, 97,174,167,  0,220, 10,114,
+125, 92, 39,132,184, 81,  8,113, 91,237,117,163, 16, 98,  7,127,166, 46,180,220,196,130, 87,131,  6, 13, 26,108,169,166, 30,205,
+237, 23,188,237,219,246,253,202, 59,191,249,133, 63,161,188, 70, 81, 56, 64,121, 50,177,  7, 64,120,129,160,  4, 32, 37, 87,139,
+243,128,206, 32,218, 23,140, 46,244,212, 66, 31,189, 65,  9,180,179, 74, 78,136,186,181,164,250,177,199, 23, 75,220, 85, 88, 92,
+ 61,165,177, 48,176,213, 67,100,211,  0, 20, 48,236, 65,228, 93,  4,  4,192,149,184, 96,111,231,188, 52,145,123,135,133,255,194,
+  6,199,117,235, 42,239,237,103, 38,181,159, 53,168, 81,244,247,  6,180,197,131, 43, 48, 86,172, 67,187, 30,211, 26, 87,  8, 32,
+ 91,175,229,224,200, 42, 99,220,208,181, 38,159,237, 28,142,247,156,228,134,179,224, 54, 25, 59,112,235,217,228,166,243,119,215,
+ 83,236,230,182, 16,194, 33,140,187, 56,222,181,134, 32,213,160, 65,131,  6, 27, 98,234,  2,  0,166, 51,249,170,247,253,200, 85,
+191,254, 29,215, 94,244,106, 59,  4,202,196,145,102,238,  2, 80,  4,232, 84,160,239,188, 55, 16, 18, 90,142, 50,216,  5,  0,132,
+ 42,126,109, 54, 79, 32,141,129, 15,160, 90,241, 33,140,234,189, 35,  0,240,212,  8,102,161, 95,226,222, 65, 31,111, 49,245, 84,
+120, 15,132,  2,176, 67, 64, 76, 65,  8,170, 82,215,105,235,214,158,169,108,246, 43,199,123, 27,178, 64,172,199,103,201,126,213,
+ 91, 80,181,231,188, 19,192,122,131,165,234,209,205,251, 57,240,107, 51,152, 93, 69,  3, 60, 27,108,138,  9,243,103, 15,156,227,
+241,110, 59, 83,103,134,126,231,196, 56,110, 62,151, 29,250,216, 29,113, 43, 42,211,255,254, 16,194, 13,147,129,129, 13, 26, 52,
+104,176, 81,166, 30, 77,217,230,107, 47,206,190,239,143,126,236,218,219, 46,217, 51,125, 94, 49, 12, 64,166,136,161,151, 30,178,
+  8,208, 45,137,119,255,221,  3,159,185,100, 42,155,249,246,  3, 23, 94, 92,  4, 80,163, 23,161,128,114, 17, 97,225, 97,136,157,
+151,  2,  0,158,183,163,139,111,187,108, 15, 62,120,255, 49, 64,107,192, 10,170,251, 30, 27,192,128, 25,187, 16, 24,204, 45,225,
+202, 61, 83, 21,209,237,157,  2,  6,243, 64, 49,205, 31,246,  8, 85,104,156,196, 54,152,223, 89,123, 66,141,200,174, 39,120,109,
+ 57,230,180,145, 94,238, 79,  7, 78,109,193,103,159, 77,227, 93, 15, 67,191,245,105,106,185, 91,175, 98,135,103,211, 60, 54,104,
+208,224,153,201,212,163,185,253,188,159, 62,184,231, 23,223,249, 77, 87,255,111,211,121,154, 20, 30, 64,155, 53,231,194,195,120,
+160, 76,129, 95,250,255, 62,247,225, 95,251,243,175,124,240,195, 63,253,194,183,129, 10,191,145, 95, 93,  0,208, 18,225,196,103,
+129,175,185,158,153, 36,240,246,111,189, 10, 31,188,255,  9, 96, 80,  2, 73, 82,241, 98,199,119, 13, 30, 88, 90,194, 27,175,216,
+135,111,126,225,190,138,240,206,127, 25, 33, 12, 33, 92, 57,210,236,133,  8, 88, 92, 28,246,143,206, 15, 22,182, 81,123,186,141,
+171,155, 69,220,128,141, 71, 66, 31,193,230, 43,211, 61, 27,243,151,159,109,227,157,100,232,183, 63, 93,209,231, 66,136, 83, 19,
+193,141,  7,209, 52, 17,106,208,160,193, 38,153,186,  0, 32,148,196, 21,191,243, 67, 87,252,151, 31,121,229,165,111,116, 37, 80,
+104,  1,164, 10,240, 30,161,239,145,106,224,216,160, 24,252,204,127,187,231,119,223,255,201, 83,127,  4,192, 63,188, 48,124, 10,
+ 34, 92, 25,  2, 32, 34, 83,207,187,240,143,124,  2,234,202, 31,  0,218,187,  1,  0,215,125,205,110,124,232,230, 87,227,  7,222,
+123, 23, 22,231,  7, 64,150,145, 63, 61,  4,160, 44,129,126, 15,111,186,124, 47,126,255,167, 94,141, 52,154,223, 93,  1,255,192,
+159, 65,164, 25, 32,200,143, 31,188,  3,164,196, 99, 79,204, 31, 27, 20,254, 24,182, 47, 80, 14, 32,159,243,193, 26,145,221,176,
+246,245, 47, 44, 69,233, 89, 51, 94,238,198, 54,201,208,159,238,168,243,166, 16, 77,131,  6, 13,214, 13,185,  6, 83, 63,239,189,
+ 63,242,252,223,252,145, 87, 93,250,198,162,  4, 92, 91,  3,185,161, 44,240, 37,143, 52,147,184,239,241,185,167, 94,247,174,143,
+191,227,253,159, 60,245, 95,  1, 60, 12,224,241, 47, 29, 91,248, 34,164,  0, 28,247, 87, 81,  2,208,100,130,183,247,253,246,216,
+ 77,190,237,197,251,240,207,255,238, 13,248,213,183, 92,131, 23,205,166,200, 66,137, 41,233,240, 29,151,237,194,251,255,245,215,
+225, 67,191,248, 58,156, 55,157,143, 62,239,191,252,231,  8,167, 30,  6, 76, 78,109,219, 17,  0,235,  0, 41,240,197, 71, 79, 63,
+  2,234,179,238,159, 97,243,188, 82,212,249,179,253,249, 14, 62, 75,199,187, 18, 67,191,233, 25,198,208, 27, 52,104,208, 96,203,
+ 52,117, 92,181, 39,121,237, 91,175,126,222,245,182,239,129,174,  6, 18,  9, 20, 30,114, 96,161, 59, 18, 31,189,247,201,251,191,
+247, 61,159,254,143,167,122,254, 99,  0, 78,128, 26,189,100,127,245,169, 19,119,157,126, 83,241,163,221,118,162,189,103, 59,188,
+  0,208,106, 35,124,229, 31,225,103,254,  8,242,202,239, 31,221,231,162, 93, 93,252,242,183,188,  0,183,188,249, 74,156, 94, 28,
+ 66,107,137,217,118,122,198,243,248,199, 63,  1,247,207,127,  8,228,109,146, 58,164, 66,240, 30,194, 57,184,193,  0, 31,252,135,
+123,254, 39,168, 30,253,118, 50,245,205,248, 53,199, 76,168,219, 85,245,236, 44,112,164,246,124,235,234, 62,199,249,219,207,214,
+241, 62,155, 24,250,102,131, 24, 27, 52,104,208,104,234,227, 12,255,  5,251,242,203,219,169,129,247,160,232,246, 94,  9, 93, 88,
+ 32,  5,110,187,243, 11,135,222,244,238,195,255,246, 84,207,255, 13,128,167,  0,204,  1, 40,  0,148, 15, 28, 47,238,250,232,253,
+ 79,220,171, 52, 16, 56, 21, 77, 72, 50,197,139,246, 52,252, 63,255, 33,220,189,255, 23, 80,140,187,191,141,146,216, 61,157,159,
+201,208, 93,  1,255,192, 29,240,119,189, 19, 34,205, 32,148, 34,127,189, 73,129,178,132,146,192, 23,191,120,244,201, 15,126,252,
+145, 67,160,218,239,219,194,212, 39, 90,124,110,132,200, 78,166,137,221,244, 12,219,  7,245,231,155,229,114,166,155,213,210,159,
+ 13,227,125, 86, 48,116, 46,221, 59, 41,124, 53,104,208,160,193,166,152,186,250,196,  3,139, 95, 58, 81,148, 54,105, 75, 36,165,
+ 71,162,128,129, 10,225,103,239,184,231,143,111,253,127,143,252, 10,128,207,  0, 56,206, 26,122, 12,111, 43,  1, 60,245,159, 62,
+252,224, 29,253,210, 67,149, 22, 40, 61,105,235,177, 40, 77,187,139,240,208, 71, 97,255,238,103,224, 31,251, 24,208, 95, 65,137,
+ 27, 46, 32, 60,117, 47,236,199,126,  1,254,190,219,129, 44,  7,148, 38, 95,186,  0, 32, 52,196,176,  4, 84,192,187,222,255,241,
+ 15,  2,248, 50,223,127,203,153,122, 45,111,185,142,117,165, 23,113, 26, 82,157, 32,223,178,134,166,123,174,113,  7,198,125,183,
+183,172, 99, 46,110,121, 22,143,119, 37,134,126, 24,171,215, 44, 88, 83,232, 11, 33,220, 82,123, 29,156,152,179,141,238,183,122,
+ 80,230, 41, 52,121,234, 13, 26, 52, 88,  3,171,154,223,159,152,119,159,250,241, 63, 60,124,219,207,190,238,242, 27,102,219,102,
+250,254, 19,139,143,253,214, 95, 63,244,225,127,124, 96,241, 47,  0, 60,  1,224, 52,107,231,117, 38,234,  0,244,239,126,108,240,
+145,255,251,239, 31, 60,248,182, 55, 95,249,  6,183, 80, 80,241,153, 84, 85, 33,108,173,105,192,206,195,125,234,215,224,147, 14,
+176,227, 10,200,153,203,  0,149,  1,161,132,159,127,  4, 56,126, 63, 48, 56,  5,152,  4,104,239,168, 81, 60,  0, 94,  1,133,128,
+106, 43,124,228,175, 31,252,252, 31,254,213,151,254, 24,100,122, 47,183, 65, 59, 63,136, 51,251,139,159,194,198, 34,223,111,198,
+120,237,245, 59,185,205,232,161,117,220,255,  6,102,150,219, 18,112,198, 81,214,183,213,152,200,193, 16,194,123,150,211, 88,107,
+ 41, 95,179,207,214,241,174,194,208,223,112,150,110,130,253, 19,140,248,214,154,213,226,  0,215, 58,184,125,173, 92,243, 90, 27,
+221,250, 28,223,214,116,111,107,208,160,193,217, 48,245, 18,192,201, 15,221, 51,247,222, 15,221,115,247,157,  0,186, 32,191,249,
+147, 32, 83,251, 34,127,102,178,172, 88,236,183,254,228,173,127,244,192,187, 15,156, 63,125,201,245, 47, 61,255,178, 98,110,  0,
+ 49,157,  1,169, 24, 85,140,131, 49, 16,198, 80, 81,154,147,247,193, 29,251,244,232,114, 66, 42,106,216,210,238, 78, 80, 60,  0,
+133, 71,240, 41, 76, 98,112,228,129, 99,167,126,224,215,255,226,215, 89, 75,239, 99,141, 14,109, 43, 16,209,205,180,106,189,121,
+ 35, 68,150,171,165,221,140,170, 19, 90,100,116,135,152,240, 31,158, 96, 14, 81,152, 56, 80, 99, 16,219,137,219, 49,222,  6,245,
+ 38,214, 52,111,175, 61,219, 65,102,132,179,172,137,159,194, 10, 62,248,103,242,120,121, 92,203,185,  4, 62,176,129,173,112,199,
+ 38,114,215, 15,178,192,116,132,231, 96,185,218,239,147,173,114,  1, 42,  3,220,164,178, 53,104,208,224,172,152,186, 99,198,109,
+153,137, 75,254,223,144, 95, 14, 43, 55, 77,177,  0, 22,  3,112,223, 13,191,117,207,255,241, 55,111,123,197, 59, 95,122,249,174,
+231,149,167,  7,192, 84, 10,145,129,106,189, 71,173, 93, 40, 32,201, 87,207, 67, 11,  0,188,  7,134, 30,126,110,128,228,130,243,
+240,248, 19,115,139, 55,252,242,159,221,118,114,161,252, 88, 77,200,216,110, 28,102,134,190,225,160, 37, 33,196,237,181,  2, 54,
+179,117, 66,255,116,111,  4,214,214,111,100,237,122,255, 10,154,103,221, 74,113, 35,214,104,132,243, 76, 30,239, 50,216,168,123,
+224,208, 89,220,107, 63,214, 31,103,112,251, 57, 16,232, 26, 52,104,240, 28,129, 92,131,141, 90,144,191,252, 20,168,243,217,105,
+  0, 61,254,127, 88,227,187, 67,  0,115,167,122,254,239,191,254,215,254,233,237, 31,189,231,137,251, 77,162,161,230,134,240,167,
+ 45, 48,112,181,171,  8,142,144,159,120,197,154,240, 14, 64,225, 16,230, 28,112,178,143,100,199, 14,124,238,193,249, 39,223,240,
+115,127,242,142,123, 30,153,255,115,126,182, 30,182, 47,234,253, 16, 19,215, 27,185, 17,199,217,212,255,190, 29, 84, 94,246,118,
+172, 47,  7,249, 14,144, 41,123,219, 43,154,113, 83,152,235,214,184,215, 33, 80,219,211,195,207,246,241,158, 99, 68,127,253,122,
+247,206, 29, 32,119,192,205,141,217,189, 65,131,  6,235,166,227,219,124,125,  5,160,197, 90,218,213,191,240, 29, 23,253,248,219,
+223,120,213,183,206, 78, 39,218, 15, 61,156,150, 64,174, 33, 98,141,120, 89,123,156, 16,  0,  7,  4, 27,128,190,131, 44, 45,148,
+145,232, 59,224, 55, 63,246,228,223,189,253,247,238,126, 79,233,195,167, 80,165,210,217,103,227,  2,176, 41,120, 82, 75, 60,  2,
+234,110,118,232,105,124,174,104, 14,175,247, 68, 63,180,206,110,112,207,186,241, 62, 77,235,190, 31,103,198, 38, 28,  6,153,219,
+ 27, 70,222,160, 65,131,103, 28, 83,143,140, 61,  3, 48, 13, 96,239, 11,246,164,175,255,217,183,236,255,246,239, 58,112,209,203,
+119,116,181, 65,144,220, 19, 93,114, 49, 25,126,176,  0,200,224, 71,202,250,226,192,251,143,124,230,241,251,126,251,208, 67, 31,
+254,219, 47, 44,252, 37,128,199,216,114,208,127,182, 50,244,  6, 13, 26, 52,104,208,224,217,198,212,227,125, 18,  0,109,  0, 83,
+  0,246,238,153, 82, 47,121,211,181,179, 47,127,235,139, 47,122,217,213,207,155, 58,191,157,170,118,166, 69, 34,149,146,222, 33,
+ 12,157, 45,122,133,239, 61,124,116,225,216,  7, 62,251,232, 61,135,238, 62,117,215,  3,199,139,195,  0, 30,  7, 48, 15,242,161,
+111, 91, 78,122,131,  6, 13, 26, 52,104,208, 48,245,213,239, 37,  1,164, 32,147,124, 11, 20, 81,191,  3,192,158, 78, 42,118,182,
+ 19, 57,149,105,153, 20,206,219,197, 34, 44, 44, 12,252,  9,  0, 71, 65, 38,246,121,144,223,124,  9,107,  7,234, 53,104,208,160,
+ 65,131,  6, 13, 83, 63,135,204,221,176,246, 30, 95, 26,163,238,235,  0,107,224, 37,191, 10,102,228,182, 97,230, 13, 26, 52,104,
+208,160,193, 51,135,169, 79,222, 63, 50,249,248,179,206,212, 67,237,103,195,200, 27, 52,104,208,160, 65,131,103, 48, 83, 95,237,
+121, 26, 38,222,160, 65,131,  6, 13, 26, 52,104,208,160, 65,131,  6, 13, 26, 52,104,208,160, 65,131,  6, 13, 26, 52,104,208,160,
+ 65,131,  6, 13, 26, 52,104,208,160, 65,131,  6, 13, 26, 52,104,208,160, 65,131,  6, 13, 26, 52,104,208,160, 65,131,  6, 13, 26,
+ 52,104,208,160, 65,131,  6, 13, 26, 52,104,208,160, 65,131,  6,219,  4,129, 61,175,217,250, 34, 47, 90,  3, 66,  2,240, 64,105,
+ 55,247,253, 68, 87,127, 59, 13, 40, 11, 56, 15, 40,  9,244,  6,244,153, 86, 14, 72,  9,168,  4,176,  5,127,216,  3,189, 18, 40,
+  7,213,181, 52, 95,107,185,238,241,189,193,248,125,  1,186, 71,150,210, 24,116,  2, 20,  3,160, 40,169, 64,173, 50, 84,212,214,
+  6, 64, 11, 42, 96, 11,126,207, 76, 92,111, 43,231, 51,201,232,153, 92, 65,227, 21, 18,232, 47,  0,222, 80,155, 90, 33,168,170,
+254,206, 29, 84,131,207,228,128, 49, 72, 18,  9, 59,244,240,197,144,230,212, 91,160, 44,129, 84,  1, 75,  3,154,171, 76,  3,131,
+130,202,253,216,  1, 77,148,  0,215,241,243, 52,  7,174,160,255,235,  4,232,247,233,111,239,105,254, 61,207,173,231, 53,175,255,
+190,217, 61,240, 92,129,201,128, 96,129,153,157, 64,111,137,246,108,175, 15,180,218,192,226, 28,208,153,  6,138, 30,205,107,111,
+  9,176,150, 94, 43,237,131, 73,212, 63,107, 52,144,231, 64,210,162, 53,141,173,140,125,  0, 22,230,105,221,215,187, 63,205, 50,
+247,146,146,206, 96, 44, 17,117,182,235,218,158,198,107,191,241,117,176,222,227,227,247,223,143,235,175,123, 57,254,230, 31, 62,
+  6, 60,246,200,250,232,  2, 31, 61,132,101,230, 44,158, 25,  7, 58, 27, 40,  1,169,249, 12,243,103,138,193,242,115,189,218, 60,
+107, 13,  8, 77,103,221,215,104, 74, 81,123,  6,163,199,207,  5,106,159,117,126,229,245,173,237,153,214,129,203,209, 59,252,  0,
+221, 71, 27, 96,215, 14, 32,215, 64,223,  2,143, 62, 85,209,183,205,210, 85,111,  0,215,167,253, 56,183, 64,255,155,234,210,222,
+ 20,154,126,159, 59, 69,159, 47, 65,115, 39,  4,125,103,106, 22,152, 63, 69, 99,204,114, 96,137,247,181, 45,137, 86,187, 65,228,
+ 46,213, 62,153,234,  2,195, 33,128,100,252,125, 41,129, 97,  1,100, 93, 32, 12,137,174,197,249,137, 52,200,110, 19,253,168,207,
+ 71,233,137,214,217,115, 68,171, 76,  2, 76, 79,  3, 89, 66,180,183,215,  7,122,139,244,127,  9,162,245, 58,  3,242,  4,  8,142,
+190, 51,112, 21, 95,141,223,243, 30, 24, 12,  1,163,128,114,  8,244,  6, 80,232, 92,244, 43, 91,250,176,173, 12, 72, 83, 32,111,
+209,164, 41,193,197, 94, 55,208, 76, 77, 74, 98,172,163,191,249,187, 82,208,228,123, 87, 93, 79, 41,250,124,176,180, 11, 74, 15,
+ 12,123,213,119,149,  4,181,119,229,131,165, 38,238, 85,127, 54,239,233,149, 26, 98,222, 74,  3,174,  4,116, 74, 19,  8,  0, 90,
+ 86,125,225, 44, 19,139, 86, 27, 48, 18,232, 15, 55, 54,206,245,194, 51, 69,208,160, 69, 85,154,132,152,164, 69,  4, 36, 53,192,
+236, 20,176,107,  6,112,  2, 83,179, 83, 48,105,138, 78,150,224,130,238, 14,120,239, 48, 53,213, 69,174, 13,160, 36, 74,  1,122,
+ 86, 33,105,141,250,  5,207, 93,159,152, 75,176,192, 48,208,198, 42, 74,154, 56,157,144, 64, 16, 60, 80,  6, 90,131,200, 52,  4,
+ 63,151,102,  6, 34, 64,189,115,  3,175,153, 16,213,154, 42,201,  4,207,111,236,240,249,103, 97, 51,190, 52,  1,138, 33, 48,187,
+ 19,152,159,  7,218,109, 34,198,105, 14, 44,205, 19, 67,159,155,163,255,207, 47,  2,153, 33,162,178,220, 88,151, 99, 52,241,172,
+196,249, 84,  9, 49,245, 60,161,207,  7,150,215,149,166,125,235,  2, 19,214,117,158, 65, 81, 59, 35,  0, 93, 79, 73,250,185,209,
+ 51, 61,137,172,139, 29, 47,121, 62,190,233,107, 95,133,139,247, 93,128,151, 92,122, 25,222,255,145, 59,129,175, 60,180,194, 30,
+224,113, 56,193,231, 52, 16,109,241,158,247,151, 27,239,215,232, 89,184, 84,138,207,189,  4, 96,121,174, 34,  3, 14,203,143, 65,
+202,229,207, 96,100,  2, 44,171,142,209, 20,207,215, 29,209, 28, 81,123, 14, 81,171,149, 25,136,158,173, 50,117, 87,188,225,149,
+216, 55,179, 19, 95,125,224, 33,192, 11,192, 50,179, 49,  9,112,252, 36, 80, 22, 27,159,251, 52,161,123, 59, 79,175, 78,155,246,
+ 66,105,233,119, 47,233,186, 73,198,140, 98, 30, 80, 45, 26,160,183, 68, 19, 58,109, 98,220,253, 62, 48, 51, 75,243, 59, 24,  0,
+ 42,163, 57, 24, 20, 52,199,176,128,110,211,251,129,  5,127,107,137,150,  8, 79,239, 39, 45,154, 19,239, 42,250, 93,148,145,176,
+210,251,170, 70,147,207,246, 28, 74,162,125,240,174,198, 27, 52,205,111,164,175,194,159, 27, 58,211,202,136,191, 24,  3,148,142,
+133, 23, 71,124,211,243, 79,193,130,148,117,244, 25,235,129, 86, 90,209,135, 68,211,124, 13,150,104,141, 22,151,  0,153,  1, 58,
+217, 98,166,110, 52, 73,110, 83, 93, 98, 52, 89,139, 78,163, 47, 55, 38,213,155,154,150,113,198,225, 18,172,  9,242, 97,142, 31,
+ 19,146, 25, 78,  1, 56, 55,126, 64, 19,102,196,166, 38,221, 43,150,206,108,121,230, 61, 66,124,  6, 69,247, 25, 70,173,212, 19,
+ 97, 84,124,128,165,  4, 82,131,233,171, 46,198,174,189,187,177,112,114,142, 62,123, 54,139,109, 50,218, 96,126, 98,190,152, 38,
+193, 75, 34,208,146,159, 79, 25, 32,213, 64, 59,199,174,169, 41,116, 59, 57,164, 48, 72,117,130,221,121,  7,222, 58, 76,229, 57,
+  4, 72,152,203,146, 20, 62,  4, 20,142, 55,135,  0,109,144,193,128, 54, 84, 96,105, 80,  5,210, 10, 18, 69, 19, 82, 88, 34,144,
+195, 33, 63, 27,207, 63,226, 51,241,188, 26, 65,115, 36,248, 64, 11, 65,147,157,112,207, 30,  9, 18,178,228, 58,153, 66,212,140,
+ 20,191,140, 28, 95,223, 85,133,  0,205, 19, 23,173,  6,231,136,145,107, 69,251, 55,  8,160,219,  2,134,125, 98,220, 11,139, 36,
+  0,246, 23,128, 86,151, 24,123,183, 11,204, 47,208,153, 89, 92, 32,162, 90, 22, 43, 11,186, 82, 84, 47,  8, 98,108, 82,240, 61,
+ 19, 58,119, 73, 77,  8, 82,154,  9,153,160,121,119,229,218,243,183, 18, 99,139,140,125, 76,216, 92, 31,212, 75,175,193,171, 95,
+246, 82,156,127,233, 37,208,207,219,137,185,  2,248,142, 87,190, 12, 51, 59,102, 49,232, 15, 48, 59,211,197, 37,187,207,195,103,
+ 62,243,185, 51,247,126,212,108, 60,  0, 25, 42, 33, 67,177, 42, 39, 88,178,156,124, 30, 33,232,156, 71, 11,159,103,109, 76, 50,
+ 51, 89, 85, 75,183,227,170,120,156, 15, 85, 19,234, 77,100,232,188,215,189,171,180,244,184,255,227,125,227, 89, 17,188, 47, 86,
+153,187, 19, 65,224,171, 95,250, 74, 37, 80, 35, 16,253,156,155,  7,250,131,205,  9,196, 66,208,120,179, 22, 32, 12,208, 63, 13,
+136,132,158,211,  6, 32, 55, 76,163, 53,224, 11, 58,115, 66,145,130,212,105,  3,193,  0,253, 69, 64,166, 52,238, 97, 65, 22,132,
+194,  3,153, 34, 70,159,104,182,208,  1,240,  3,162, 25, 70, 19,225,113,172, 93,  2, 52,126,103,129,162, 24,127, 95, 37,204,244,
+ 37,189, 63, 44, 42,165,101,179, 86, 33,147,  1,157, 14, 41,153,138,133, 26, 95, 83, 18, 35,255, 48,252,203,122,206,198,217,162,
+228,189,165, 21,208, 50, 52,247,115,139,180, 62,145,127,132,  0, 36,105,197,144,132, 36, 75,155, 43,217,154,225,  1, 59,  4,172,
+  2,130,170,  4,131, 16,160,183,216,158, 65,147, 24, 15,134,  7, 61,116,232,210,100,174,151,225, 13, 61,153,146,213,  4, 97, 49,
+ 41, 49,190,222, 18, 96, 23, 43, 83,165, 94,197,100, 25,255, 63, 50,179,240, 97,140,230,150,149,190,211, 31,  2,166,164, 49, 56,
+ 95,227, 11, 44,185, 74, 77,  7, 63,  8,132, 16,112,108,105,  0,244,203,179,159, 63, 45,232,103,185,220, 56,226,125,217, 12,158,
+101,180, 49,243, 12, 59,186, 57,118,228, 45, 12,221, 16,137,202, 32,132,130, 11, 64,102, 52,156,  4,114,149, 96,105,232, 97,132,
+198,206,118, 27, 30, 14,189,185,  5, 58, 88, 96,169, 48, 97,105,189,112,244, 28, 33, 84,204, 48, 75,129,165, 97, 69,192, 38,101,
+174,232, 34,  1,152,241,250, 74,147, 49, 44, 17,103,220,183, 39,240, 26,219,117, 16, 36,157,215, 23, 13,  8,  9,216,231,177,242,
+119,172, 29,215,108,109,237,255,219,141,200,  7,140, 38,162,215, 27, 18,227, 94, 90,168,126,182,235,140,188, 79,103,100,105,  1,
+104,231,116,112, 53,239, 45,187,140,182, 88,103,182, 33, 18, 64, 79, 68,184, 45,201,173, 18,173, 37,245,253, 47,  5,237,219, 44,
+ 95,223, 57,156,156,195,213,204,254,107,201,  7, 47,185, 18, 95,187,111, 47,174,250,154,125,208,198, 64, 10,133,223, 93,248, 71,
+180, 90,109,244,123,125,120, 15, 44, 44, 14,177,184,184,  0,180,103,128,211, 79,158,121,145,200,152, 81,147,209,156,175,230,123,
+ 37, 39,162,243, 36, 16,148,182,178,210,149,126,229,207,215,199, 85,223, 75, 35,147,176,174,148,131, 58, 61,113,252,249, 96,  1,
+175,171,117, 26,185,168,252,184,213, 99, 53, 28,121,164,114, 97,214,233,206, 70,247,175,214,192,142, 61,192,220,177,138, 65, 58,
+144,146,165, 88,200,142, 90,184,101,197,  8, 69,181,238,129,191, 19, 21, 31, 33,129, 84,  0,133,  1,100, 73,230, 96,128,172,122,
+138,207,169,244, 36, 72,150, 53, 58, 16,215,173,176,149, 18, 81,176,229,161,254,126,152,120, 63, 77,170,239,109,202,  5,204,252,
+103,166,195, 22,137, 41,114, 55,198,131,101,249, 30,113, 47,157,141, 66,182, 25,198, 94, 12,137,142, 11,144,176,191,180, 64,252,
+ 45,142,185,100, 26, 17, 93,174,174, 32,  1,107,169, 79,251,201,150, 68,  3,134,  5,241, 93,222,151, 91,167,169,107, 77,230,129,
+118,206, 27, 56, 84, 62,184,192,155, 82,201,117, 74, 92,158,181, 80, 81, 17, 74,161,201,  7,209,105,209,239,118, 88, 73, 85,107,
+ 73,174,241, 96, 73, 65, 23, 11,108,118, 91,237,144,120, 71,207,106, 45,253, 46, 88, 43,138, 38, 35,207,215, 45, 74, 12,143,158,
+130, 59,118,146,124,116,103,101,233,144, 44,233,218,149,205,155,237, 46,155,  1, 19,250,188, 80,232,116, 50,236,105,229,  8, 65,
+ 32,211,  6, 65,  8, 40,  8,116,187,109, 20, 69,137, 92, 75, 88,235, 96,164, 70,225, 75, 88, 31,224,124,192,208, 89,146,136,123,
+  5,141,175, 28, 18,179,141, 82,171,103,198,238,  1, 12, 29, 32,108,181,150,214,146,164,169, 36, 19, 75, 95,249, 15,203,104,170,
+ 21,100, 85,128,228,107, 50, 69, 43,216, 60,191,218,218,141, 76,157,178,230,152,148, 36, 56, 24,189,242, 62,138,102,210, 51,172,
+ 28,231,128,161,167,124, 64, 61,107,145,214,  3,121, 70, 26, 87,194,254,208, 84,  1, 69, 77,115,239,228,180,111,146,148,215,193,
+144,182, 82,186, 51,173, 87, 62, 48,115,246,164,237, 40, 65,231, 43, 18, 92, 35, 73,106,183,174,102, 45, 96,247, 72,159,199, 63,
+236,173, 95,235,153, 20, 34, 54,193,208,209,202,112,222,197,123,112,253,181, 47,133, 84, 18, 40, 61,172,183,184,176,211,193,253,
+143, 63,134,233,172, 13,231, 28,250, 75, 61,220,253,224,151,113,242,209,199,136, 67, 78,238,139,145,182, 43,170,222,142,163, 88,
+ 14, 63,238,243,142, 46,  9,107,137, 70,200,168,197,176,150,166,  4,  9, 79,235,177, 86, 76,154,127,101, 77,217, 40,121, 93, 74,
+ 95,249, 61, 71,123,149,233,159,175, 53,152,148,172,109,173, 71,211,246,172,249, 59, 55,238,110, 92,139,  6,207,204, 18,109,112,
+ 14,216,247, 60, 96,182,  5, 28, 63, 77,174, 29, 37,137, 49,200, 26,141,147,129,253,177,108,  5, 17,146,155, 91, 74, 87,209,197,
+  0,  0, 32,  0, 73, 68, 65, 84, 91, 64,164, 76,135, 44,157, 99, 33, 88,160,103, 97, 74,176, 98,148,105, 32,176, 63,221, 59,154,
+223, 44, 39, 70, 21, 93, 36,142, 77,198,113,191,134, 64, 52,192,242,121,174,191,239,253, 72, 97, 66, 89,174,233,174, 88,214, 85,
+  3, 73, 99, 73,216, 21, 21, 45, 36,139,189,113, 75,144, 96,186, 20,194,185,119,241,149, 76, 67,  3,211,222,162, 36,  6, 45, 37,
+173,137,  2,209,144, 52,231,253,164,200,162, 42, 68,245,188, 49,158, 42,225, 88, 51,200, 45,212,212,173, 37, 77, 53, 41,136,185,
+199,255, 73,150,  6, 53,  7,119,181,176,190, 96,157,178, 32,115,162,103,102, 23,253,231,  0,153,155,149,220,216,243, 45, 43,133,
+105,140,205,192,106,196,202, 90, 18, 38, 34,145,140,140,119,181,192,166,141,162, 55, 24,215, 16,150,115, 75, 56, 75,139,108, 12,
+187,  9, 36,178,212,160,231, 45, 90, 82, 35,176, 58,210,110,231, 80,  2,104,165,  6, 67,235,160,181,198,192,150,104,235, 12,115,
+ 69, 31, 74,177, 25, 63,106,124,182,168, 44, 23,253,146,214, 48,176,198, 62, 12,204,208,253,153,166,225,146, 41,171,172,153, 42,
+ 13, 31,170,210,159, 25,195, 80,128,  2, 13, 97,104, 44,171,238,129, 72, 68,121,190,181,  1,116,151,168,121,137,229,131,133, 38,
+ 25, 58, 91, 20,105, 78,129,181,205,  3,103, 33,212,250,154,181, 31,  0, 18, 67,218, 76,198, 65, 44,194,144,116,173, 13,249,194,
+ 90,  6,152,103,159,122, 57,164, 57,239,245,105,223,235,  9, 70, 53, 50, 33, 79,104,161,163,128, 70, 11, 68,119,121,167, 13, 12,
+248,187,169,168,108,196,253,254,198,181,158,209, 51,212,230,114,131,152,210, 64, 49, 24,192,  7,192,200,  4,195, 65, 31, 90, 73,
+ 28,190,235,203, 16, 65,160,103, 45,180, 82,120,224,190, 71, 72,123,145,171,156,109,137, 51, 25,108, 60,219, 90,147,127,119,  4,
+ 14,132,115,254, 76,237,125, 61,150,155,229,222,183,182, 90,  7, 35,171,253, 20,233, 81,253, 94,206, 87,110, 65, 37,207,124,142,
+173,222,127,251,158,135, 23, 92,121, 41,250,118,128,135, 62,241, 89,224,241,199, 89,144, 40,128,192,227,205,178,106, 14,163, 11,
+ 82,241, 89,106,101,180, 63, 18,205,214,194,  1,187, 18, 88,115, 22,236, 62,163,224, 30,214,204, 19,118,201,241,225, 46, 11, 64,
+118, 56,182, 74,  0,105, 27, 56,122,188,178, 52, 90,  0,130,125,240,138, 15,203,136, 31, 88,114,  9,196, 56, 40, 36,213, 26, 70,
+235,213,228, 17, 54,186,218, 20,161,224,247,116,165, 28, 14, 88, 27, 78, 21,157, 69,233, 55, 47,160,110,194,240, 10, 68,107, 15,
+206,124,118,128,207,100, 89,173,143,201,128,225,128, 20,132, 97, 65,214, 12, 45,136, 38,179,177, 18,185, 33, 75,114, 12,236, 75,
+ 59, 52,239,173,108, 27,  2,229, 70,129, 41,178,242, 61,  7, 79, 27,194,241,131, 75, 54,189,174, 71,244,138, 82,148,247, 85, 48,
+138,102,230, 55,100,191,143, 97, 13, 92, 49, 99, 89,175,251, 84,235, 51,163,225,253, 26, 95,150,158, 36,167,250,207,237, 56,167,
+ 43, 73,140, 89,194, 17,145, 45, 54,141, 11,200,156,152,119,106, 20,  0,129,194, 23,232,152, 12, 50,  0,105,150, 34, 75,114,136,
+  0, 72, 41, 49,180, 14, 18,  2, 65,  6, 72,225,177, 48,191, 68,146,112,105,129,254, 82,229,187, 73, 21,109, 44, 40, 58,216, 90,
+179, 84, 30, 38,226, 21,216,159, 43, 88,155,143, 18,111,124,  9,144,214,168,120, 95, 68,134, 94,128,136,247,106,218,146,143, 26,
+  0,  7, 57,  6, 73, 17,182,237, 22, 73,223, 74,  2,189, 30, 61, 91,183, 11,236,222,197,153, 10,110,124, 13,235,107,236,183,241,
+  0, 75, 89, 89,150,  0, 10,232, 18, 28,116, 89, 14,137,145,  7,102,232,195, 33,141, 97, 56,  4, 90, 45,142, 56,102,243, 90,150,
+ 80, 20,108,180, 56, 24, 38,160,137,170,  2,212,140,162,117, 80, 81, 19,172,197,130,104,205, 62,182,232, 35, 68, 21, 92, 51,236,
+175, 79, 67, 93,201,173,128, 13,134, 38,180, 50, 96,215, 30, 20, 74, 96, 71, 42, 49,219,157, 70,175,223,199,112, 56,196, 35, 39,
+158,192, 87,189,  2,144,225,248, 98,129,199, 22, 22, 17,220,  2,176, 56,207, 22,  9,185,178,182, 94,223, 99,117, 31,169,209, 36,
+240,107, 65, 86, 38,189,134,185,123,179,154,153, 16,149,229,174,100,171,100, 12, 68,  4,107,159, 49,  6,194,251,241,159,194,173,
+ 62,135,209,  7,190,209,224, 80,182, 40,236,190,232,124, 60,126,122, 14,229,227,199,198,227,139,226, 53, 11,214,  4, 93,180, 90,
+ 70,171,130,169,  4,112, 41,232, 25,139,130,246,111, 12,246,147,130,104,133,103,  6, 26,216,109,167,  2,251,231, 29,199, 33,149,
+ 64,154,209, 61, 74, 14,128, 83,134,232,129,209,116,246,133, 96,166,165,232, 59,153,193, 40,235, 70,  9,122, 30, 25,  5, 83, 67,
+180, 57, 97,  6, 30,199,164, 65,  1,117, 41,251,255,163, 79,124,204, 69,  5, 14,238, 27,112,180,184, 59,119, 26,185,172,187,  2,
+153,183,248,101, 92,133,214,210,217,215,154, 63,227,121,252,188,215,250,253,138,255, 69,225,220, 59,162, 21,146,227,159,134, 44,
+ 12,155,214, 22,251,212,173, 37,127,183, 97, 34, 54, 23, 72, 75, 25, 29,  6, 11, 12,  2, 75,253,122,121,173, 73,235, 74, 18,206,
+ 19,250,136, 97,166,141,  2,152, 31,208,134,105,165,181,168,245, 80,105, 17,253,130, 36,154,224,151,247, 75,174, 37, 89,173,246,
+121,187,194,207,115,  5, 15, 34, 30,253, 62,208,109,211,191, 74, 15,159,  1,131,210, 67, 25,137,212,104, 12,220,  0,185,153,169,
+132,217, 76,163,191,216, 67, 22,  3, 47,250, 22,214,  7,154,183,  1,175, 89,180, 20,104, 13,244, 44, 75,125,156, 98,177, 82,234,
+ 79,157, 48, 46,231, 67,140, 38, 80, 37,233,160, 75, 77,218,100,212,250,215, 66, 97, 89,171,103,159,125, 61, 69, 40,254, 34, 52,
+208,237,208,181, 91, 25,153,176,173, 29,215,210, 55,169, 97,110, 92,163,173, 91,144, 60, 73, 48,145,161, 23,236,124,237, 15,129,
+ 60, 37,201, 59, 79, 41, 29,168,157,147,175,207,104,122, 63, 30,246,186,102, 94,122,118,207,248,113,173,189,230,213,128,  4,125,
+127,116,222, 98, 90,105, 56, 55,155,181,126,118,101,130,233,107, 46,195,193, 43,246, 99,110,176,132,196,164,120,228,241, 71, 49,
+ 40, 29, 74,239, 48,191, 20,240,245,151, 92,134,157, 83,211, 72,211, 20,206, 14,241,240,241,199,240,201,197, 62,249, 22, 87,242,
+111,174,166, 89, 41, 89,  9,142, 81,120, 92, 78,131,158, 36,170, 27,213,190, 70,230,247,154,149,106,228,  6,169, 89,139,226,255,
+198,126,174,131,200,104,156,233,203, 95, 15,230, 23,240,249, 79, 28, 30, 79,233, 93,110,204,206, 87,154,178,226,179, 37, 11,182,
+126,121,178, 18,  9, 73, 90, 99,244,141,215,253,225,206,  3, 34, 39,191,186, 47, 57,162,190, 95, 99,218,158,211,109, 65,138, 92,
+ 89,140, 91,179,226, 62,137,231,101, 56,160,207, 37, 28,135, 98,107,251, 85, 72,122, 62, 88,142, 51,146, 53,134,206, 86, 25, 27,
+170,207,198,185, 23, 53,247,137,139,238, 87, 22,114,207,  5,162,101, 65,215,246,173,214,213,218,142, 89,193,106,207, 28,  5,115,
+233,  1, 47,145,188,232, 82, 92,123,241,101,248,167, 79,126, 10, 56,122,146,206,115,156,191,222,128,180,244, 98, 80,155,211,114,
+ 27, 82,218, 60, 75,127,253,  1,105, 42, 34,  0,150,165, 88, 23,216, 68, 51, 65,100, 12,107, 36,210,  0, 45,246,129,228, 44,133,
+228,156,171,151,179, 79, 40, 99,115,132,214,100,222, 20,138,222, 51, 28,138,106, 20,249, 41,140, 33,237, 78,196,136,225,154,228,
+191, 90,  0,208,102,165,184,115,145,118,165, 36, 77, 91,150,179, 79,209, 67,182, 51,132, 32,209, 74, 21,180,148, 80, 80,200, 84,
+ 10,201,129, 34, 89,146, 99, 80,150, 48,198, 64, 72,  1, 91,150, 72,147, 20, 71,142, 31, 39,237,188,215, 35, 51,187,117,227,254,
+195,232,119, 93, 77,178,141,140,187, 30,225, 43,196,184,176,229,125,165,157,196,148,184, 98,184,126,191,226, 72,152,  9, 64,193,
+154,144,240, 64,191,199,254, 39,254, 92, 98,104,147,187,  1, 89,130, 38, 92,241,180,221,182,112,125, 76, 50,158, 30, 19,  5,155,
+122,154, 95, 80, 85, 10,149, 49, 52,110,149, 82, 60,136, 76,232,103, 43, 35, 77, 93,165, 36,236, 56, 87, 17,128, 24,157, 27,153,
+118,212,202,  3, 11,119,  8,227, 65,113,129,231,167,180,100, 73,114,172, 37, 57, 54, 65,151,229,246,237,205, 52, 33,107,140, 96,
+141,238,210,139,241,154,253,251,208,233,182, 48,219,157, 69,112, 30, 15, 28, 63,137, 79,125,238, 49,156, 14, 22,179,173, 14,118,
+118,102,113,222,238,243,176,115,231, 44, 90,211, 83,104, 67,195,230, 10,199,164,165,  0,194,141, 70, 34,  7, 94,107,167,136,120,
+ 75,201,209,242, 28,139, 16,194,230, 77,175, 87, 93,138, 87,188,250,149,120,252,203, 95, 97,203, 17,223, 43,212,180,116,137, 42,
+214, 33,132,181,125,245, 43,  9,238, 82, 87,214,192,141, 98, 88,172,108,145,138,231, 91,202,202, 37, 19,  2,113, 58,231,201, 26,
+ 20,221,114,222,113,160, 91, 12,126, 85,100,253,136,103,200,179,175, 95, 71, 75,105, 66,239, 69, 11,192, 40,138,155,173, 68, 25,
+167,202, 37,170,218,139, 49,230,202,123, 32,105,115, 44,  9, 31, 86,193,177, 10, 66, 87,227,137,181,  1, 50, 14,248, 27, 22,108,
+253,144,149, 37, 46, 94, 87,240,218, 72, 89,179, 90,249,181,231,127, 43,249,160,175,107,235, 76,136,150,219,115,245,117, 25,101,
+ 35, 13,  1,239,144, 95,188, 23, 74,120,156,252,194,131, 85,182, 82, 60,235, 49, 35, 75, 73, 10, 34,239,245,  0, 41,183, 73,127,
+169, 75, 34,214,  2,105, 12,146, 67,165,161,197,232, 68,112,128, 79, 98,104, 80, 90,147,175, 49, 58,125,234,135,177,157,210,  6,
+ 44,107,  3, 75,217,228, 34,  2,144, 43,192,114,238,159, 99,194,103,153, 72,150, 49, 10,118,139, 35, 28,235, 38,148,237,198,176,
+224, 40,244, 69,  0, 29,192,  8,120, 59,132, 85,  2, 11, 67,  1,151,  2,169, 73, 49,176,  5,218,121, 27,153, 49,176,174,207,177,
+ 85, 30, 90,  8,132, 52,193,241,185,121,168, 68,193,249, 64,115, 50, 55, 87,153,122, 67, 77,197,181, 27, 12,168,170, 23, 38,169,
+ 23,141,152,244,101,215, 53,144,181,180,145, 40, 92,148,236, 35, 29, 44,156,185,215,230, 23,232, 85, 87,167,108, 93, 61,183,103,
+191,198,209, 55, 42,216, 71, 89, 22,227,207, 30,247,150,224, 98, 51, 66,  2, 97,192, 41,101,236, 75,207, 83, 50,147,165,172,169,
+171,148, 35, 94,185,232, 71, 50, 17,185, 63,233,163,143,130,157,243,227,154,123, 56, 71, 62,194,245,104,232,140, 61,179, 93,236,
+236,182,  1, 72, 12,122,125,  8,157,226,138, 93, 59,240,249, 47, 62,137,249,185, 30,220,244, 78,204, 78,119,209,233,228, 40, 16,
+208, 73, 18,228, 23, 93,136, 52,203,161, 80,226,190,167, 78,110, 60, 26,217, 70,127,112, 89, 17,241,122,116,181,192,250,162,207,
+151, 67,223,226,177,147,199,198, 93, 58, 30,103,186,240,228, 50, 86,129,245,222, 55, 42,241,147, 62,228,205,248,114,237,106, 26,
+ 36, 42,223,178,146,149,191, 28,168, 50, 42,100,140,137,225,224,221,200,220,125, 44,188,227, 41, 47,186,228,232,249,122, 16,109,
+116,189,196,115, 27,153,176,170, 69,195, 39,181, 40,239, 52, 97, 87,138,102,193,150,231, 75,129, 76,240,162, 46,160,179,230, 31,
+179,153,172, 37, 97, 64,162,218, 47, 49,248,110, 50,142,226, 92,159,  9, 76, 88, 92,244,132,159,125, 57, 30, 98,146, 42,198,192,
+104, 44,222,125, 63, 30,168,143,181,174,  4, 71,  1,101, 88, 80,102,209,182,248,212, 87,130,115,149, 47, 38,  6,183, 36,138,136,
+ 91,154,176, 54,158,210,207, 78, 70, 82, 93,146, 80, 68,112,167, 77,154,122,150,144, 86,158,166, 28,136, 39, 41,114,216,129, 52,
+243, 68,115,254,163, 35,255, 76,  2,146,250, 18,195, 26, 61,136,241, 27, 93, 85, 71, 91,205,180,183, 94,205,219,251, 42, 29,218,
+215, 14,213,182,237, 33,174,118, 17,163, 84, 11,139,144,103,108,153, 87, 72,165, 66, 98, 12,116,106, 80, 12, 75, 20,195,  1, 68,
+224,200, 79,  9, 44, 46, 45, 65, 74,  9,143,128,254,226,  2, 11, 64,156,131, 30, 56, 90, 84,200,113,115,250,122, 24,250,114,154,
+201, 74, 69, 84,162,105,172,158,123,189,165,146,115,221,  1,124, 22,215,141,218,120,244,151,135, 64,204, 57,203,106,126, 83,206,
+179,245,158,133, 34, 22, 34,149, 34,138,166,162,166,193,133,104,178,148,211, 37, 13,229,  3,231, 45,250, 59, 73,201,135, 89,183,
+126,104, 78,  1, 84,130, 52,160, 80,211,204,117,204, 44,169,105,134,246,105,170,220, 23,235, 74,  4, 54,183, 66, 98,169, 44, 48,
+ 61,211,197, 84,154,194,100, 41,138,126, 15,255,124,236, 73,156, 56, 49, 15,184, 18, 75, 18,184,124,199, 94,152, 36, 67,107,170,
+133,150,209, 16, 70,192, 11,131, 86,218,133,106, 39,120,234,248,137,141, 51,246, 80, 99,230,113, 79,202,122,142,120, 88,249,172,
+215, 35,231, 39,247,227,233, 57, 44,124,229,171,172,157,170,106, 91, 69,159,180,168, 49,143,229, 74,108,136,117,156, 13, 95,123,
+150,141,158,135,250, 24, 48, 49,134,169,221, 85, 65,174,120,109,231,200, 87, 29,159, 57, 97,230, 46,153,134,198, 26, 32,138,  9,
+155, 81,100,  1,203,100, 37, 80,186, 88, 72,166, 22,189, 30,239,233, 10,218,251,157, 46,237,113, 25,200,130,162,216,106,226, 60,
+199,219,200, 90, 96, 28, 75, 69, 90, 18, 51, 15,181,245, 84,236,231, 87,158,252,243, 96, 33,210, 22, 85,150,192,164, 53, 36,106,
+235,126,157,180,105,171, 53,117, 41, 43,139, 75,100,220, 30,203,199,138,140,206, 18, 91,187, 12, 71,236,151, 37,205, 65, 89,146,
+ 59, 68, 49,115,137,149,  9,227,184,173, 37, 30,155,118,206, 17, 83,143,155, 78,178,223, 67, 73, 98,206,221,156, 24,238, 84,135,
+ 24,181, 49, 80, 51, 83,  8, 82, 35,105,231,208,105,138, 60, 53,208,218,160,155,182,144,167, 41,188,210,104, 39, 57, 84,150,192,
+123,  9,145, 39,  8, 38,173, 22, 50,230, 54,  6, 80,192,151,102, 63, 81,158,112,  0,142, 34, 98,109,125,149, 86,101,237,120,144,
+156,201,200,156,148,242,225, 88,206, 12,168,107,135, 16,190,242,219, 70, 62,178, 93,140, 61, 10, 17, 14, 52, 22,235,128,225,  0,
+161,221,  6,124,128,215, 64,110, 52, 92,225,144,153,  4, 74, 25, 88, 81,194, 59,135, 65,105,225,157, 71,225, 28,158, 56,117,154,
+221, 36,108, 10, 86,160,181,136,135,204,121,170, 78,182,158,192,146, 72, 40, 70,102,164, 85, 76,135,145, 97,197,234,100,145,216,
+ 10,241,204,170, 26,167, 57, 63, 55,237, 96, 20,188, 34, 36,  9,140,165, 37, 33,211,113,174,104, 12,228,209, 76,120, 50,195, 65,
+115,108, 41, 50,138,136,143,228, 50,191, 50,173,254, 14, 37,125,182,232, 85,135, 63, 30,110,128,138,126,  4, 22,226, 66, 32,226,
+ 56,202,215,230,128, 48,241, 52,165,228,140, 24,150,160,241, 75, 84,197, 67,164,196, 87, 37,112,225,142, 14,230, 22,231,113,124,
+241, 20, 62,251,232, 81,224,216, 34, 48, 40, 81,218, 18,143,244,150,176,167,221,198,212, 84, 23,202, 72,244, 22, 29,164,  1,118,
+ 77,207, 32, 19, 45, 12, 18,133,147, 39, 87, 96,236,145,  1,215,199, 60,242, 77,178,107, 34,254,172,  7,214, 45, 87,177, 47, 22,
+154,138,230,231,181, 82,111, 99,208, 88,168,107,237,126,252,250,171, 69,240,175,154, 74,235, 55,185, 87,107, 26, 97,140,101,137,
+140,254,188, 61,180,215,  6, 75,227,  2, 64, 20,198,227, 94, 83,181,160,227,193,144,246,117, 97, 57,232,149, 43,174, 41,158, 83,
+235, 72, 16,136,174,174, 24,180,  8, 84,  1,109, 49,157, 44, 97,166,109,251,204,240, 57, 61, 51,225,243,161,146, 90,234, 28, 11,
+ 16, 37,187,173,130,160,152,170,146,105,170, 54,236, 94, 77, 86,175, 56,183,234, 26,216,237,175, 69, 85,103,226,245,245, 89,203,
+244, 31,  3,253,226,126,205,146, 42,200, 50,102, 41,197,191, 77,139,232, 73, 43,163,201,145,150,178,126,207,154,169,155,140,152,
+179, 72, 43,226,183,156, 36, 47, 88, 59,207, 18, 96,166, 77,149,182, 50,174,246,147, 25,116,186, 29,228,173, 14,114, 99,176, 51,
+107, 97, 42, 75,208,209,  6,157, 36,195, 76,146, 34,209,  6,221, 36,135, 16,192,174,164,141, 60, 49,112,240,152, 78,114,104,101,
+ 16,180,132,206, 18, 56,161, 72,147,213,236,207,148,236,103,151,236,227, 28,153,255, 85,149, 11,238,107, 26,157,166,234,108, 84,
+ 25,140, 75,163, 46,119,192, 71, 49, 47,190,182,112,181,107,216,237, 76, 95, 81, 76,200, 11, 10, 18,113, 14,232,247,225,124, 64,
+222,201, 81,  6,139,174, 78, 33, 37,112,122,176,132, 84,165,152, 31,246,161,  4,105,232,167,250, 75,176,206,195, 45, 46,144,134,
+ 88,122, 46,183, 91,115,119,104,205,230,102, 93,229,247,110, 84, 81, 94, 73,171,243,126, 60, 37, 49,154,228,156,123,230, 48,116,
+128,181,236,146,230, 58,106,206, 46, 70,168, 70, 77,198,208, 70,208, 44, 61,199,207, 12,122,148,122, 40,234, 46,132,  1,205,113,
+209,103,237, 62,212,222,175,229, 68,143, 42, 42,178, 85, 35,136, 42, 71, 56, 75,168,138, 84, 98,232, 25,158,183,  7,152, 91,170,
+245, 62,136,230,240,132,204,158,144,103,250,254,183, 67,208,204,116,205,204, 44,  1, 55, 64,120,226, 36,190,252,197, 35,120,232,
+ 75,143,224,241,135,143,  1, 39,231,200, 26, 81,246,129,211,115, 40,150, 22,240,144,243,152,209, 41,132, 76, 32,181, 66,158, 25,
+ 12,134,  5,138,210, 98, 74,165,184,127,176, 72,197, 54,234,193, 86, 53, 98, 45,164,164,151,247, 16, 35, 66, 30,234,106,116, 37,
+ 68, 46,199, 52, 71, 74,128,172,162,191, 29, 87,251, 90,105, 63,142,238, 17, 42, 97, 52,230,164, 79,  6,142, 46,251,253, 45,204,
+154,169, 51, 12, 37, 43,237, 91,212,202,212,206,159,174, 24,122,125, 14,116, 45, 98,220,203,170,250, 94, 96,229,199, 57, 14,238,
+146, 20, 35,101,244,184,245, 35,230,154,199,223,163,198, 62,138,223,224, 10,135, 78,208, 30, 44,152, 94,106, 95, 41, 63,138,149,
+147, 80,144,165,214, 59, 18, 20,180,167,136,122,237,171,  2, 63,224,115,161, 76,229,215,183, 88, 61,134, 96,108, 29,248,156,217,
+115, 32,252,142,197,111, 69, 43,181, 92,159, 53,205,232, 42, 54, 32, 86, 51,141,213,248,164, 98, 43, 96,168,  2,228, 98, 28, 69,
+214,  1,236, 86,  4,202,237,216,  9, 76,119, 41,221, 40, 36, 36,225,141, 24, 36,251, 64,  4,  7,190,181,217,148,222,105,115,  4,
+123, 11, 59,166,167,208, 54, 45,116, 76,130, 78,146, 99, 38, 75,161, 32,161,165,161, 84, 45,157,162,163, 83,104,109,  0,  8,236,
+109,205,162, 95, 14,161,164,196,116,210,130,112, 64, 46, 53,118,152, 22, 44, 60,114,147,194,  9,  1,167, 98,105, 82, 84,126,161,
+ 36,154,149,  5, 73,122,193,115,128, 29,170,  3, 28, 43,129, 73,206,135,177, 97,101, 63,124, 93, 35,151, 53,230,190,221,146, 96,
+ 12,166,138,229,  6, 93, 73, 11,172, 12,250, 58, 65,158, 26,204, 23,  3,180,148,129, 86, 26,189,114,  0,  5,137, 94, 89,160,231,
+ 10, 44, 21, 67,244, 23, 22,105,124, 67, 75, 25, 10, 69, 96,169, 56,169,  2,208, 16,106,105, 44,203,104, 55, 70, 19, 97,208,106,
+109, 77,123,100,218, 20,227,129, 43, 81,235,113,254,220,  4,176,172,  7, 89,194, 37, 43, 89,160, 41, 89, 27, 47,125,165, 45,107,
+ 54,123,167,  6,163,200,220,140, 45, 64,142,211,134,162,115, 83,166,156, 26,  8,210, 76,226, 26,198, 26,225, 10,227, 65,108,130,
+ 53,126, 17, 53,164,218, 30, 11, 92,200,135,215,235,  5,215, 93,133, 99, 71, 30, 27, 39,108, 74,146,245, 37,112,160,216,185, 48,
+203,199,234,129, 34, 84, 65, 84, 49,101, 42,112,122, 31, 64,251, 52,174,243,176,128, 91, 42,241, 72,217,199, 46,157,161,213,202,
+160,180,198, 82,111,  8, 95,  6,244,122, 61, 40, 25,112,162,  4,196, 96,  8,161,  0, 17,  2,164,146, 16, 33,140,106,208,  8,128,
+152,122,252, 41, 37,  4,107,233,228,117, 11, 92, 90,194, 46, 47, 32,123, 89, 85,153, 68,168, 52,214,114, 29,  1,103,129,131,126,
+203,  9,139,214,106,154,226, 86, 50, 21, 89,115,149,229, 25,144,228, 36,168,  7,199,251,112, 21, 55,162, 99, 87, 66, 81,210,254,
+ 81,156, 50, 26,216,106, 81, 63,247,169,161, 57,137,150,167,  1, 23,255,138,166,124,239,171,207,215, 83,173,  6,158,175, 63,172,
+138,214, 40, 78,145, 21,204, 27,130, 37,174,237, 74,178, 76,105, 95,179,160,138, 42, 64, 46,240,254, 23, 92,156,204, 59,122,238,
+213,148,129, 49,235, 33,206, 61,125,241,126, 92, 91, 95, 47,125,143,138, 69,228, 97, 81,216,178,101,149,206, 22,106,244, 42,  6,
+133, 58,191,  5, 76,189,213, 33,205, 91,176,201,182,224,218,224, 58,214,234,230, 42,115,218,144,223,124,231, 12,144,166, 72, 59,
+ 45,156,223,238,192,  8,137,110,146, 34, 55, 41,140,148,104,233, 12,146, 37,200,110,210,230, 30, 38, 26,137,212, 80,  8, 24,122,
+135,220,228, 16,193,195,  7,143,204,164,240,206,194,134,128,142, 74, 49,116,  5,164, 18,104,155, 20, 94,122, 40,149,  0,218, 32,
+128, 55, 99, 96,139,193,192, 81, 64, 94, 97,163,184, 72,230,139,210,113, 78,101, 96, 45,189, 88, 99,211, 76,254,244,235,207,147,
+223,138, 13, 86, 39, 30, 37,231, 63, 39, 25, 16,  2,250,174, 68,233,135,  8,222, 99,161, 28, 32,192, 97, 97, 80, 96, 97, 56, 36,
+ 63,186,141,  1,140, 49,135, 54,208,239, 41, 91, 86, 60,  7,124,197,138,122,117,233,243,140,226, 63,107,152,127, 71,121,186, 98,
+156,153,215,115,143,183, 58, 66,125,179,126,116, 37, 40,146, 52,145, 92,222, 54,106,238,204,128, 99, 99,161,161,163,130, 50,129,
+173, 28, 14,180,151,  2,184,172,227,160,202,227,183,150, 53,255, 58,225,231,235, 21, 19,190,255,232,195,143,213,184,130, 39, 95,
+162,136,101,132,121,203, 42,224,216,163, 79,156,217,224, 67,178,214, 21,  3,136,206, 69,151,188,229, 42,160,197,255,201,  9, 70,
+ 24,159,209,147,  0,228,150, 22,241, 21,111,209,129, 66,162, 83,244,150,122,  8,176, 56, 49,127, 18, 11,189,  1, 78, 91,143,144,
+119, 32,134, 22,162, 28, 64, 72, 49,122, 73, 41,136,105,243,245,  4,107,239,145,161,143,121,  9,150,211,210,163, 63, 57,174,111,
+244,191, 23,182, 86, 55,127, 45,183,211, 42, 12,215,218,202, 29,229,183,161, 97, 72,156,211, 68, 83,161,151, 86, 74,123, 68,112,
+115,160,181, 50, 30,132, 32, 51,174,240, 84,239,161,197, 85,228,138,126,213, 56,100,224, 88,177, 97, 11,100,108,210, 18,215,208,
+232,138,201,196, 98, 64,162, 86,237, 80,123,162,255, 49,122,219,250,170, 96, 82,180, 10, 38,130,178,164, 60,151,243, 45, 81, 53,
+  3, 27,197,165,112,238,186,103,179,189,183, 85,214,206,102,172,135,171,197, 80,172,228,234, 25,197, 46, 76, 92, 51, 77,206,204,
+178,218,140, 91, 37,242, 77, 37,198,104,170,186,230, 50,132,175, 30,165,251, 68,183, 72, 93, 80, 21,213,222, 61,123,166,238,184,
+ 48,134, 11,192,226,  0, 40,123, 76,192,121,161,179,188, 98,230,211, 93, 36, 89,134,243,167,103,177, 43,109, 33, 55,  9,180, 86,
+200, 84,130, 76, 39,200,149,193, 16, 14, 45,147,195, 57,  7, 37, 37, 82,147,142, 36,146,118,154, 51,251,  8,208, 82,195,  8,129,
+194,123,164, 73, 11,  1, 30, 66,  0,221,172,  5,  3,  9, 31, 60,140,144, 16, 74, 82,133, 72,163, 16, 98,  1,  4,  1,210,118,162,
+143, 29,156,214,225, 37,117,123, 26, 22, 85,112,223,118,164,  1,181, 58,188,112,114,107,180,168, 72, 44,  4, 53, 74, 40,  3,241,
+155, 97,240, 40,217,135,238,124,192,124, 49, 68,111,200, 18,118,212,246, 69,189, 46, 53,167,229, 32, 22,248,240, 92, 40,168, 86,
+132,166,206,156, 39,137,195, 90,218,186,247, 85,249,210,200,216,227,117, 66,216,222,226, 48,235,133, 98,181, 32, 30, 28,149,208,
+254, 94,236, 85,154, 89,146,  0, 94, 81,230,133,141, 37,141,107, 62,111, 88, 98,228,154,171, 98,  5,174,  2, 56, 28,156, 73,105,
+ 98, 77,246,186,144, 87,111,  0,130, 48,206, 36,141, 38, 51,102, 76,211, 42,202, 51,153, 69, 36,158,177,248,207,118,105, 39,102,
+ 29, 68,113,181,244,209,200,140,188,128,155, 63,141,135, 79, 44, 32,203,128,133,197, 37,244,251, 67, 44,245,135,152, 31, 20,104,
+167,  9,140, 78,208, 23, 30,194,164, 16,101,  9, 17, 28,100,212,210,163,214, 30, 25, 59,207,199,228,207,101, 53, 34,163,137,118,
+197,174,111,229, 68,  7,184,201,  0,186,141, 88,147,234, 41,153,103, 35,100,118, 90, 20,131,180,146,175, 95,114, 90, 87,154,178,
+ 73,157,211,135,203,114,109,250,194,130, 21,188,  7,242, 54, 51,116, 71,110,167, 97,193,193, 87, 28,180, 21, 75,125,219, 48, 94,
+122, 57,106,233,178,150, 66, 44,216,  5, 36,185,225, 72, 52,179, 59, 69, 76, 94,161, 54,207,150,127,175,237,219, 24,241, 46, 80,
+  5,154,122, 27,205, 50,164,148, 72,177,185,122,237, 41, 23,202, 81, 92,222, 54,210,192,216,140,201, 57,242, 83,151,182,150,165,
+101, 43,154, 45,  5,119, 62,228,207,154,140,221,161,220, 88,101, 61,129,191,186,102,233,140,116, 83,131, 43,234, 49, 93,212, 28,
+ 55, 48, 44, 16,142,159,102, 75,160, 27, 55,201,199, 40,248, 88, 94,118, 88,108,  5, 83, 47,128,165, 30,181,126, 43, 57, 16, 66,
+ 37, 64, 59,161,158,222,173, 20,216, 57,133,206,244, 52,178, 44, 69, 87,167,232, 38, 41, 50,147, 67, 74,137, 41,221,130,148, 52,
+ 48, 41, 53, 49,226,224,145, 39, 45,100, 90,163,180, 14,173, 52,135,117,142,138, 68, 41, 67,210, 57,  4,148, 74, 32,  1, 20,174,
+ 64,162, 12, 32,  4,202,162, 68,146, 24,216, 96, 73, 40, 80, 10, 66,  8,100, 38, 65, 97, 29,164, 54,100, 49, 83,181,154,191, 73,
+108, 52,226, 41,101,195,219,237,145,170, 35, 33, 84,172,113,197,110,101,103,227, 75,142, 27, 81, 43,178,138, 72,238,146,  6,135,
+208, 31,160,148,192,176,223,135,133, 64,185,216,227,195,200,121,233,129,115,190, 77,204,139,101,109, 57,250,200, 60,119,118, 82,
+182,170, 91, 61, 74, 95,242,227,126,187, 16,198, 53,176,213, 52,  3,132, 51,125,234,246,105,102,232, 38,163,136, 94, 45,184, 63,
+ 49,143, 51, 88,170,171, 16, 15,174, 16,156,  2,228,136,208,116,218, 68, 76,  3,155, 40, 53,215, 71,  8,174,106, 17, 42, 66,213,
+ 93,108, 50,176,107, 20,224, 52, 65,253,163,  0, 84, 23,152,  2,215,118, 79, 81,105,148, 43,105, 99,117,179,104,100, 14, 59,118,
+  0,123,119,  3,211, 51, 85,247,193,179,217,199,134,107,243,199,186,243, 35,226,164,199,219, 39, 43,185,114,222,118,140,174,246,
+ 14,232,207,225,241, 99,115,120,180, 40,112,122,176,132,133,225,  0, 18,  2,109,163,209, 74, 52, 90,173, 54, 10,163,225, 77, 10,
+ 57,112, 16,190,224,216, 91,214,214,173, 29,211,206,151,251,253,140,192,116, 41, 42, 55, 83,204, 57,  7, 87, 72,180,181,253, 14,
+ 69,116, 66,201,229,251, 50, 76,106,125,235,  9,138, 90, 15,186, 45, 96,122,138,253,213, 43,180,206,141, 66,156, 20,180, 63, 28,
+168,  6,194, 96,131,173,160,133, 39,173, 60, 12,170,184,130,148,179,135, 44,170,156,116,205,241, 37,134,115,180, 36, 11,191,  8,
+ 85, 30,186, 98,115,146, 16, 28,220,201, 46,190,148, 45,127, 49, 63,125,180, 48,  9,251,245, 61,247,122,183, 36, 96,143,178, 76,
+ 38,155,247,132,205,  9,172,154,221,170,130, 99,  5,134,182, 50,113,  7,206,163, 51,178,138, 43,136, 12, 86,230, 84, 71,133,106,
+ 29,211,239,150,235,210, 11,206,188, 50,168,170, 74,174, 69,211,235, 53, 45, 98,159,  0,165,201,194, 18,115,239, 53,  7,160,198,
+114,176,147,110,208,146,255,231,220,216, 61,183, 38,250,221,215,122,156,171, 90,161,152,110, 14,116,186,152,218,177,  3, 70,105,
+ 76,155, 12, 59, 59,211,200, 37,249,122, 91, 38, 67,240, 30, 82, 10, 24,109, 70,231, 43, 51,  9,  9, 67,138, 11,170,  8,133,118,
+222, 98, 95,187,130,150,128,226,180, 44, 13,133,196, 80,158, 99, 34, 52,188, 36, 13, 83, 11,  5,107, 29,180, 20,200,149,129,  4,
+ 73,133,198, 72,  4, 37,224,164,170, 77,172,224,224,140,104,246,148,219,103,178,148,177, 30, 52,155,154,214,219,223,122,197, 13,
+202,196, 94, 11,210, 30, 29,232,144, 57, 54,221,244, 11, 64,120,  4, 71,145,145,228, 30,113, 24,165,189,136, 88, 20, 72,212, 90,
+165,214,162, 93, 61, 63,223, 96, 56,190, 25,133, 24, 47, 56,179, 92,170,208, 74,155,185, 94,229, 43,  6,132,156, 99, 95,215, 25,
+196, 93,233, 81,221,113,161, 21,132, 52, 16,165,135, 16,  6, 66, 88,  8, 17, 42,205, 65,  9, 98,232, 50, 80,217, 94,173, 72,178,
+215,146,  8, 87, 89,176,182,207, 62,118, 45, 40,247, 52, 70,171,166, 73,197,112, 71,190,182,101, 74, 20,199,212,162,184,198, 38,
+250, 99,125,213, 99,123,189,140, 57, 49,192,142, 89,114, 37,120, 22,224,138,226, 76, 33, 99,221,237,112,101,229,142,240,168, 10,
+229,  8, 62, 63, 74,241,121,170, 69,242,174,184, 39,106,171, 81,244,129,185, 62,134,172, 57,181,181,129, 48, 10,237,180,141, 86,
+150, 33, 75, 53,160, 20,138, 36,133, 76, 50,200,  2,180, 62,206, 87,126,117, 44,159, 85,182,236,218, 71,235,199,104,206, 67,173,
+136, 13,199, 61,196, 20, 54, 53,177, 54,117,193, 26,162, 10,206,141,218,221, 86,100, 36,180,187, 85,160,177,  7, 91, 66, 87,177,
+ 10,148, 69,197,208,215, 43, 40,143,  4, 16,126,230,204,208,152, 90,121,197,240,118,119,137,201,117, 50,170, 23,162, 12,151,107,
+  6,249,240, 71, 93, 48, 61, 23,  4,227,250,238, 54,140, 12,161,180, 15,202,106,205,135,190, 10,180, 19,172,169, 59, 77,110, 43,
+173,216,239,206,116, 41,250,218, 71,230,123, 57, 30, 28,186,110,211, 54, 87,183,140,238,129, 81,116,185,170,210,234, 52,199, 14,
+  8, 85, 21,176,241, 69, 85,242,222,130, 54,136,137,174,  1, 22,200,125,205, 93,182,214,186,203, 90, 42,239,168,149,176,226, 46,
+139,241, 25, 56,118, 39,146,  7,201,252, 85,214, 82,222,150,161,157, 91,220, 79, 61,161,138,112,121, 70, 18,222,206, 25,236,216,
+185, 11, 90, 40,236, 48, 57,102, 91, 93,120, 27,144, 37, 25,180, 84, 40,202, 18, 74, 10, 24,165,169, 71,188, 81,232, 36, 41, 32,
+ 21, 18,165,160,133,132, 54, 25, 20,183,235, 84, 82, 66,  9,  1, 37,104,118,  5,  2,130,144,144, 66, 82, 32, 88,209, 71, 38, 21,
+213, 61,113, 37, 18,109,160,160,224,225,225,  3,208, 73, 18,142, 90,150, 48, 90,192, 10,201,  5,149, 56,215,210,163, 74, 41,112,
+219,164,169,199, 75,186,179,180,  6, 68,194,106,106,229, 66, 19, 85,229, 54,123,238,192,230, 75,146, 34, 11, 46,208, 19,106,218,
+114,172,108, 18,205,202, 81, 50, 44,216,124,220,227,224,150,122,  3,158, 88, 33, 78,170,113, 19,252,122,243,164,147,132,210,196,
+178,156,152,194,176,120, 90,131,227,  4,  0,145,101,220, 62, 90, 67,176, 95, 85, 56, 91, 49,244,216,157, 79,164, 53,225, 53,  0,
+221, 89,218,239,117,179,163, 97, 77,160,224, 28, 94,112, 68,112,198,205,120, 50,110,242,  2, 63,174,169, 71,194, 48,201, 88, 71,
+ 57,242, 76,  0,140, 24, 39,226,235,205,241, 23,172, 93,104, 78, 39, 90, 90,170, 58,134,153,132, 52, 66, 99,214, 39,208, 74,234,
+ 14, 56, 98,232,145,216,185, 80,  9,197,  1, 68,136,189,172,250, 88, 47,135, 50, 84, 25, 41,129,180, 47,161, 28, 80,120,148, 62,
+ 96, 40, 20,118,117, 58, 48, 38, 67,170, 20, 90, 38,197, 84,158,163,147,166,  8,137, 65,217,105, 65,232, 12,162, 95, 64,216, 98,
+ 77,134,190,252,220, 56,154,223,192,154,102,204,251,143,217, 32, 82,140, 51,244,122, 15,  4,205,117, 10,192,213, 45, 17,131,204,
+216, 10,182, 81,147,253, 36,  2,107,149,206, 81,161,162,213, 26,242,212,  3,104,215,123, 63,195,245, 63,218,204,152,103,219,244,
+179,149,144,  5, 74,  2,152,206,137,225,181, 51,170,179, 96,120, 78,178,132,198,110, 12, 87,242,228,159, 35, 33,137,173,125, 35,
+225, 71, 80,170, 90, 44,171,235,202,154, 98, 21, 42, 77, 57,  6,247,169,104,134, 55, 20, 29, 31, 99, 89,234,110,169,141,210,203,
+152,177,162,229,120,147, 29,231,120,227,136, 42, 11, 64,129,  4,223, 68,211, 92,248, 90,187,232,224, 73,171,246,178, 42,123,173,
+ 88,185, 90,143,160, 29,233,104, 61,214, 34,209,148,217, 98,106, 12, 61,222, 43,128,133,140,168, 20,214,232,248,196,254,218,186,
+138,114,134, 35,220,211,100, 20,233,158,182, 58, 48,208,216,145,183, 96,180, 65, 97, 75,180,116,134,224, 28,188, 22,232,102,173,
+ 17,141,128,118, 72,148,129, 84, 10,109, 45,225,  3, 16,156,131, 82, 18,158,219,119, 90, 87,  2, 65,193,123,  7,  3,  1, 45,104,
+113,134,101,129,160, 21,218,105, 11,165,181, 16, 10, 48, 72, 96,157,131,144,  2,218, 75,100,121,130, 65, 97,145,105,137, 12,  9,
+150, 44,160, 82,133,190, 18, 40,130,175,124,232,177, 59, 78,146, 97,212, 33,104,171,177, 21,215,140,103,101,212,207,185,214,153,
+104,136,170,102,122,220, 64,185,226, 40, 83,214,232,  5, 72, 32,136,145,184,138,183,131, 31,208,255, 23,123, 84,219,185, 92,134,
+ 56, 88, 84,  4,107,100,126, 95,175,101,193,144,  5, 71, 41,  0, 45,234,  0, 55, 92,220, 82, 38, 29,  0,224,242, 43,113,224,178,
+ 93,184,252,130,125,216,189,235, 60,180,119,207, 32, 72,133,188,149, 64, 35, 64,166,  9,140,214,200,164, 68, 57, 28, 98,105, 88,
+ 98,105,105,128,165,197, 62,  6, 11,139, 56,245,212, 81, 60,240,212, 19,248,220,157,159, 64,216,181, 27,232, 45, 64,216, 62,241,
+159, 36, 39,193, 53,212,246,126, 12,172, 10,220, 21,170,237,169,174,190,178, 44, 96,113,191, 99, 87,144,  9,114,136,113,211,251,
+114,149,166,226,128, 98,228,123,180,110,248,154, 98, 47,215,217,173,176, 44,128,197, 57,206,135, 15,244, 28,245,106,120,102,162,
+187,217,154,231, 29, 85,101,199, 72, 91, 99, 55, 69,167,153,225,115,241, 29,167, 89, 11, 91,142,209,112,127,  6, 59,113, 62,180,
+133, 40, 10, 20, 58,193, 92,111, 10,121,218, 70, 42, 91, 80, 90, 32,216,  2,153, 84,216, 51,179,  3, 30, 30, 51,137,196,233,222,
+  9,244,237, 28,190,112,231,221, 85, 85,221,138,252,175,188, 79,226,126,134,173,  2,231, 70,194, 11,198, 43,210,141,206, 26, 11,
+ 66, 18, 92,223,130,199, 27,175, 56,  4,119,210, 66,173,210,218, 38, 49, 24,208,107, 43,161, 57,234, 92,129,220,163, 57, 19,139,
+ 52,229, 88, 16,238,236,167, 64,153, 27,113,189,235,139,223, 54,220,191,128,203,115,219, 90,159,134,  0, 96,177,168,252,196, 75,
+220,192, 37,214,116,176, 19,238, 39,139,170,154,165,176, 53, 13,152,203, 27, 27, 91,149,130,  5,187,196,236, 38,186, 13,234,218,
+222,140,  5,  6, 98,230, 67, 61,  3,162,240, 85, 79,119,205,189,225,203, 33,231,134,199,231,  2,209,199,184,255, 67,109,191,104,
+189, 62, 58, 63,249,118,201, 65,130,182, 22, 16, 43,226,245,121, 31, 42, 93,197, 47,196,150,228, 19,117,254,  5,246,188, 38,108,
+217, 38,105, 27, 74,137,104,117,144,236,154,198,121,217, 52,242, 52,129,145,  6, 10, 64,170, 18,104, 67, 62, 23,173, 12, 82,149,
+ 32,225, 46,107,153, 78, 32,133,131,230, 20, 51, 37,  2,172,245,112,142, 76,233,193, 59,104,  0,169,176,112, 90, 99, 56,164, 86,
+161, 54,  0,131,194,162,103, 75,148, 46,192,122,135,158, 29,  2, 66, 34, 56,  7, 27, 44,140, 50, 40, 93,229,119, 28,148, 14,198,
+  8,204,245,151,  0, 33,112,188, 63,128, 91, 90, 36,255,202,176,199, 11, 91, 80, 16, 82,105,207, 77,244,240,134,205,238,168, 76,
+ 94,145,144, 10, 49,206,204,  5,170,195,160,147,170,185,142,228,180,189,232,211, 44,107, 41,120,131, 33, 29,190,222, 18,109,210,
+222, 96,107,159,123,106,150,  2,127, 98,106,202,137,211,192,112,105,211,130, 78, 93, 43, 75, 95,242, 34,124,215, 43, 95,138, 11,
+ 47,223,143,217,217, 22, 10, 33, 96,  2,176, 35, 85, 88,130,132, 81, 18,137, 54,232, 21,  5, 10,206,156,  8,182, 24,149,128,245,
+222, 67,115, 52,110,139,  9,252,176,180,176, 46,224,171, 71, 79,227,200,103, 63,143, 15,220,125, 31,240,224, 17,  4,149,  2, 51,
+ 93,210, 34,132,172,122, 31,107,110,180, 48, 55, 79,135,222,121, 46, 11, 59,172, 24,133,224, 88,138,158,173,180,121,189, 12, 17,
+168, 87,223, 27, 99,228, 24, 47, 81,186,158,152,132, 52, 33, 45, 75,103,212,238,181,158,166,153,178, 86,  6, 80,179,160,114,157,
+185,180,117,157,192,212,  5,142,132,153, 89,204, 26,224, 50,205, 97,125,109, 47, 71,110, 86,173, 33,166,119, 66,236,189,  4,151,
+159,191, 11, 59,179,105, 76,183, 58,164, 40, 74,141,139,206,111, 99,207,238, 41, 76, 79,105,124,245,196,  0, 15,125,233,126,124,
+242,225, 47,224,201,143,127,102,148,  6, 29,106, 63,235,175,149,152, 61,213,176,151, 85,190,117, 61,  7, 28, 53, 38,175,184,  7,
+ 69,212,146,108,237,106,209,116, 26,153, 82,120,  6,196,140,212,215, 77, 74,218, 11,221,140, 54, 81, 82,211,176,235, 13,144, 44,
+184,194,153,156,  8,131,208,112,174,168,180,200,250,216, 35, 45,113,142, 44, 66,139,220,205,173,223, 39,173, 93,150,228, 51, 15,
+195, 51, 53,218,122,249,211,186,144,  6,216,113,  0,  0, 32,  0, 73, 68, 65, 84,  0,139,122,202,161,223, 56, 61,142,252, 41,182,
+151, 45, 49, 94, 43, 32, 90, 59, 39, 91,228,198,204,160,224,171,226,105,158,153,172,225,235,153, 90,163,169,222,160,170,123,176,
+217,120, 21,147,212,138, 75,213, 27,217,248,106,190, 99,138,118, 61,245,170, 54, 39, 91,163,169, 43,174,180,165,217,236, 62,213,
+193,108,154,195,104,133, 76,167, 72, 36,  7,171,169, 28,131,178,143,110,214,130,132, 68,146, 72,164, 58, 65,154, 26, 40, 37,224,
+172, 68,150,164,  8,193, 98, 88, 90,104, 37,161,133,  7,134, 67,  8, 37,144,  7, 18,137,212,192,162,  3,137, 69,  0, 93, 91,194,
+106,129,167,132,128,242,  1, 46,145,  8, 33, 33,215,152,  4,132, 80,  8,214, 66,139,170,213,170,225, 26,197,211,121, 27,189,178,
+143,118,106,176,132, 14,156, 92, 36,237,209,198,116, 38,253,204, 99,232,192,120,125,240, 51, 76,117,156,  6, 82,128,  2,170,130,
+ 39, 45, 44,101,223,160,228,239,229, 92, 72,162, 12,120,213, 85,251,241,137, 47, 28,225,198, 98,138,  3, 64, 98, 57,221, 45,126,
+238,193,  2,153, 53, 91, 41,  9, 16, 97,194,247, 23, 53,198,104,238, 28, 88,172, 84,200, 58, 18,255, 55,127,207, 91,240,194, 87,
+ 30,192,174,221, 51,152,205,115,216,178, 68,175, 40,209, 27, 20, 16, 74,194, 14, 45, 78, 23, 20,229,154, 40,  9,167,  4,148, 20,
+ 80, 16,112, 69,  9, 64,160, 95, 18,  3, 30,246, 11,244, 11,139,233,233, 22, 90,173,  4, 45,157,160,173, 37, 94,122,197, 62,188,
+241,234,139,240,198,111,250, 58, 60,122,114, 30,159,250,135,187,240, 63, 62,254,105, 98,226,129,245, 62,205, 53,178,157,  3,220,
+176, 98,110,145, 81,106, 77, 81,240,182,172, 74,108,214, 25,250,100, 46,171,101,237,177,206,192, 39,127,174, 23,121, 14,236,217,
+ 81, 77,220,241, 99,213,189,157,  7,230,251,216, 80,173,241,210,210,158, 26,249,194,107,227, 81, 53, 33, 81,216,241,158, 15, 27,
+221, 47, 39,158,  2,116, 23,253,221,187,176,100, 75,100,101,129, 52,105, 99,255,197,187,113,209,222, 54, 46,185,160,131, 68, 43,
+ 92,176,219,162,149,103, 80, 42,197,135, 30, 89,  4, 30,125,112,164,173,111,168,228,187,171, 89, 20,198,122, 88,212,153, 68, 70,
+204, 78,233,138,254, 97,192,140, 92,144,245, 73,213,253,109,207,  0, 26, 18, 45, 65, 74, 19,173,158,153,162,137,153,206,128,190,
+165,244, 94, 33, 33,181,132,105, 27,  4,142,179,233,232,  4, 82,  8,248, 16,144, 43,141,190,243,112,240, 48, 34, 67,233, 61, 20,
+103, 32,149,214,193,194,195,141, 10, 45,113,  0,167,209,196,236, 68, 78,130,228,128, 11, 58, 45,183, 31,202,149,172, 26,158,232,
+217,102,173,156,245,126,230,163, 66, 87,204, 20, 85,189,236,237,132,155, 52, 90, 51, 29,187, 75, 29,215,189,119,224,186, 32, 53,
+225, 79,112,151, 72, 55,209, 52,108,163,207, 27,226,254,139, 41,214,190,178,  8, 25,  0, 46, 33,255,254,232,128,177,130, 80,163,
+ 29,103,239, 83,215, 20,184,130,118, 14,180, 53, 48,179,  3,157, 60, 71, 91,165,232, 36, 25,100, 80, 80,  2, 48, 58,133,115, 67,
+180,211, 28, 74,  8, 36, 70, 33, 75, 82,164,121,134,196,208,198,161,121,160, 96,  8, 45, 61,130, 43,161,157,131, 48,  2, 29, 87,
+ 32,241, 14,137,247,112,174,  4, 66,137,204,121,  4,239,224,189, 69, 22,128,129,176, 84,117, 19, 64,225, 73, 62, 79,117,  2,129,
+  0, 47,128, 84, 25,248, 16,160, 37,157, 56,163, 12,156, 35,159, 94,128, 64, 33, 20,249, 57,202,146,203,126,114,202,194,114,209,
+174,107,  5,157,108,119,240,215,168,186, 19,251,123, 37,119, 64, 26,  6,242,201,104, 54,  3, 26,174,170,231, 56, 31, 52,213, 64,
+170, 32,131,128,145, 26, 78,  6, 60,122,124, 14,111,126,245,245, 40,243, 33,230, 78,204,211, 70,178,150, 11, 88,184,179,219, 27,
+245, 84,160, 24,171, 80, 14,168,226, 90,191, 87,  5,224, 69,134,222,158,166, 42,131,105,139, 59,151,197,210,147, 45,110,208, 67,
+ 27, 55,189,250,133,248,190,239,126, 11,190,235,166,239,193,203, 15,188, 16,211,221, 54,180, 36,166,122,186, 95, 96,169,176,208,
+165,133,245, 30,169,243,120,252,196, 60,156, 23, 80, 70, 33, 88,135, 76, 27, 88,239, 49,149, 24,204,245, 10,164, 30, 72,148, 68,
+123,166,  3, 47,  4,164, 13,200,179,  4,157,118,142, 32,  4, 84, 16,176,165,133,128, 64,146, 37,184,238,192, 53,248,186,175, 63,
+128,125,187,166,241,240,201,163,232,159,236,209, 33, 95,232,147,191, 90,114, 81,141,216,235, 32,176,169,172,223,227, 52, 42, 81,
+ 69,219,151, 92,  3,115,185,148,190,216,183,187, 78,104,162, 86,161, 57,144,103, 61,105,151,173, 14,249, 77,181,  4,230, 22,104,
+222,181, 28, 55, 53,111,116,191,198,212,200, 24,244, 23,235, 90,199,234,106, 58, 84, 65,180,214,158, 89, 78,120, 13,235,203, 40,
+232,109,233, 36, 22,145,163, 61,211, 69, 75,165,216,217,157,193,215, 92,216,198,229, 23,239,128,145, 10,157, 86,138, 78,150, 64,
+ 36,  6,189,178,131,153,233, 93,120,176, 95, 34, 56,143,160, 13,194,249,251, 16, 46,216,  3,236,217, 75,193,144,171,  5,167,174,
+227,249,144,232, 42,  0,176,157, 98,223, 11, 46,193,252,177, 57, 14,174,170,  9, 92,214, 82, 96,152,125,  6, 48,244,200,116,102,
+218,180, 15, 90,  9, 55,200, 18, 72,186,109,164,105,130, 60, 33,  5,108,214,100,152, 54, 57,118,230,109, 36, 74, 97, 58,237,160,
+107,114,104, 41, 49,155,117,208,209, 25,218,105,134, 92, 25, 76,165, 45,180,141,198,180, 54, 72,181, 70, 43, 77, 97,125, 64, 80,
+ 26,193,212, 44, 77,136,133, 99,120, 47,216,114,237,249, 95,238,181,153,177,123,112, 69,182,216,203,157,179,125,130,175,250, 40,
+148,190, 58, 15,178, 86, 35, 34,  6, 28, 39,186,242,181,143,130,251,184, 10,166,224,130, 80, 37,151,181, 45,106, 41,103, 27, 85,
+ 10, 71,221,218, 98,156, 65,140, 97,137,149, 20, 45,231,252,151,213,  9,  9, 28,203,178,101,209,239,138,125,233, 83, 25, 96,218,
+ 72,167,167,176, 35,201,161,133,129, 81, 64,110, 50,164, 73,138,224, 45,140, 78,144,232, 12, 64,137, 86,218, 66,154,103,208, 34,
+ 64,170,  0, 33,  2,197,107,129, 34,181, 69,  8, 16, 92, 79,184, 35, 45,108,  0,210,224, 96,157, 67, 34,  5,242,210,162,112,  5,
+116,172,168,  6,139,196,121,244, 80, 98, 80, 82, 62,163,210,  9,156, 45, 96,116,194, 38,252,  0,165, 53,164, 15, 48, 74,161,240,
+  1, 90,  8, 24, 24, 20,176, 16, 82,160, 28,198, 98, 25,174,146,186,214, 27,120,162,107,121,140,114,139,234,153, 27,206,247, 84,
+ 19, 68, 55, 54,100,168,219,159,173,162, 96,148,152,199,108,248, 25,114, 14, 12,145, 18, 48, 10,137,210, 20,179,  0, 64, 10,129,
+ 32,129, 47,127,245, 97,204,205, 47, 49,243,103,109,127,104, 89, 82, 93,157,177,167, 47,191, 22,238,212,169,202,124, 86,214, 44,
+  9,245,249,136,105, 67,101, 57,158,138, 17,209,153,229,142,125,117, 19,148,164, 74,132,211, 93, 96,122, 10, 47,122,249, 53,184,
+241,187,223,138,239,249,174,215,227, 37, 87,237,199,190,110, 27,139, 46,160, 37,  4,130, 15, 24,148, 22, 67,235, 96,135, 22,139,
+  3,139, 97,127,136,194,  5,180, 90, 57,102,167, 91,112,150, 52, 14, 93,150, 72, 76,  2, 39,128,254,176,128,148, 10,221,196, 64,
+  6,129,118,158,227,210, 29,211,104, 75,133,  2,  2, 83,153, 65, 30,  4,230,188,195,233,162,192,210, 82, 15, 39,  7,125,188,237,
+199,126,  9,223,247,147,223,139, 87, 92,123, 13,186,193,227,254,207,124,153, 36,250,165,211,212,108,168, 44,137,121, 42, 93, 69,
+175, 71,255,123, 76,157, 26,153,233, 86,107,111, 43,170,  6, 27, 35,135,112, 45, 53, 80,202,181,247,154,229,146,154,243, 92,118,
+213,139,101, 58,140,201,241,168,218,205,150, 51,117,174,202, 33,118, 27, 79, 59, 58,131,169,107, 13, 49,127, 12,243, 34, 71,123,
+170,133,169, 36,199,243,206,159,198, 84, 59,193,244, 84,134, 32, 20,180, 81,200,140,134,208, 10, 58,107, 97,110,161,192,241,249,
+  5,132, 52,197,215, 29,184, 12,215,126,205,126, 92,188,179, 11,209,206,112,226,244,252,217,165,243,  1, 68, 88,133, 64,114,241,
+  5,216, 59, 53,139,227,115,115, 19,174, 42,206,189,198, 51,160,167,129,226,134, 89,221,156,220, 44,237,156,203,118, 27,164,105,
+138,221, 89, 11,185,210,152, 77,186,152,201, 58,104, 39, 45,236,200,167, 97,164, 70, 55,233, 80, 77, 16,165,145, 40,131, 84, 39,
+ 80, 82, 32,145, 18, 25,167,121,182, 76,130, 34,  0,185, 73,209, 50, 25,114, 45,209, 54, 26, 66,105, 40,163, 81,218,192,101,132,
+201, 50, 72, 76,239, 28,149,132,150, 53,215,137,  8,128,206, 41,138,222, 58, 78, 19,100, 41, 57,186,205,192,129,169,165,173,206,
+156,228,134, 74,138,207, 17,184, 76,119, 44, 30, 21,107,119,184,130, 92, 25,145, 17, 59,191,241, 51, 20,121,200,168,153, 78,160,
+116, 63, 97,185,200, 21,107,241,177, 65, 89, 96,103,126,  8, 20,  0,232,237, 89, 50,117,173, 73, 59,108,229,164, 89, 77,181, 49,
+157,102,152, 78,219,208, 74, 66, 10, 32, 81, 26,214, 89,116,210, 46,188,119, 80, 10,152,106, 77, 35, 73, 21, 50, 99, 32,132,135,
+ 18, 20,196, 21, 64,233,109, 74, 10, 88, 91, 82,219,116,  9,104,231,144,115,161,142,196,123, 40,231, 49, 12,142,252,159,222, 66,
+120, 65,193,119,222,195,133,152,173, 16,224,189, 67, 16, 26,130,163,180,165, 16, 80, 66, 64, 10,  9, 15,138, 34,148, 66,192, 33,
+160,165, 19,244,157, 69, 16, 18, 46,148, 44, 40,176,100, 22, 56,204,119,173,195, 89,247,  7,249, 45,170,103,222,105, 19, 83, 83,
+226,204,136,252,232, 48,140,154,156,229,102,  8, 14, 85,148,116, 44,138,144,155,209,  6,117, 66,192, 40,201, 21, 60,  5, 66, 16,
+ 72,210,148,  2,128, 53, 71,238,198, 90,195, 67,187, 70, 81, 24, 13,119,234,  4, 17, 57,203,117,246,235, 13, 71,226, 28,198,130,
+ 51, 43,205, 73, 43, 35,109, 60, 75, 43, 38,100,200, 84,184,235,162, 61,232, 25,131,239,127,195,155,241,154,131, 47,199,133, 23,
+238,134,181,  1,137, 45,113,186, 95,224,177, 19,115,120,234,212, 34, 78,205,247,113,106,110, 17,110, 88,114,141,131,128,211,167,
+230, 81, 14, 75,244, 22,250, 88, 90,234,195, 46,245,176, 48,116, 40, 29, 96, 18,131,197,133,  1,188,243,112, 11, 75,152, 31, 20,
+152, 31, 20, 40,157, 69,191, 44,112,122, 48,196,209,165, 30, 22,  6, 67, 28,239,245,240,212,194, 18, 22,251, 67, 12,  6,  5,190,
+242,200, 28,238,253,220,231,240,215, 31,254, 27,124,195, 55,126,  3, 46,191,106, 63, 46,127,254, 37,184,255,232, 49, 12,231,230,
+184,108, 40,103, 33, 36,154,155,190,248, 42,168,170,180,220,184, 98, 29,146,252,168, 28,233,  4, 99,175,207,243, 90, 81,235,158,
+250,  3,252,255,212,189, 89,175,165,217,121,223,247, 91,227, 59,236,225, 76, 85,213, 85,213, 35,217, 77,138,162, 72,145, 14,101,
+201, 84, 36, 69, 52, 36, 68,146, 45, 89,138,146, 72,182,128, 36,178,157,139, 36,128,131,  0,185,200,167,200,125,130, 92,229, 19,
+228,194,128,  1, 33,130,156,196,144,  5, 77, 16, 35,155,180, 40,138, 17,201,158,187,171,206,176,167,247, 93, 99, 46,214,122,207,
+222, 85,221, 93,221, 93, 85,164,232, 13,116,215,116,234,212, 57,239, 94,107, 61,235,249, 63,255, 97,202,105,190,134,237, 30, 30,
+163, 77,159, 79, 30, 48,238, 31,231,245,216,133, 76, 35,234, 41,120, 93,212,165, 44, 63,250, 53,231, 88,142,231, 75, 12, 45, 55,
+ 78, 58,132, 80,244,157,198, 85,  2,251,224, 64, 41,193,229,229,142,111, 94, 93,112,231,153, 57, 47,156,158,210,216,150, 59,207,
+220,226,246,233, 13,210, 92,241,214, 59,231,143, 95,216,175,187,198, 76,124,231,138,243,222,146,191,243,106,189,252, 79,142,122,
+ 85,159, 45,197,223, 92,166,129,166, 16,126, 59,  3,167,179,170, 78,106,192, 42,230,139, 25,115,221,114,214,244,180,182,101,217,
+ 46,232,181,165, 55, 29,125,211,131,144,244,166,197, 40, 77,202,137,222,116, 52,198, 98,148, 70, 73,137, 20, 26, 37, 21,173,105,
+ 32,103,150,237,156, 86, 53, 12,209,177,108, 58,230,182,165,211, 22,131,132, 70, 50,230,234,217, 64,220,135,191,124,175, 47, 59,
+ 83,164, 43,236,173,158,135,109,229, 17,168,253, 62, 74,113, 79,130, 27,199,242,224,114,133,197,242, 52, 94, 43, 99,224,194, 59,
+ 16,123,153,166,115,251, 44,121,204,  1,115,126,178, 26,142, 31,127,109, 73,117,144,199, 46, 15,172,113, 15,228,149, 19, 74, 48,
+133,233,152,138,134,196,248,132, 69, 93, 85,194, 69,223,194,124,129,109,123, 90, 85,230,227,173,214,244,182,131,148,232,154,150,
+144, 35,139,182, 69, 43,141,181,170,214,161, 88,116,227,120,148,200,  8,161, 16, 49, 66,244, 88,107,209, 49, 96,115, 68, 74,133,
+ 26, 29, 34,102, 68, 76,200,148,138, 65, 13, 18,153, 33,  9, 65,139,192,147,174, 27,152, 84,187, 25,173, 12,141,212,  8, 33,105,
+149,193, 87,196, 64,  0, 62, 39,172, 50,196, 28,112, 62,178,176, 13,187,232,113, 76, 27,113,178, 58,172,249,213, 31,118,187, 20,
+  7,214,167, 79, 75, 22,215,117,  5,  9,201,234,189,  5,118,234,226,174,173, 42,171, 87,253,181,100,164,218, 51,118, 53,  4, 64,
+234,122,115, 21,104,163,138, 60, 29, 48, 82,161,181,194,133, 88,173, 79,171,  6, 52,139,162, 25,125,212,248, 65,203, 34,245,154,
+ 24,165, 74,236,  3, 47, 14,195, 31,166,185,147,200,239,223, 85,154,106,188, 32,  4, 88,203,231,191,240, 89,126,250, 71, 94,230,
+159,252,151,191,202,223,255,202,151,249,212, 39, 95,225,159,255,235,127,201, 43,207,127,146,182, 51, 92,109,183,188,123,185,229,
+237,203, 45,126,181,101,179, 25,136, 49,193,206,115,113,239,138,203,149,195,111,  3,195,106,195,226,248,  6,166,233, 89,159,175,
+ 24, 99, 34,141, 25,219,247, 40,165,121,245,219,111,240,206, 91,247,216, 93, 94,241,238,189,251,140,227,136,219,  6,222,124,231,
+156, 55,222,190,199,110, 53,178,189, 88,115,117,181,101,187,218,178,186, 92,225,199,196,255,246,191,252,239,165,198,238, 60,159,
+249,194,223,162,233, 37,203,227, 57,127,235,179,159,194, 37,207,107, 95,251,102,121,175,142, 22,181,216,214,131, 76, 30,132,140,
+184,240,160,245,228,135, 65,114,248,114, 72,136,  3,228,227,129,121,220,199, 41,166, 15,217,182, 10,234,184,169, 22,243, 28, 15,
+ 72,122,223,207, 78, 51, 61,216,169,107,189,151,169,165,136,216, 57,118, 77,203,172, 49,164,220,112,181,139, 88, 45, 81, 82,113,
+111,200, 24, 37,240, 62,112,185,  9,124,245,219,175,242,236,145,226,206,242,152,110,185,224,232,120, 65,211, 24,206,102,115,222,
+ 22, 35, 87,111,220,127,252,142,113,114, 81,243,142,124,255, 98,127, 89, 74, 21,165,176,  7,177,185,153,167,255, 12,167,209,150,
+209,251, 16,151,201,  3,220,244,245,223,111, 11,121,121, 94,213, 26,139, 14,180,164,209, 45,167, 77,203, 51,253, 49,203,238,136,
+153,233, 56,153, 29, 99,164,162,181, 51,148,208,244,186, 69,203, 50, 91,159, 53,165,179, 23, 73,160,148, 70,203, 98,  0,102,165,
+162,211, 13, 90,107,122,221,163,180,230,180, 61, 42,205,147,212,  8,  4,189,177,232, 36,  9, 42, 49,162,246, 55,181,244,125, 40,
+236,147, 99,160, 81,  7, 17,174,213, 95, 34,196,125, 76,174, 86,133,247, 33,216,123,209, 91,189,151,185,169,170,163,215,106,159,
+214,168,170, 35,169,169, 35,176, 92, 27, 41, 23,246,223,223,227,162,181, 82, 84,137,117,172, 30, 36,213,128,102,242,190,135,194,
+ 79, 48,146,235, 67,252,  0,245,123,178,162,110,171, 15,173,109, 97,121, 68, 99, 13,167, 93,135, 17, 10, 37, 37, 70,106,180,210,
+228,156,105,180,194, 84,200,202, 72,137,212, 10, 69,164,209, 18,  5,152,  4, 70, 73,148,200,104,  4, 50, 70, 98,206, 68, 63, 34,
+ 83,198,198, 84,237, 33, 51, 58, 37,154, 92,228,175,  1,129, 65,224, 99, 64, 11,137, 65,178,145,  2, 41, 37, 93, 83, 24,170,141,
+178, 52, 90, 97,109, 71,171, 45, 41,  7,180, 54, 24, 33,217, 69, 95,141,110,202,215,185,  9,158, 44,  4, 49, 30,  6,166, 76, 15,
+244, 67,130, 90,230, 51,232,151, 37,172,198,213,226,250,164, 16,188,172,139, 39,248,247,122,124, 79, 93,220,212,145, 95,187, 98,
+ 29, 26, 22,136,122,131, 84,133,  1,111,  5,141,181,132,152, 17, 72,  4,  2, 41, 96,  8,161,106,217,107, 23, 57, 49,180,169,112,
+241,  7,117,235,114,210, 63,203,125,242, 82, 22,251, 27,249,225,247, 33, 14,139,124,124, 47, 73, 70, 73,154, 79, 62,207,111,253,
+252,127,200,207,124,229, 75,124,246, 71, 63, 69, 99, 53, 43, 23,136,110,228, 19,207,188,192,239,255,225,159,240,226,179,183,217,
+109,  3,235,171, 45,171,171, 43,214, 23, 87,172,214,107,194,198,147,145,108, 86,107,118,155, 45, 18,133,146, 13,198,118, 28,205,
+ 23, 72,105,202,179,  8, 96,173, 37, 68,137,214, 13, 82, 25, 98, 16,196, 24,105,250,  5,218,182,220,127,251,109,182,155, 53,227,
+118,195,119,222,120,157,113,179, 97,187, 90,115,113,255, 62,227,176,227,107, 95,255, 43,126,245, 63,249, 13,254,221, 87,255,140,
+ 63,254,163, 63,226, 19, 47, 61,207,118,181,197,246, 45,159,249,236,167,232,143,150,124,243,254,  5,108, 15, 66, 39,166, 27,248,
+  4,249,153,154, 57, 16,252, 71, 43, 34,135,249,  2,211,129,117, 72,240,122, 28, 75,227, 67,251,217,  9, 98,156,230,144, 31,228,
+ 61,240,180,114, 11, 30,  9,191,107,132,150, 15,232,206,203,254,119,184, 97, 71,238,103, 56, 23,185, 90,101,118, 14,130, 20,215,
+145,  5,231, 91,207,235,175, 95,112,255,254, 59, 12,126,199,243,103,183,184,243,236, 45, 82, 74,184,224,112,110, 96,166, 52,127,
+121,255, 10,174, 86, 79,167,120, 60,188, 39,174,121, 20, 60,221,226,213,183,229,243, 47,142,203,251,117,116, 90,201,111, 51,184,
+253, 12,156,157, 21,147,161,163,101, 41,226,203,234,  7,223, 22, 34,220,141,217,130, 59,139, 37,203,118,201,162, 91,208,105,203,
+178, 93,160,132,196, 40, 67,111,122,180,212,100, 18, 74,234, 18,164,149,  5, 70,153,122,102, 75,140,178, 40,161, 48,186,197,167,
+192,162,153,209,180, 29,173,105,139, 97,101,202,104,109,104,109, 91,  1, 37, 65,175, 44, 86,103,182, 89,145,235, 94,191, 30,195,
+125,175, 94,125, 91, 57, 59, 21, 29,155, 28,  3, 83, 44,197,219,202,189,183,194,228, 27, 34,168,126,  3,149,221,174,204, 62,114,
+ 54, 23,120, 27, 87, 25,253,147, 68, 47,198,125,231, 31,211, 62,145,116,202,139,143,177,134,155,241,209,160,248, 73, 34, 60,241,
+ 54, 68,174,193,104,114,111, 46,150,170,181,177, 60,216, 32, 79, 60, 83, 55,186, 22,137,182, 46, 26,203,173,126,137,200, 18,173,
+ 21, 51,211,225, 98,196,106,141, 68,162,133, 64,107,115,173,249, 47,158,  5,138,150,128, 17,  5,114,215,201,163,132, 66, 40,208,
+209, 49,134, 84,102,241,131, 67,121,  7,174, 16,154, 92,240,216, 84, 66, 28, 76, 40,100,185,136, 64, 86,110, 88,  6,180,182, 72,
+173, 17, 82,163,165,164,237,218,194,184,111, 13, 50,107, 20,  2, 33, 50, 90,154,242,177, 64,204,137,153,177, 92,142, 59, 98,168,
+115,151, 88,175,112,206,191,127,192,253,225,107,113, 82, 28,151, 76,117, 45, 10,225,201,225, 55, 31,202,194,252, 32,147,150,247,
+ 36, 70,213, 27,176,152,136, 41,213, 53,174, 47, 68, 51, 89,  9, 98,  5,177, 17,244,214,178,157,146,127, 66,222, 91,155, 78, 69,
+ 60,171,154,158,244,136,220, 98, 43, 15,228, 75,105, 47,231, 57, 36,119, 29, 90,133,190,207, 33,247,236, 79,253, 56,191,244,243,
+ 63,205,127,252,149, 47,115,124,251, 20,173, 52, 62, 70,222,190,191,226,106,189, 67,187,192,110, 28,121,241,238, 29, 82,148,228,
+  0, 42,105,136, 18,163,151, 24,213,113,122,251, 46,253,108,142, 53, 11,158,123,225, 37,186,249, 17, 93,219,161,181,197,197,145,
+101,219,210,216,150,147, 27,199,220,185,121,140,182,134,229,124,206,217,141, 19, 78,206, 78,232,102, 75,186,121,203, 75, 47,220,
+ 70, 53,115,220,214,177,217,238,208,210,178,243, 37, 14,116,189,219, 17,131,231,199,190,248, 89,180,142, 60,255,169, 23,249,194,
+ 23, 62, 13, 73,112,121,113,206,230, 98,133,178, 45,207,125,242,  5,238,206,123,254,237,159,254,121,217, 39, 20,130, 98,185, 81,
+ 15,229,178, 55, 62,225,108, 49, 31,204,203,159,212,189, 76, 86,167,143,107,187,  3,177,119,236,154,210, 22,167,206, 48,231,239,
+ 77,  7, 95,187, 79, 33,229,251,178,251,133,146,101, 31,134,145,171,203,115, 94,195, 51,134,129,232, 10,169,209,197,200,232, 18,
+175,189,181, 98,189, 26, 73,110,197,189,237, 37,103,179, 25, 70, 25,150,199, 51, 46,206, 47,217, 12,107, 98, 12,252,197, 95,124,
+183, 72, 55,159, 58,216,144, 14,230,156,226,201,231,247,211,179, 49, 61, 44, 79,232,111,158,225,219, 22,110, 28,151, 98,189,152,
+195,141, 83, 88, 44,225,228,102, 65,247, 78, 78,145,203, 37,207,158,157,241,204, 98, 65,167, 37, 55,250, 57, 71,109, 79,163, 44,
+ 55,103,199, 72,  4,139,110,  9, 66, 32,208,116, 77, 15, 57,163,181, 68, 25,131,210, 10,211, 40, 76,211,144, 66, 68,106, 73,219,
+ 53,  4, 31,177, 74,145, 50,116,218,148,130,222,119, 36, 95, 81, 10,153, 17, 41,227,130, 43, 57, 30,169,228,114, 52,186,101, 23,
+ 29,163,172,233,144,168,247,111, 84,158, 22,244, 62, 21,236,107,219, 87, 81,214,181,119,101,198,191, 29,202,243,155,144,179,209,
+149, 34, 46, 83, 57,191, 91,187,175,194,177,186,225,217,202, 25, 50,125, 81,127,184, 80,205,129,194,254, 74, 58, 65,226, 19,146,
+ 38, 68,205,136,248, 24,151,225,233, 60, 23,  7, 17,183, 83,108,173, 47, 40,247,  3, 72,221,193, 26,123,252,162,174,116,121, 48,
+ 71, 61,204,143, 88,206,103,197,214, 85, 40,230,141, 37,198, 72,111,139, 65,135, 86, 10, 37,  4, 90,107,140, 84, 24, 35,145, 57,
+210,202,132,170, 51,111, 43, 51, 17,129, 16,  9,225, 67,209,219,239,182,164,209, 49,250,  1,181,115,164, 24, 81, 62,176,168,218,
+ 69, 19, 83, 33,211,145,145, 66,225,144,  8, 20,201, 88,178,148,196,156, 48,141, 69,169,210,169,182,125,139,214, 10, 35, 13, 34,
+231, 50, 75,182,150,144,139,148, 66,107,195, 24, 28, 33, 69,118,185,186,126,185,106,197, 41,100,121,152,143,154, 47,247,243,125,
+134,245,118, 91,160, 82, 45,159,112,198,200, 71, 95,  4,147, 79,242,244,163,168,173,243,236,164,228, 33,207,123,178,216,123,180,
+199,148, 24,199,128,146,150, 60,214, 46,111,234,214,199,218, 13, 90,  9, 27, 87, 36, 28,143, 42, 46, 42,215,220,100, 81, 46,  1,
+211,191,115,109,111,124, 16,105,121,120,200,125,238, 11,252, 23,191,241,203,252,204, 87,126,130,126,185,192,121,143,243, 17,231,
+ 60, 23,247,175,184,186,119,137,219,  5,118,187,128,209,134, 97,231,217, 92,174,105,237, 12,107, 91, 78,206, 78,185,253,204, 41,
+207, 62,123,131,227,101, 79,223,181,156,157, 30,209,180,150, 89,215,114,227,198, 49,243,229, 12,221, 54, 44,143, 22,204,250,150,
+166, 85,244,125,195,115,103,115, 60, 18,163, 52,125,219,112,251,198,146,101, 59,195,199,204,243,183,142,121,225,133,187,220,123,
+103, 68, 36,193,201,226,148,179, 27,119,184,188,186,207, 59,235, 13,110,116, 44,151, 75, 86,171, 11,134,209, 49,155,205, 32, 11,
+ 86,235, 13,113, 28,145, 82,241,210,167, 63, 65,219, 89,190,249,245,111,212,141,239,247, 35,147,137, 72,248, 36,235,226,208,223,
+253, 73,215,215,100,243, 58,133,154,240,144,111,252,196,149,184,134, 36,229,211, 33,130,190, 31,234,244,126,100,185,131,143, 17,
+ 57, 67,242,228,119,207,185, 60,191,226,117, 55,242,206,249, 37,140,150,139, 11,199,229,249, 21,227,120,133, 22,153,222, 24,214,
+195,192,189,203,203, 18,111,224, 71, 82, 30,249, 63,254,252,235,228, 55,239,125,112,172,242, 19, 23,246, 10,197, 63,141, 78,180,
+111,203,136,235,229,231, 65,105,210,201, 49,185, 81,208,245,229,178, 62,155, 21,255,  7, 91, 83, 49,151,199, 60,183, 56,225,133,
+197, 49,187, 80, 72,201,119,251, 37,119, 23,167,144, 21, 39,179, 19,  0,206,102,167,136, 44,233,219, 25,182,111,216, 14, 27, 22,
+199, 75, 80, 10,171, 45,109,107,201, 66, 33, 99,198,244,197,111, 68,  8,129,170,190, 33,182,209,116,179, 57, 57,229,154,178, 43,
+ 73, 41,149,166, 33, 69,180,212,  4, 18, 70, 27, 98,136,236,188,167,215,150, 44,  5,187, 84, 27,166, 41,161,240,105,159,143,241,
+161,162,151, 38, 43,237, 84, 10,121,172,161, 77,219, 97, 79, 94,157,230,229,136,253,185, 29, 15, 18, 42,167,188,120, 33,246,190,
+ 12,178,169,112,125, 85, 24,201,131, 70, 38,214, 17,166,146,123,247,184,143,179,183,205,228,172, 55,133,143,229,  3,203,101,181,
+ 15,221,114, 15, 34,116,143, 87,212,117, 77,151,233, 42,137,171, 43,190,215,183,154, 25,141, 86,164, 84, 34, 79,203,108, 69, 34,
+165,196, 42,131, 18,178,160,186,201, 51, 83,  2,171, 36, 86, 22, 35,215, 32,  5, 45, 16, 93, 33, 42,177, 25,112,110,100,187,219,
+ 18, 71,143,242,129,185,139,100, 33,  8, 46,211,139,253,244, 77, 10, 67, 20, 18, 33, 53,209, 90,132,182, 72,221,208,216,134, 36,
+ 20,166,181, 24, 85, 50,150,149,210,  8,  5, 50,171,218, 13, 58,164,208,248, 88,194, 32,124, 12,228, 12, 67,240,196,213,102, 47,
+ 33, 10, 97,127,107,123,212,124, 57,228,210, 89,239, 66,145,244, 76, 11, 74,126,143, 10,251, 52, 91, 59,156,189, 78,133, 61,213,
+188,120, 97, 75,172,226,102, 87, 96,248, 41, 87,184, 46,178,236,253,126, 33,  6, 95, 55, 89,173,214, 62, 21,199,183, 71, 29,224,
+211,124, 49,186,210,221, 77,112,243, 52,251, 61,244,255,158, 66, 24, 62,245, 57,126,253, 87,190,194, 47,255,226,207,240,220, 43,
+119, 73, 33, 97, 26, 69, 74,  2,183, 26,217, 94,109,217, 94,108,  8, 33,145,178, 68,209,208,181,115,102,253,146,103,158,185, 69,
+107, 27,148, 52,244,139,142, 69,219,209,181,134, 70, 25,206,142,103,220, 60,233,121,241,108,198,173,147,158,190, 85,204, 91,201,
+173,163,150,121,219, 48,159,181,196, 44,232,117, 25, 17,205,172, 34,132,132, 16, 18,171, 20,243, 89, 67,107, 13,202,104,110, 46,
+ 58, 62,249,210, 29,206,135, 68, 51, 91,240, 35, 63,244, 50,219,171,128, 74,158,191,190,119,159,133, 49,204,218,142,221,176, 67,
+ 37,201,108, 62, 71,105, 93,247, 90, 66, 54,150, 23, 63,245, 18,  9,193,119,190,241, 87,213, 86, 50, 87,253,122, 53, 56,250, 65,
+121, 29,242, 51,200,251, 98,212,204, 75, 39,104,186,253, 40, 74, 60, 20, 68,241, 52,214,245, 67,190, 11, 31,106,245, 58,113, 52,
+142,230,132,113,203, 16, 70, 98, 26,  9,126,133,206,146,171,225, 62, 34,134,  2,185,103,135, 79,  9,231,  6,190,254,250,119,249,
+ 55,111,191,201,230, 91,247,224,242,252,233,146,210,228, 83, 30, 75, 52,182,140,182,142,142,225,249,103,160,237,120,246,238, 93,
+152,117,  4,221, 34,102, 11,178, 52,165,144, 43,  1,205, 81, 57, 15,155,  5,167,182, 65,234,150,147,217, 17,183,250, 30,135,161,
+ 21,154,174,105,176,202, 50,107, 58,180,212,232,166, 67, 55, 10, 25,  5,203,147, 35,226,224,104,154,166, 20,110, 18, 70, 20,  8,
+ 62, 19, 80, 20,254,147,212,178,  4,107, 41, 10,177,217,104, 16,145,228, 35,155,113, 75, 14,129, 32, 18, 42, 75, 92,116,197,206,
+ 59,102,124,114,168,154,131, 30,181,192,249,186,158,198,167,200,134,159,210,207, 38, 98,170,213,251,117,173,196, 94,213,100,212,
+ 30,113,158,136,188,215,166, 57,105,207,121, 17,178,156,159,147,183,123,206,  5,158,143, 53, 54, 86, 86,200,126, 24,203, 30,137,
+190,120,225,  7, 95, 57, 70,149, 91,165,244,199,191,  4, 79, 35,182,148,246, 36,217,107, 53, 76,222,171, 96, 30,122,118,143, 87,
+212,167,194, 97,139, 55,240,252,236,132, 83, 59, 35,103,129, 84,146, 70,119, 24, 89,188,217,  5,146, 70,149, 25,186, 36,161,100,
+198,  2, 70,100, 90,163,201, 34,161, 82, 66,229,140, 27,  7,164,143,228,209,179, 27,  7,196, 48, 96,119,  1,231, 10,244,174,146,
+ 64,103,232,180, 66, 43,131, 82,154,166,159,163,219, 30,154, 30,219,206, 80, 77,139,210,  6,217, 54,  8,107, 16,170, 28,222,212,
+ 57,187,136,197, 59, 62,196,  2,  9,133,156,137, 41, 33, 37, 92, 13,107,148,210,132, 16, 56, 31,  6,178,168, 93,167,243, 92,167,
+  2, 61,106, 62, 22, 83,185,249,143,110, 95,208, 15, 33,104, 25,247, 48,230,211,218,252,211,141, 78,214, 64,137,201,207,123, 90,
+176,153, 98,107,170, 39,248,169,118, 91,177,194, 66, 62,148, 13,144,235,101, 68,169, 26,180, 80, 25,150,155,243, 42,135, 10,143,
+247,181, 77, 48,243,  4, 35, 29,189,200, 47,252,202, 79,243, 15,126,249,103,121,233, 51,159,192, 54,138,237,214,177, 27, 60,227,
+214, 51,108, 71,220, 48, 18,156,199, 59,143, 18,150,229,226,132,179,179, 19,102,125, 75,223,155, 26,234,163,176,157,162,177,138,
+ 89,103, 88, 54,134,219, 39, 45, 39,139,158,190,105,144,170, 32, 38,157,149, 44, 91,141,150,  2, 37, 10,145, 42, 35,171,202,162,
+ 32,  8, 82,194,141,133,165,111, 20,189,213,228,148,139,188, 13, 73,215,104,158,187,125, 66,210,154,148, 51,139,229, 49,199,167,
+183,136,235,129,111,191,243, 22, 86, 75,164, 84,188,179, 94,209, 40,193, 48, 14,228, 24,177,218,144,147, 68,104,205, 75,159,124,
+129,115, 63,240,206,119, 94, 43, 93,194,118, 34,211, 72, 30,116,188,248,  1, 40,236,135, 23, 67, 83,209,184,190,169,  7,159, 46,
+107, 68,240,224,200,231, 73,215,242,  7,196,179,126, 96,178,218,100,137,125,243,  6,159,249,212, 43,124,254,149, 31, 98,217, 88,
+132,202, 92,172, 46, 25,253,150,139,221,134,215, 46,239,145,200, 24,101, 24, 82,224,171,175,191,205,155, 95,255, 14,187,111,125,
+  7,214,171,167, 88,208,167,129, 41, 79,199,163, 98,130,218,103,115,184,123, 11,158,191, 13, 55,110,243,195, 55,158,229,164,233,
+ 72,  8, 62, 57, 63, 98,200,176, 52, 13, 27,219, 86,  6,182,  0, 59,227,110, 55, 99,214, 20,227, 36,163, 53, 74,104, 22, 77,139,
+233,122, 22,182,135, 20,176,218, 34,164,161,237,117, 33,189,117,109, 49,  8,155,119, 53,147, 71,163,107,231, 77, 74, 72, 36, 89,
+ 56,132,148,165, 54,250, 34,215,146,178, 36, 18,134, 24,137, 68,164,128,221,232, 17, 66, 34, 73,228, 36, 24,115,153,  1,207,187,
+ 25, 91, 55,208, 54, 13, 90, 40,118, 58, 19, 69, 77,134, 20, 21,  9, 18,117,205, 61, 14,194,209,216,154, 36, 57,117,205,181,169,
+240,149,196, 54, 89, 11, 78,222, 15,177,234,208,243,  4,207,219,189, 29,110,136,181,121,173, 99, 40, 37,106,167, 47,170,172,172,
+  6,206,104, 85,246, 68,223, 22,102,189,209,133,100, 42,171,213,110, 62,200, 13,120,156,189,114,120,129,158,198,151,249,176, 99,
+127,239,231,124, 60, 71,185,201, 54,112,110, 97, 54,199,231,140,173,118,121, 11, 91,102,233,160, 80,178,204,174, 11,153, 60,160,
+149, 32,197, 68,223,154,226,176, 56, 56,176,170,100,159,123,200, 33,226,134,  1,225, 60,202,143,196,171, 13, 73,104,244, 54, 16,
+ 20, 12, 10, 90,161,217, 24,133, 54, 22,213,119, 68,221,210, 88,131, 64, 18,117,233,250, 11,244, 92,159,171, 12, 56, 38,213,151,
+ 32,235,162,  3,179,157, 98,220, 66,171, 52, 49,  6,182,206,211,155,134,149,171,198, 20,147,233, 73,160,204,100, 92,101, 41,199,
+244,225,102, 18, 70, 86,143,225,201, 91,187,158,221,170,125,240, 25, 62,169,125,228,161, 22,252,240,247, 66,216,235,197,  1,220,
+ 37,232,227, 98, 60,147,124,149,172,181,123,  7,167,139, 77,249,179,144,247, 30,206, 91,247, 24,201, 24,239,243, 58,112,229,250,
+185,255,252, 87,248,210, 79,253, 24,167,167,115, 98, 74, 92, 93,142,172,175,174, 72, 41,145, 35, 24,221, 18,182,  1,163, 91,  8,
+ 13,253,201, 13, 78, 79,230, 88,107,232, 27,203,124,102,  9, 33,147, 17,228, 36, 80,141,100,102, 44, 11,107, 80,100,156,139,  8,
+ 60, 66, 42, 92,128,139, 77, 34,101,207,172, 73,116, 86,178, 13,133, 21, 93,136,183,138,227,121, 33, 77, 22,133, 77, 66, 43,113,
+157,227, 81, 87, 11,222, 39,122,107,248,210, 75, 55,216,141,129,123,219,200, 38, 30,211,205,231, 12,191,251, 59,136,148,137, 34,
+ 50,134,192,197,234,138, 69,191,100,244,145,198, 59,210,213, 21,110,216, 50, 63, 57,226, 23,126,254, 43, 92, 13,142, 87,255,228,
+223, 61,232,155,126,237,199,249,  3,242,234,219,253,177, 48,173,143,113,138,118,116,149, 91,193,131,133, 75,235, 39, 91,199, 47,
+127,178,116, 84, 95,255,198,251, 79,119,106,164,106,174, 26,222,137,127,214, 62,115,131,163,217, 18, 45, 21, 39,203, 99,186,174,
+ 33,249,196, 27,151,111,113,181,115,220,219,236,120,103,187, 99, 27, 61,241,254, 21,249,114, 11,227,138,252, 52, 45, 91, 63, 40,
+ 47,254,113, 29,197,160,  6,170,204,225,185,103,224,248,  4, 22, 55,144, 41, 51,235,231,184,221,154,231, 23, 55,184, 55,172,249,
+100,211, 48,  2, 23,227,200,168,138,177, 80,223, 52,244, 70,163,133,198, 54,246, 90,154, 37,181,166,207,145,224, 29,182,233, 49,
+ 66, 33,165, 68, 38,137,238, 44, 70, 78,254,  4,245,172, 84, 16,115,192,200, 76, 96, 36,185,128, 18,153,156, 51, 46,  4,148, 46,
+197,114, 28,124,149, 84, 41, 98, 40,157,173,173,166, 72, 67,  8,100,114,137,191,214,154, 24, 35,103,179, 35,  6, 63, 98,103, 22,
+ 45, 19,219,214,242,154, 53,165,136,174,135,114,238, 68, 87,214,216, 48,124,188,181, 53,186,125,231, 45,168, 49,218,181,171,138,
+ 53,143, 93,213,220,249,105, 29,155,154,111,161, 36, 12,235,178,254,213,129, 45,179, 79,251,153,121,116,160,230, 69, 17,116,237,
+ 70, 23, 10,154, 69,216, 59,202, 77,254,239,147, 10, 73,233, 58,210, 10, 31,127,191, 60,198,250,209,143,189,136,219,166, 20,170,
+182,199,100,129,243,129,163,118,142,139, 17, 33,202, 77, 38,166,128, 50,134,144, 19,173,210,132,156,232, 40, 48, 88,223,116,104,
+ 50,209,121,164,146,248,237, 64,151, 33,248,192, 48, 12,100, 23,138,174, 63,120,140,173,174,117,141, 33, 54,179, 66, 24, 94, 30,
+ 99,154, 22,225, 61,169, 53, 40, 36,194,103, 98,215,209,166, 64,142,137, 36,  5, 86, 52,100, 34, 49, 70, 50,  9, 33, 53,201,101,
+132, 40,209,167, 46,122,  2, 17,169,  5,  4, 69, 78,  1,143,195, 40,205,104,106, 96,193,218,239, 31,112, 76, 31,242,  6, 76,179,
+210,112, 45, 93,188,246, 48,158,126, 93,174,244,213,204,224,  9, 11,166,169,129,  3,138,  7,201, 69,215,240,169, 45,115, 35, 29,
+247,213,170,213,133, 32,212,232, 10, 37,197,226,209, 28, 14, 32, 97,107, 97, 92,237, 55,200, 19, 28,222,127,231,151,127,142, 47,
+255,228,151,185,243,252, 41, 66, 10,134,157,103,125,181, 99,115,181, 65, 90, 89, 70,143,187, 17, 47, 18, 18,205, 51, 55,158, 69,
+105, 75, 99, 53, 90,  9,140,209,204,122, 91, 46,216, 25,130,243,180, 70,176,104,203, 72, 39,230,196, 16, 51,110, 40, 12,126, 37,
+  5,163,203,220,219,  4, 66,138, 88, 85, 51,134,180,198,167,196,213,170,100,  3, 68, 41,  8, 49,211,233,  4, 99, 66, 38,104,218,
+226,182, 55, 84,114,103,204, 25, 25, 50,198, 20, 68,160,239, 90, 98, 18, 60,183,236, 80,252, 60,175,126,251,187, 12,155, 21, 62,
+254, 53, 62, 58,180,182,164, 48,226,130, 39,196, 64,  8, 22, 55,  6,110,189,112,155,223,252,213, 95,226,127,221, 69,174,190,250,
+141, 18, 82,225, 63, 42, 29,246,251,244,106,108, 53, 85,169, 95,151,169,135,223,122,245, 96,184,201,212,209,103,158,138,167,249,
+115,119, 79, 57,233,230,252,249, 67, 69,189,228,123,132,253,207,107, 65,159, 32,205,219,139, 25,183,207,110,113,111,125,206, 11,
+183,110, 35,141, 33, 69,143,209,207,208,154,134,119,183,107, 86,247,207,201,110,132,243,119,159,110,142,193,163, 10,250,  7,125,
+172,109, 11, 55,229,131,158, 89, 99,203,236,252,198, 41, 60,247, 44,116,115,152, 29,131, 53,204,133,102,235, 29, 11,211, 50,132,
+128,160,152,141,188,189, 94,177,176,109,137,170,165, 40, 57,  0,146,146, 92,121,207, 51, 77, 71,163,138,103,135,167, 40,128,112,
+ 35,130,140,214,138,182,107,139,202, 32,101,180,149,132,209, 87,115, 67,135, 38,144,180, 71,187,128, 19,174,120,128,120,143, 68,
+ 16,125,198, 79,173,111,146,196, 93,177, 97,142, 42,161,133,100, 23, 71, 90, 93, 28, 33,165, 44, 73,153, 90, 40,148, 46,210, 10,
+ 33, 51,164,142, 16,  2, 47,158,157,114, 62,236,216,180,150,232, 28, 92, 14,123,203,241,237,199,136,166,158, 26,153,107,187,214,
+169,177, 58,144,109, 74,189,183,168,181,128, 59,184, 97,247,237, 62,  5,239,176,176,167, 74,134,155, 92, 31,175,155, 40, 11,210,
+ 85,219, 86,246,204,119,113,112, 78, 78,249, 28, 57,237, 77,196,198,239,237,216, 77, 63, 86, 33,105,219,186,233, 45, 56,199,209,
+ 98, 73,175, 53,224, 17,162,197, 84,200, 64, 73,141,243,158,214,180,196,232, 81,253,131,246, 16,  0,  0, 32,  0, 73, 68, 65, 84,
+100,108, 83,158,174,115, 35, 70, 74, 84,202,152,  4, 94, 25,216,172,  8, 33, 96, 98, 68,133,132, 19, 13, 93, 83, 35, 82,173,102,
+222, 22,189,228,242,228,  4, 21, 50, 62, 38,236,124, 86,130,128, 98, 66,180, 22, 81,137,108, 66,107, 76,166, 44, 38,138,214, 47,
+186, 18, 50, 32,200,120,231, 16, 82,144,210, 30, 82,119, 57, 20,163,154, 12,173, 86,140, 94,237, 45, 14,145, 31,173, 83,159, 10,
+187, 72,251, 91,227,245,162,227,193,159,123,249,228, 93,206,132,239, 75,185,191,113, 30,190,173, 74,150,247, 43,172, 96, 88,192,
+162,169,193,  3,166,116,230,187,117,245,231, 30,203,223,247,169,166,136,141, 15,  6,133, 60,198,215,217,255,248,151,248,205,175,
+252, 36,175,124,246, 69,180, 16, 12,206,227,198,192,250,114,139,119, 14,100, 41,232,243,126,129, 93,156,210,116, 45,120,137, 66,
+211, 46, 12, 90, 72, 78,102, 22, 99, 20, 18, 65, 99, 52, 33, 43,206,179,192, 71,207,189,181,195, 84,147,157, 88, 67, 37,118,222,
+ 19, 66, 68, 68, 65,200,137, 97, 72, 12,163,103,116,145,229, 92, 23,232,190,149,184,109, 96,187, 13,132,172,104,231,134, 35,147,
+203,218, 89, 11,180,146,244,141, 37,228, 98, 78,180,146, 30,163, 36,125,163, 88,180,  2,107, 53,214,104, 62,247,210, 13,142,102,
+ 13,247,239, 95,113,118,235, 22,171,139, 43, 94,191,255, 29, 70, 31, 72, 49, 34,149,192,168,128,237,122, 46,238,157,243,236, 75,
+119,249,167,255,217, 47,241, 63,255,241,215, 14,230, 50, 63, 64,175, 36, 31, 66,146,216, 75, 27,167,174, 93, 60,253,127,246,213,
+223,251,  3, 94, 61, 44,126,  7,200, 83, 70,151,194,174,245,117, 65, 23, 49,145,149,228, 91,111,190,195,173,217,155,220, 62,189,
+137, 80,146, 24, 61, 57,192, 24,  2, 55,150, 71, 44,187,150,203, 55,222, 46, 33, 34,181,160,231,167,253,197,219, 26,142,180, 27,
+247,197,226, 48, 20,228,250,251,234, 42,130,215, 66,120, 40,149,208,216,  2,253,206, 58, 56, 89,194,209,188,116,119,214, 22, 18,
+150,131,165, 21, 32, 21, 66, 55,100,183,229,184,155,227,134, 45,207,119, 45,247,124,224,221,114,147, 39,137,140, 53,134,133,181,
+116, 82,179, 11,142, 99,219, 97,155,  6, 17, 18,222,121,164, 84, 28,213,156,116,165, 37, 90,203, 98,171,225,  3, 86, 11,162,247,
+228, 16,144, 58, 34,  6, 79, 34,163,165,160,217, 57,  6,145, 49, 25, 84,140,  5, 89, 22,130, 81,149,102,167,164,149, 54, 64, 98,
+209,204,  8, 57,162, 77,195,224,  6, 90,101, 65, 39,134, 16, 88,116,115,188,223,146, 77, 67, 59,151, 92,185, 45,189,130, 43,173,
+ 88, 55,154, 75, 20,116,177,248,196,115,  5,222,194,246, 67,146, 28,141, 45,163,207, 41, 43, 33, 38, 16,110, 47,  3,155, 80,211,
+ 36, 30,156,233,216,218, 88,185,170, 77, 23,178,188, 23,227,186, 28,163,186,173,118,178,117,180,106,218,189, 95,188, 60,104,208,
+166,189,108, 38,127, 18,185,255,185,146,123,118,253,211, 64,182, 62,228,245,241,103,234,186, 90, 94,246, 51,232, 91,154,147, 37,
+189,210, 88,109,144, 66, 32, 69, 38,229, 76, 66, 84,189,122, 33,  7,168, 12,157, 76,184, 16,233,148,196, 20, 80,  8, 13, 40,165,
+ 80,126, 68,198,132,218,185, 50,178, 72, 96,148, 38, 26,141,233,122,218,182, 67,219,134,182,159, 97,140, 65, 90,131,182,134, 76,
+174,188,  7, 77, 32,147, 83, 38, 73, 93, 33, 39, 73,200,165, 99, 79, 66,236, 51,147,153,204,190, 34, 57, 70,198,228,240, 62, 16,
+115,172,235, 33,177,141, 99,241, 94,113,174,144,155,166,212,182,195, 44,229, 15,155, 77, 78, 86,131,217, 23,164, 97,210,  1,123,
+246,176, 80,240,143,121, 29,211,  7, 26, 99,  5, 97, 44, 24,191, 63, 96, 67, 47,102, 69,191,106,155,114,156,185, 80, 14, 55, 31,
+202,247, 18,135,242,119,198,106,103, 56, 86, 61,101, 13,122, 33,133,247, 18,241, 62,162, 70,249,215,127,251,183,248, 79,127,237,
+239,114,231,185,155,184, 49,224,124, 32,250, 92,127,140,215,211,  7,133,225,120,126,196,114, 54,227,246,209,146,153,109,144,173,
+194, 72,197,162, 49,204, 90, 85,227,196, 19,228,204,106,235, 24,221,  8, 34,147,125, 34, 10,193,213,182,132,183,196,152, 89,175,
+  2,171,171, 29,231,235, 45,187,221,136, 15, 30, 31, 18, 82, 72,238,189,189,226,222,102,  7, 17,108,149,151,197,224,  8, 89,113,
+113,233, 25,131, 99,244, 17, 55, 70, 92,242, 16, 51, 65,  8,  4,146,205,224,184,220, 56, 70,159,153, 55,146,209,121,180,146, 44,
+250,134,219, 55, 23, 28,157,206,249,196, 11,183, 16,237,  2,171, 90,124,101,192,175,118, 91, 72,145, 70, 23,111,128,103,159,191,
+193, 23,126,234,111,243,175,127,231,255,225,  7, 38,236,227,129,179, 73, 87,230,239,100,184, 84, 11,162, 76,188, 71,103,246, 81,
+ 15, 38,253,  1,247,151,135,127,127, 42,232,170,234,135,167,249,103,101, 49,139,201,135,161, 22, 77,177,139, 92,244,130,190,230,
+141,183,166, 97,181,185, 66, 10, 88,239,182,252,233, 95,125, 23,222,126,245, 26,181,122,234,  5, 93,214,180,182,182,219, 95,124,
+212,193, 65,158,115,189, 40, 85,207,110,161, 32, 12,251,125,212, 90, 80, 29, 28, 31,149,196,191,163,121,209,149,119,109, 41, 38,
+ 85,  1,137,110,176,148, 68,202,165, 44,137,131, 34,122,174,124,160,201,145,123,110,199,102,220,128,223, 33,117,135,147,154, 59,
+ 93,135,149,130,101, 99, 48,213, 67, 66,213,128, 43,163,138,217,212,188,183,215,130, 20, 50, 37, 60, 43, 71,114, 12,  5,132,168,
+118,221,132,136, 30, 35, 65, 75,172,143,200,154,149, 33, 43,129, 75,138,124,205,229, 82, 70, 99,164, 68, 91, 67,219, 24, 18,169,
+152,125,  9, 16, 66, 48,239, 91,156, 27,232,172, 45,102, 66,100,230,182, 37,166, 80, 56,181, 89,149, 99,218, 10, 98, 18,251,140,
+243,198, 22,136,254,144,179,112,152, 45, 17,124,173, 77,121,111,216,162,197, 94, 58,145, 39,130,167,170,103,220,193,251, 56,212,
+226, 63,233,190, 85,174,246,220,186,202,200, 84, 33,185, 54,181, 97,138,197,116,168,196, 40,155,242,107,217, 84, 50,221, 52,163,
+143,229,189,119, 99,181,205, 86,149, 53,175, 31,207, 79,226,123, 90,212,219,190,232,109,251,  6,164, 70,181, 13,141,177,204,141,
+ 65,203,150,156, 34,141,105,176, 82, 19,146, 71,150,119,147,148,  2,141,132,133,166,116, 49, 66, 98,115, 70, 33,203, 51,244,  9,
+147, 37, 42,122,162, 75, 88,109,112,198, 34,155, 14,211,207,104,141, 69, 89, 75, 59,235,137, 62,162,171,183,176,  8,177, 20,108,
+169,145,100, 66, 77,132,147,  2, 54,209,163,108, 49, 70,201, 57, 18, 67, 66,  8, 65,140,169, 64, 72, 57,227, 98, 32, 36, 79, 68,
+144,147,199,167,226, 74, 23, 83, 34,196,136,159,152,141, 83,210,148,143,133,240,246,145,141,187,210,158, 85,169, 38, 39,162,218,
+169,167,248,152, 33,  5, 15,221,244, 98,253,122,140,173, 70,  7,213, 47,190, 95,212,244,188, 74,216,112,187,253, 92, 52,135,122,
+  1,136, 48, 78, 58,244,176, 95,116,250, 33, 22,253, 20,245,247, 33, 68,160,230, 63,248, 18,255,245, 63,254,135,124,241,203,159,
+195, 24,205,110, 44, 33,  7, 41,102,178,200,164,148,137, 33,145,131,164,177, 29, 55, 79,110,240,220,233, 41,203,197,140,227, 69,
+139, 80,146,155,139,142,219,199, 29,157, 45,220,  8, 33, 96, 51, 68, 86,131, 99,227, 28,187,157,199,187,192,198,123,214,235, 29,
+219,245,200,229,197,150,132, 33,197,196,118, 51,224,119,142,113, 23,217,173, 71,132, 78,197,215,223, 39,148, 22,  8, 13,227,110,
+ 96,116,158,205,122,139, 31, 28, 62, 10,182,155,145, 97, 28,  9, 33, 51, 14,129,245,214,177, 25, 60, 46, 41,114, 78,  4,239, 25,
+ 35,228,156,104,173, 40,121, 29, 25,122,173, 88,180,154,101,111, 89,246, 51,238, 62,123, 11, 59, 59,226,232,228,140,123,111,191,
+ 77, 12,145,166,177, 37, 60,207, 71, 94,120,225, 25, 62,255,147, 63,198,239,255,206,239,253,128,117,234, 53,255,122,146, 25,197,
+176, 15,220, 73, 60,126,184,134,212,123,183, 51, 93,198,104,197,146, 51,188, 23, 62,133,189, 52, 72,215,131, 86,213,208, 27, 33,
+ 30, 44,236,126,196,125,231, 77, 94,253,206, 95,241,141,237, 21, 89, 57,122,107,113,206,241,199,175,127,135,237, 55,191,  5,126,
+252,224, 98,254,137,151,249,244, 79,124,145,123,127,245,215,143,184,121,124,200,243,154, 46, 67,227,184,151, 80, 93,187,140,229,
+  3,195,160, 90,  8,164, 44,207,162,105,192,206, 74,103,222,218, 18,176,210, 54, 85, 45,162,202,254, 77, 19, 81, 42, 17,108,203,
+ 11, 77,135,200,145,224,  7,124,138,164, 48,144,220,142,239,110, 86,228,113,139, 80,154,185,  2, 77, 65,152,132,182,180, 53, 23,
+192, 72, 69,140,137,166, 51, 52,  2,102,115, 83,199,203,213,252,171,250, 83,229,148,209, 58, 33, 82,113,238, 36,102, 68, 12,228,
+ 24, 80, 49, 34,114,177,162,176,  2,180, 80, 64, 68,  8,137,110, 44, 70, 91, 76,107,208,141, 65, 27, 77, 22,208, 54, 77, 33, 76,
+ 75,129, 49,138, 24, 35, 93, 91, 96,247,242, 22, 75,188, 31, 49, 82,145,115,105,150, 78,187,142,251,195,128,106, 44, 81,203, 26,
+ 21, 61,141, 53,171, 23,186,182,149,116, 60, 49,217, 15, 50,237,179,219,155,183,196, 74, 98,156,194, 46,114,189,156, 38,202,179,
+ 14,126,239,177, 46,155, 82,208,175,199, 52,182,172,215,144, 10,154,137, 40,223,188, 16,123,189, 58,147,180,211,151,117,234,170,
+211,155,169,121,244,166, 58,212, 81,211, 47,197,247, 62, 11,224,227, 21,245,190,173, 48,146, 41, 55,167, 89,143,178,134,179,174,
+ 47,129, 43, 74,208,155,142,148, 19,137, 92,154, 84, 33,144,100,218, 28,208, 57,128,200,180, 82, 33, 82, 36, 42, 69,147, 74, 97,
+143,128, 30, 74, 81,237, 81,120,173, 80,243, 57,182,105,208,198, 18,148, 98,214,119,228, 24,209,173, 37,197, 90,144,116,177,129,
+117,209,147,140, 33,121,143, 19,137, 49,  6,100,134, 40, 37,161,250,121,103, 37,137, 62, 84, 87,191,120, 93,184,  5,144,235,131,
+207, 41,226, 98, 66,145,145, 66,176,217,212, 52,171,237, 88,180,222, 34,215, 91,216,227,220,236, 15,108,103,227, 19,144,228, 14,
+217,237,135, 63,159,244,138,105,138, 91,181,101,145, 42, 85, 10,248,110, 40,139, 55, 84,134,168,171,172,244, 84, 11,119, 99,247,
+ 16,209,116,112, 79,183,225, 84,103, 85,227,  7,155, 69,156,254,228, 79,240, 63,252,246,175,242,210, 75,119, 42,241,180,204,187,
+189,247,140, 33,226,118,129, 97,240,108, 46,183, 24,221,115,243,198, 45,158, 61, 61,225,232,168,165, 51,166,146, 67, 51,179, 70,
+ 33,165,192,197,200, 16, 51, 99,130,245,198,115,126, 57,176,221,121,134,209,179, 90, 13, 92, 93,110,217,172,  6,182,187,  1, 63,
+122, 98, 78,108,199, 80,188,222, 47,  7,156, 27,  8,209, 17,125,201,  5,200, 62,161,148, 34, 69,201,102,181, 69, 74, 65, 74, 25,
+183, 29, 24, 54, 35,155,203, 17,183,113,184,113, 96,231, 29, 41,  4,182,155,145,113, 44, 23,  9,171,  4,189,145,236,198,136,208,
+146,152,114,229, 33, 85,243, 36, 37,105,172, 98,222, 27, 94,188,121, 68, 63,155, 33,237,156, 20,  5, 73,  4,  4,138,144, 18,219,
+209,113,231,217, 51, 62,247, 19, 63,206, 31,252,159,255,247, 15, 86, 97,143,213,  1,239,253,  2,119, 30,231,101,236, 62,170, 52,
+ 85,130,230, 24,203, 33, 60,107,246,100, 35,173,247,178, 34,216, 39,103, 77, 45,182,172,126,245,213,212, 67, 92, 27,238,212,175,
+115,181,227, 45,231,249,230,219,111,241,205,183,222,100,251,221, 55,201,227,250,209,223,195,122,197,223,254, 59,255, 17,183, 62,
+253,  9,190,251,141,111, 60, 30,107, 93, 86,  5,201,244,181,235,135,252,248,167,203,178,214,165,136,207, 23,176, 60, 65, 30, 31,
+145,151,179,131, 44,123, 85,138,130, 82,251,142, 51,133,210, 68,  9, 65,204,137, 24, 60, 97, 92,211,165, 76,218, 94,208,  4,199,
+184,189,226,221,237, 10,198,  1,225,  7,192,243, 66, 51, 99,214, 47, 57,178, 13, 90, 74, 66,202,215, 33, 44,157, 22,116,115,195,
+220, 42,218, 70,162,165,160,111, 37,186,122,150, 79,118,  4,201, 23,110, 74,218, 13,197,139,127,  8,197,162, 59, 23,200, 93,  9,
+137,105, 12,198,180,216,182,197, 54, 22,213, 53, 40, 99,139, 47,137,181, 40,169,200,185,204,238,181, 42,132,232,198, 54,196,224,
+209, 82,212, 16,180,132,175,239, 81, 18,197,253,115, 32,176,108, 91,132, 20,  8,163,112, 86, 22,228,176,235, 10,218, 41,227,158,
+137, 46,170, 13,172, 72,117, 92,193, 94, 97, 20, 40,  5, 53,199,189, 93,175,212,165,232, 83, 73,193,147,235,219, 48, 22, 79, 14,
+ 95, 47,  9,186,202,214, 68,222,  7,124,  9, 91, 85, 32, 84, 51, 25, 81,244,233,169,218,  2, 79,151, 58,173,170, 11,103,189,236,
+153, 74, 88,252, 62,116,233, 31,175,168,107, 93, 61,190, 21,204,106,234,143,214,204,103, 51, 52,146,185,181, 37,214, 84,148,141,
+ 55,201, 34,148,128,144,  3, 46,  7, 22,178, 60,160, 46,139,210, 77,231,140,164,108, 36,149,138,180,204, 38, 81,162,110,109,135,
+237, 59,178,178,100, 37,209,198, 48,166, 64, 86,229, 96,148, 36,164, 54,136, 24,217,230,136, 82, 18,231,194,117,198,201,232, 61,
+ 89, 22,214,189,203,  9,157, 82,129,226, 67, 34,197,  2, 31,249, 80,224, 31,159, 28, 32,  8, 49, 17,115,192, 42, 69, 22,153,115,
+ 63, 98, 90,131, 27,171, 94,209,213,212, 41,255,  4,126,209, 79, 18, 35,120,248, 94, 72,249,224,165,224,176,184, 79,  9, 91, 50,
+ 23,107, 67, 31, 96,187,131,113,183, 47,212,147, 43,216,195, 29,255,  3,159, 99,234,212, 39, 56,182,182,108,215, 16,252,190,187,
+249,217, 95,255, 69,126,235, 31,253,125,142,230, 61, 87,155, 29,219,245,192,110,112,108,119,158, 24, 51,195,102,100,183, 25,136,
+ 46,161,153,243,204,157,103,248,220, 39,110,114,231,164,165,181,  6,231, 19,177,118, 96, 62,129, 71,178,118,137, 55,223, 90,113,
+117,185,101, 61,  4,134,144,216, 14,158,205,122,199,230,202,177, 91, 15,248,224, 24,183,  3,193,  7,198,113, 32,120, 71,116,129,
+ 24,  3, 57,149,241, 71,172, 58,252,148, 34,195,110,199,118,189, 99,216,141,172,207, 47, 16, 66,225,156, 35,249,177, 34, 53,144,
+115,196,143, 14,165, 53,195,232, 10, 23, 67, 70,164, 80,180,179, 98,173,235,198, 72,211,106,  6, 95, 80, 39,170, 92,174,240,199,
+  4,141, 49, 40,173,137,178,229,153,219, 55,217,110,  3,110,216,161,219,134, 97,189, 97, 12,137,231, 94,184,201,115,159,248, 36,
+127,246,251,127,244, 24,216,245,191,  7,175,105, 86,220,170, 50,119,182,109,145,136,118,179,122, 24, 86,242,230,  4, 89,155,169,
+176,137,125, 65,159, 58,225, 44,246,168,209,251, 25,238, 72,138,229,235,197,101,249,111, 28, 74, 33,248,160,103,167, 75, 44,232,
+ 55,183,107, 94,190,243, 44,127,253,245,175,239, 33,245, 71,237,205,198,150,175,185, 53,123,100, 97,114, 15,211, 15,141, 39, 38,
+253,179, 86,165, 11,188,121,198,252,120,206,252,120,206,216, 88,178,177,213,209, 44,214, 17,218, 65, 54,192,100, 87,154, 98, 41,
+ 60,227,134,237,184, 97,117,117,159,221,246,156,215,238, 95,225, 55, 87,188,182,170,  5,189, 85, 28,205, 58,110,182, 61,199,205,
+156,214,182, 40, 37, 64, 89,186,156,176, 82,211,181,146,229,204,208,181,197,  0,108,222, 42,186, 86, 33, 98,194, 54,170, 18,147,
+ 51,209,  7, 68, 78,196,245, 72,206,137,184,222,146, 71, 71,118, 30, 65, 46,231,182,110,139,153,152,209,116,205,140, 44, 21,221,
+172, 67,100,133,181,  6, 41,101, 97,190, 91, 83,198,108, 85, 94,155, 98,192, 24, 75,162,132,112, 73, 81,124, 78, 93,  8,180,198,
+ 18,115, 44,  6, 98, 82, 18, 98, 36,  9, 73, 18,130,104,234, 57,118,212,150, 11,144,243,165,176,235, 41,173,208, 20,107,110,171,
+ 32,200,178,230,144, 85, 55,174,246, 50, 76,125,224,149,129,170,217, 21, 19,201,174, 22,236,209,213,  5, 85, 47,101, 82,148,130,
+158,134, 18,  7,157, 43,220,126, 77,134, 22,251, 28,  7,228,  1,121,234,192,202,217,249,  3, 31,136, 39,100,193, 77,126,  8, 19,
+195, 62, 61,110, 81,159,236, 64,219,190, 44,236,190, 41, 48,154, 82,220,232,122, 50, 25,171,219, 58,151,206, 40, 33,201, 57, 33,
+ 40,208,187,200, 25,159,224,140,200, 32, 51, 45, 18, 35,  4, 89, 42, 68,150,200,148, 17,  8, 68,206, 36,211,208,204,122,178,181,
+ 37,232, 72, 27,178,132, 70, 75, 92,138,164,156, 80,218, 20,233, 92,142, 32, 20,131,247,132, 84, 50,197,163, 47,182,177, 33, 38,
+140, 16,101,159,  8,144, 46, 34,140,  4,153,241, 46,144,114, 34, 11, 73,240,158, 24,  2, 62,  7,132,144,164, 84, 82,186,102,178,
+ 33,228,196, 54, 87,150,231, 24,107, 30,111,252,155, 61,103, 31,238,162,141,222, 23,228,233,207, 38,184,127,136,101,118, 30,195,
+ 30,154, 63,204,182,126,212,231,152, 22, 96, 83,229, 46,170,250, 38, 95, 31,124,165,216,255,226,111,254, 26,191,240,107, 63, 71,
+223, 88,222, 61, 95,177, 94,237, 24,135,192,118, 23,240, 99, 49,  0, 73, 49, 99,245, 12, 35, 91,142,143, 79,121,246,230,  9, 77,
+ 53,126,241, 46, 17, 66, 98, 12,153,213, 48, 18, 92, 34,184,200,253,203,129,119,207,215,220, 59, 95,179,190,220, 49, 12, 35,171,
+243, 29,187,237,192,110,189,102,231,  6, 98,240,184,193,177,219,108,  9,163, 71, 32, 24,135, 13,227,110, 64, 25,197,176,217,162,
+141, 41, 69,158, 76,  8,158, 97, 59,224,221, 64, 76,  9,231,119, 56, 55, 34, 20,228,236,  9, 99, 64,217,150, 97,187, 37,231, 76,
+ 38,147, 92,194,246,134,172, 45, 41, 22,109,104,132,162,121,175,227, 37,137, 68,107, 81,221,118, 51,179, 89,195,113,223,176,114,
+208, 88,195,141,211, 37,235,130,221,227,189,195, 15, 35,194, 24, 94,124,249, 46,119,238, 62,199, 87,255,240, 79, 63,160,144,255,
+123, 84,208, 31,190,127, 88, 83, 70,117,218, 20,173,175,148,229,240,173,  9,137,165,123,105, 74,  1,166, 66,213,147,167,245,225,
+ 75,240,225, 29,142,148, 31,192, 17, 72, 31,204, 90, 23,192,253,243, 82,208, 39,  8,246, 81,133, 93,235,253,197,  3, 30,204,224,
+158,138,251, 84,224, 39,178,148, 22, 37, 11,226,248,  8,121, 60,227,120,214,211,118, 45, 94, 75, 22,198, 20,103, 53, 33,247,172,
+107,113,192, 68,140,161, 60,155,213, 21, 92, 94,192, 59,239,146,175,118,140,111,190, 11,171, 53,187,243,251,229, 18,208,104,132,
+ 41, 49,167, 47, 46,207,138, 23,187,208, 72,105,145, 57,209, 91, 75,171,  4,139,185,165, 49,154,227,153,102,209,149, 46,189, 53,
+146, 89,171, 17, 33,151,112,172, 92,208, 39,191, 29, 32, 38,194,197, 21, 41,248,242,252, 67,177,127, 45, 53,180, 65,182,  6,221,
+244,101,162,208, 55,228,148,153, 29,117,228, 92,164,161, 77, 99,137, 41, 34,170,155,232,148,182, 23, 67,198, 71,143,182, 22,239,
+ 35, 81, 36,180, 82,248,148,208, 82,145, 36,140, 62,208, 24,197,152, 34, 43,239, 49, 82, 18,173,134, 93, 93,  7, 93, 91,189, 54,
+100,121,206, 34,237,253, 54, 52,101,124, 17,198,130,130,140,245,207,146, 42, 90,114,101,107,224, 77, 61, 39,167,247, 74,230,234,
+219, 94,211,218, 38,227, 26, 89,223,139, 41,187, 60,213,116, 52,217, 20,216,125, 50,234,210, 83,  8, 75, 40,159,127,116,123,111,
+248,244,148, 92,243,100,253,223,245,122,127,239, 90,253,120,240,187,172, 29,122,215, 94,207,134,111, 44,230,164, 36,153,155,134,
+144, 60,173, 52, 52,218,144, 43, 33, 45, 19,203, 27,149,  2, 22, 24,114,230,148, 18,119,106,116,131, 77, 32,132, 36, 10, 48, 33,
+ 35,173,161,233, 58,178,212,133,140, 97, 52, 57,197,210, 36, 42, 81, 50,235, 41, 40, 76, 36,145,133, 64,145, 25, 70,135,212,130,
+113, 61, 16,157,135,152,104,164, 38,133,128,212, 18,124, 68, 24, 69,172, 51,110, 41, 51, 62,100,198,232,200, 41,225, 83, 68, 85,
+253,253, 54,184, 98, 73, 26, 61,107,231, 56,110, 91, 54, 87,219,178,241,220,184,223,128,127,163,  7,168,126,176,115, 57,132,227,
+167, 66, 29, 83,  9, 37,152,110,138,135,  7,214, 33,209,238, 81,159, 35,213,219,238, 68, 70, 65,215,195,178,144,127,126,241, 31,
+254, 26, 63,251,247,126, 26,107, 13,171,237,192,213,197,142,171,119, 46,137, 41,163, 26, 77, 12, 17,239, 60,182,233,152, 47,122,
+180,208,104, 97,144,141,194,214,113,105, 78,  5, 54,223,121,207,224,  3,195, 16,185, 28,  6,238, 95,172,216,238, 70,220,206,177,
+217, 57, 86, 23, 23,236, 86, 27,114,242,  4,225,233,218,  6,211, 25,148, 82, 52,125,135,247,174, 54, 71,153,209,  5, 66,130, 76,
+ 70, 41,141,247, 99,185,249,167,200,224,118, 72, 36, 99,204,196, 16,112, 33, 32, 19,120, 95, 46,122,214, 26,164, 82, 12,219, 29,
+237,220,226, 93, 68,106,139, 54, 18,211, 88,178, 47,198, 69,227,152,104,172, 38,102,232, 26, 67,170, 70, 70, 25,129, 86,154,163,
+206, 50,107, 20,111, 94, 12,197,173,110,222,178, 25,  2,227,118,131, 27,  6,114,200, 36, 41,120,233,229,187,156,156,221,226,223,
+254,233,255,123,176,115, 63,134,220,205,216, 58,135, 85,223,191,156,234,  7, 10, 93,189,244, 77, 14, 90,211,248, 71, 83,138,248,
+196,241,152,  8, 75, 91, 87,153,198,149, 56,102,108,233,170,115,117, 33, 52,242,193,194,254, 97,  7,226,163,164,101,239, 87,160,
+223,239,  2,192,161,173,241,251,  4, 55, 77, 36,190,195, 56,225,105, 68,160,229, 62, 76, 73, 29,252,158, 48,197,143,125, 62,135,
+229,156,103,231, 61, 95, 60,157,113,199, 26,238, 52,150, 99,149,105, 51,220,167,186,130,229, 10,243,250, 88,216,244,155, 29, 92,
+ 92,193,197, 10,222, 57,135,221, 21,220,187, 40,138, 21, 95,231,198,203, 57,116,182, 56, 32,246, 51, 26,213,176,108,150, 88,163,
+209, 90,161,132,102,222, 54,156,206, 52,243, 86,115,107, 97, 56,157, 25, 58,163, 88,106, 65,171,196,117,152,156,212, 16, 92,100,
+112, 35,164,204,112, 85, 52,253,121,231,136,187,  1,157, 32,197,132,210, 22,221,119, 24,221, 96,186,242,115,178,160, 93,180,  4,
+151,200,  6,172, 46,238,137, 82, 10,132,144,228, 92,  8,212,185, 74,100, 75,100,121,172,  1,118,  5,193,141, 41,225, 40,242, 59,
+ 41,139,171,103,202,153, 31, 62, 94,242,134, 27,137, 33,150,139,162, 82,123,155, 87, 33,106, 86,123,141, 36,213,166, 32, 41,209,
+ 23,162, 27, 53, 73, 45,248, 82,108,141, 41,235,210,135,242,113,162, 42, 12,130, 43,191,214,162,204,225,117,165,197,171,106, 94,
+211,217,162, 22,162, 94, 24,162,171, 94, 38,234,192,190,117,202,218,144,149, 60, 39, 31,140,155,126, 82,208, 77,195,123,  4,107,
+ 85, 25,114,184,198, 63,122, 81,175,217,214,232,174,124,179,141,133,182, 45,100,  8, 93,216,202, 66, 10,172,178, 69, 38,  6,248,
+ 28, 81,  8,114,206,136, 92, 10,231, 82,137, 98,  9, 91,195,221,149,177,184,148,104,178, 36, 40, 73, 86,  6,169, 53, 65, 22,141,
+114,204,  5,186,153, 76, 15,144,146, 44,192,199, 88,158,169,139,236,182, 91,116,134, 97,181,194,185,  1,157, 18,109,130, 93,112,
+ 36, 81,100,115,187,156, 80,185,104, 40, 99, 42,  8, 66,164, 72, 44, 38, 19,126, 23,  2, 62,122,172,182,184, 24,112, 49, 96,132,
+228,254,110, 44,208,112,240, 48,248,239,157, 95,244,199, 38, 53, 29,192,228,135, 80,250,161, 51,216,225,143,215,142, 75,122,191,
+ 24, 14,255,254,251,125, 14, 45, 31,180,185,109,116,133, 53,  3,255,232,191,251,199,124,249,239,254, 56, 66, 10, 54,187, 66, 86,
+ 27,182,  3,126, 24,201, 72,114, 44,207,217,152,150,174,233, 88,118, 45,243,206, 98,149,162, 81,138,163,185, 65, 74,216,140,137,
+139,157, 99,181, 25, 89,173, 70, 46, 87, 27, 46,175,182,172, 47, 55,108,174, 54,184,193,179,189,218,144,114, 68, 91, 73,215,105,
+206, 78, 79,233,230, 45,177,118,118, 66, 64, 59,111, 57, 57, 91,114,116,180,164,157,245,204,231,109,153, 26, 12,  1,173, 53, 82,
+105, 98,  8, 12,110,192,104, 67, 72,133,149, 47,201,104, 83,102,143, 46, 56,146,143,  8,138, 89, 70, 99, 53, 57,129,181, 13,218,
+ 74, 36, 26,219,107,132, 79, 56, 37,233,181, 70, 72, 65,240, 48,239, 20, 86,203,234,107, 81,160,206,222, 42,146,144,172,118,129,
+227, 70,113,231,236,152,171,144,185,255,238, 91,144, 50,209, 39,146, 16,188,240,242, 93,222,220, 57,222,249,214,183,247,108,233,
+143,  4,193,235,125,231,  8,223,223,162,174,171,  4, 72,176,119,239,210, 53,230,178,111,202, 33, 89, 52,172,  7,116, 99, 81,214,
+ 80, 78,229,224, 53, 77, 37,140, 86,222,134,154,172, 56,217, 67,159,143,114,226, 58, 52, 96,202,249,209, 28,148,235, 51, 81, 62,
+136,  2,168,131, 75,132,170,249,217, 15,195,154,178,146,159,174, 61, 33,234, 97,207,164,104,169,123, 37, 86, 71, 52, 59, 43,185,
+ 24,198,150, 70,168,111,249,212,188, 71,137,204,204, 88, 82,246, 52, 82, 35, 85,226,237,161,100, 93, 20, 31, 12, 15,155, 17,214,
+ 99,201,143,184,218, 20,121,213,184,171, 69, 63,236,207,227,163, 57, 52,  6,161, 53, 89,107,110,206,102,156,205,110, 16,210,200,
+113,115,132,209, 22,169,  5, 51, 93,236,143,159, 59,110, 57,158, 91,140,148, 28,155, 34,101,235,141, 66,  2,214,  8,198,173, 39,
+164, 76, 10, 17,191,243,132,237,142, 52, 56,198, 97, 68,134, 88,209, 77,176,179, 35,162,177, 36,219, 32,109,131,182,229,204,110,
+109,233,198, 91,107,241,201,151, 44,246,144, 48, 74, 21, 46, 19,144, 66, 32,167, 72,  8,190,102, 71, 21, 62, 66,  8,  1, 41, 36,
+ 46, 38,100,149, 52,134,156, 80,202,240,218,110, 75,206,133,100, 25, 99,220, 39, 82,198,253, 24,  5, 68, 33, 26,250, 58,  7, 23,
+170, 92, 18,109, 83, 81,230,118,127,182,249,176, 39,186,201,138, 22, 73, 91,160,121, 79, 33,197, 37, 15,186, 50,218, 85,157,161,
+ 79,219, 48,109,235,252,190, 94, 68,115,101,243, 78,113,197, 70,236, 35, 90, 39, 39,184, 84, 77,104,158, 40,116,105,154,229,203,
+247, 94, 80, 31,171,168,203, 26, 61,215,232,253, 28,204, 40,140, 49, 44,218,  2,187, 47, 77,143, 39,160,165,194,  5, 71,163, 44,
+ 46,249, 50, 43,215, 18,153, 18, 67, 10, 52, 74, 32, 16,180,218, 84, 41, 69,177, 50,148,202, 64,215,147,148,169,  4, 69, 65,174,
+ 10,176,156, 19, 89,  9,156,243, 36,  4,113, 44,249,217, 97,220,161,115, 34,143,174,  4,105, 92,173,200,162,232,209,149, 44, 76,
+247, 40,192,202,140,143,153,  4,168, 92,179,215,115, 66, 10, 69,  8, 14, 41, 36, 57, 11, 16,146, 49, 12, 40, 33, 42, 11, 62,178,
+114,190,220, 18,165,132,203, 45, 79, 53,128,224, 73,110,111,239, 55,163, 63,156,135, 79, 29,199,244,107,127,208,173, 79,139,225,
+ 48,  4,230,  3, 47, 10,245,192,189, 38,210, 37,126,227,191,249,175,248,209,159,248, 17, 66,202,108, 54, 35,187,173, 99,125,185,
+197, 13,  1, 33, 53,255,226,143,255,128,119,223, 57,231,135, 63,253,105, 22,221,156,190,109, 49, 70, 49,111,123,158,191,187,228,
+185,211, 25,173,149,196, 12, 87, 99,145,164, 93, 94, 14,236,134,145,113, 40,196,183, 68, 34,134,140,180,144,146,231,228,228,152,
+ 91,183, 79, 56,154,247,244,199, 29,179,101, 83, 58,145,197,140,174,181,156, 30,207,120,249,165, 27,116,179,134,101,107, 56, 58,
+233, 11, 60,158, 18,253,172,229,232,104,198,209,217, 12, 55,122,198,113,192, 42, 77, 74,169, 92,242, 83,113,170, 75, 33, 21, 84,
+ 47,103,140,153,149,176, 10,153, 11,226, 36, 20,136,140,115,158,119,222,190,224,237, 55,222,229,106, 53,224, 83, 38,136,204,209,
+172,225,116, 97,136, 49,179,113,153,182,209, 24, 45,  9,185,232,106, 82, 12,156, 44, 13, 74,181,172,119,153,205,230, 28,211, 52,
+108,215, 91,186,174,229,243,159,255, 33,254,229, 63,255,221,131, 46,189, 50,119, 77,133,173,229, 65,183,152, 14,224,121,165,190,
+255, 69,125,234, 92,197,193,148, 32, 79,197, 91,149,116,191,147,101, 41,242, 70,213,228,190,218,137,231,202,172,159, 58, 41, 57,
+ 29,176,149,215,225,253, 30,178,140,241,195,179,230,167,162,124,  8,161,127, 80, 81, 79, 15,117,234, 83,246,245,117,114, 76,189,
+ 68, 60, 28,190, 49,217, 49, 43,246,182,207,141, 41,228, 45,219,195,141, 19, 56, 62, 46, 68, 64, 91,207, 73,219, 66, 95,212, 39,
+243,198,114,167,147, 44,148,193,103, 95,145,118,141,206,153, 83,  5,175, 93,108, 97,189, 43,251,107, 51,192,246,162, 64,239,163,
+175, 73,145, 60,232,224,135, 42,235, 98,209, 35, 90, 67,163, 45,103,221, 17,173, 50,156,204, 78, 24,220, 64,163, 20,198, 52, 44,
+187,150,103,142, 59,218,185,161,183,146,165, 41, 16,247, 92, 74,148, 20, 52,178,176,222,165, 20,236, 86, 14, 23, 60,195,213,134,
+205,214, 49,120,199,214,121,  6,169, 25,141,197,156,156,225,108,139,154,117,228,166, 37,117, 22,165, 53,170, 83,  4,169, 42, 87,
+  2, 68, 46, 36, 89,109,  4,110, 12,229,222,153, 50, 41, 70,114,202, 40,169, 74,209,206, 16,146, 32,  2,161,252, 69, 66,206,132,
+ 24,105, 85,203, 16, 35, 89,150,224, 18,  7,133,111, 21, 42,249, 55, 86,168, 61, 76,  5,180,114, 52, 76,253, 51,165,247, 73,103,
+162,194,235,218, 20,251,221,209,237, 17,150,237,118,191,246, 38,235, 87,106, 55, 62, 93,152, 51,133,148, 39, 42,193,120, 74, 43,
+204,106,210,204,213,200,214,184, 39,203, 77,232,231, 97,163,244,164,208,187,156, 28, 40,167, 53, 28,222,  3,193,127,188,153,186,
+168, 80,159, 85,213,160, 62, 35, 91,203,210, 22,155,193,148, 18,141,148,236,188,163,179, 45, 57,  7, 20,162, 24, 20,196,136, 20,
+ 25,133,192,133,132,210, 26, 89, 18,  1,208, 82,145,149, 70,154, 14, 45, 21,194, 20,232, 93, 40, 81,185, 35, 69,170, 22, 98, 34,
+231,  2,153,198,156,241,187, 21,126,181, 34, 12,142,148,  2,140, 59,178, 20, 52, 66,213,247, 81,128, 44,198, 10,  8,139, 34,151,
+ 46,159,140, 76, 25,169, 21, 49, 59,188, 80,197,  9, 79, 21,205, 37, 66, 16, 83, 36,231,204,214,  7,146,148,120, 41,201,209, 23,
+104, 44,135,167,151,  3,156,158,194,225,122,  8, 49, 30,118,233,106, 10, 54,168,238,117, 66, 92, 91,232, 62, 80,196, 15, 97,202,
+135,255, 51, 21,110, 55,250,154, 25,255,219,255,227,127,203,103,191,244, 67, 92,173, 71, 54,235,129,213,197,154,148,  5, 74, 42,
+ 84,107,144, 82,240,202,157, 23,249,230,171,175,146,183,129,231,238,222, 45,145,186, 73,208, 26,195,209,204,160, 43,187,125,187,
+243,108,182, 35,187,109, 96,179,219,177, 93, 13,108,215, 35,227,206, 21,196, 71,102,194,224,153, 45,123,218,206,210,116, 37, 41,
+ 74, 27, 69,215,106,150, 71, 29, 71,203,134,227,147,142,211,101, 87,235, 76, 70, 40, 65,219,232,107,216,207,206, 12,183,110,204,
+217,236, 28,141, 53,164, 24, 73, 89, 16,146, 39, 71,129, 79,  1,171,245,181,242, 65, 43, 69, 22,  1,173,  5,198, 42,114, 76,172,
+ 55, 87,188,251,246, 61,190,249,173,111,241,246,189,123,228,112,194, 91,239,188,197,159,126,237,235,188,253,250, 57,175,223,119,
+108,178, 36,250,132,209,  2, 45,  4,179, 70,145,144,164, 44, 88,111,182, 40, 45,240, 94,208,205,122,238,223,187,143, 54,  6,101,
+ 20,155,213,142,211,103,142,249,161, 31,253,  2,127,244,127,253, 43,246,246,177,178, 22,109,189,191,249,139,135,138,247,148,  8,
+246,253,236,210,101, 13,114,158, 12,105,186,166, 88,155,202, 50,234, 98, 57, 43,135,175,150, 48,  4,104,106,252,100,161, 32,215,
+206,190,126,142, 48,148,143,203, 31,115,246, 56, 17,133,166,  3, 46,231,247,118,237,239,167, 48,121, 95,248,253, 96, 46,254, 65,
+170,148,154, 33,129,109,144,207,222,166,187,115, 27,223, 26,154,231,239,194,209, 17,185,179,176, 92,148, 75, 75,219, 86,  8,190,
+224,218,109,163,184, 99, 13, 89,148,144,148,153,180,196,228,232,114,102,244, 35,223,121,103,  5,235, 45,172,214, 69,165, 50,214,
+174,157, 15,136, 59,158,183,112, 60,  3,173, 17, 89, 48, 95, 44, 48, 18,230,166,167, 51, 22,171, 91,250,166,101,222,180,156, 29,
+181, 52,109,153,165,207, 91, 93,117,233, 25, 35, 36,173, 46,170,141, 20, 34, 97,240,116, 22,214,219,200,102, 53,176, 14,130,181,
+208,140,237,130,173, 49,168,126, 78,104, 90,152,207,  8,214,208,245,229,188,110,122,139,208,  6,137,  2,161, 11, 74, 39, 36,126,
+140, 68, 23,145, 58, 17,171,127,134,172,218,251, 12,136, 84, 26,174,152,203, 94,156,124, 66,114,245, 24,145, 90,178,245, 14,159,
+ 35, 57, 73, 86,222,145,195,193, 37,110, 74, 41,203, 83, 84,111,229,253,200,154,138, 54,249,146,200,122,145, 84, 21,154,207, 19,
+131, 93,149, 61,213, 53,251,172,245,201,106, 54,184, 66,138,147,169,102,213,223, 42,163, 14, 83, 59,125, 65,105,114, 69, 40,144,
+189,154, 52,241,182, 94, 48,235, 91, 55,233,231,159, 70, 19, 56,201, 74,165,126,176,210, 63,180, 94, 63,222, 76, 61,197,242, 64,
+250,190,108,192,166, 72,219,140,144,180, 66, 35,117, 33, 59,204,108, 91,152,199,128, 86,250,186,227,141,117,163,105, 33,200, 34,
+ 35,181,166, 81,229,176,210, 82,161,108,131,208,117,  6, 83, 97,246,156, 33,107, 73, 16,133,185, 78,206, 36,191, 35, 58,135,173,
+ 49,151, 54,130,202, 69, 83,169,100,137,122, 53,186, 41, 35, 19, 99,105,148,197, 42, 89,200, 24, 33, 34,201, 36, 37, 25,221,128,
+150,138,157, 47,238, 95, 69,108, 86, 72, 30, 84,205,186, 32,179,137,177,248,133, 79,190,240, 62,214,195, 85, 60, 26, 22,252, 94,
+100, 78,127, 80,183, 62,253,155, 83,161,158, 76, 60,168,112, 97,245,103,102,116, 15,126, 93,239,215,165,191,223,204,189,126,175,
+255,244,127,250,103,124,250,243,159, 96,189, 30, 73, 49,226,199,186, 17,115,198, 13,142,236, 51, 82,106,218,166,229,243,159,126,
+133, 23,158,123, 14, 66,145,192, 44, 22, 45,199, 39, 61,189, 53, 37,216,200, 71, 46, 86,158,213,214,115,181, 29,217,108, 11,219,
+118,216,248, 98,235, 43, 50, 74, 26,186,182, 65, 73,141,109, 53,243, 69,135,212, 69, 54, 54,235, 44,243, 70,179,104, 45,173,214,
+ 88,163,144,162, 16,216,250,198, 96,132,160,107, 45, 93,163,177, 82, 18, 98, 98,183,246, 88, 93,180,180, 41, 70, 82,200, 37,164,
+ 66, 89,150,139, 14, 55, 56,208,138, 93,220,210, 74,193, 56,236,248,235, 55,223,224, 27,175,189,137,115,130, 69,119, 74,202,146,
+174,189,205,167,190,248, 57,140,232,145, 33, 51,140, 27,190,246,221,111,242,187,127,242, 85,126,255,207,254,156,215,190,253,  6,
+139,155, 55,121,246,230,172,192,138, 62, 17,114, 96,240,137,243, 33,112,121,190, 41,132, 66,183, 37,230,178,158,118, 59,199,237,
+ 23,111, 50, 34,248,238, 95,252,101, 41,228, 90, 87,139, 74, 14, 32,121,177, 55, 47,250,155,122, 77,136, 65,174,157,205,209,178,
+204, 43,115,101, 15, 55, 13,180,245, 18, 98,106, 71, 62,133,  8, 81,101, 94,162, 30,176, 57,215, 61,149,246,100,177,143,178,111,
+ 30, 62,224,166, 78, 61, 61,162,160, 95,255, 61,249,232,207,251,190,204,119,  3,243, 99,110,188,242,  9,126,248,246, 29,190,253,
+181,191, 68,157, 29, 97,206,110,115, 98, 12, 27,219,151,238,124, 54, 47,  5,162,105,234,104, 66, 50,102,193, 12, 74,151,156, 18,
+131, 27,145, 49,114,127,183,225,254,118,203,187,111, 92,130, 91,151, 46, 48,184, 71,191,183,198, 22,248,184,235,160,179,  8,171,
+104,141,229, 70,183,224,164, 91,128, 16, 44,154,158,152, 50,243,217,156, 89,103, 48,189,229,120,102,174, 57,138,157, 81,104, 45,
+208, 82, 48,207,165, 46,249, 16, 89,173,  3,110, 72, 92, 37, 73,150,134,119,101,135, 71, 34,186, 35,180,106, 80,182,193,152,  6,
+219,245, 88,163,176,189, 98,244,133, 79, 33,148, 98, 76, 25,159,  5, 57, 39, 92,134,232,227, 53,  7, 69,146, 10, 89,174, 18, 34,
+179, 20, 72, 41,138, 71, 72, 44,235, 33,231, 72,111, 90, 20, 10,153, 18, 46,197,194,127,  9,129,148, 51,126,234,188, 75,128, 67,
+ 69,125,234,154, 17,236,139,182,210,101, 77,181,213, 57,179,179,229,158, 28,235,154,149,170, 20,126,165, 10,107, 94,202,  2,  3,
+ 52, 85,195,158, 37,184,109,121,198,119,110,208,156, 29,163,250,134, 72, 53,230, 26,134,253, 40,114, 28, 10,223, 44, 85, 19,175,
+ 92,247,166,148,251, 11,166, 60,224,155, 60, 41,178,251,136, 46,253,227, 23,245,105,227,236,226,245, 77, 56, 91,195, 38, 68, 78,
+251, 89, 97,192, 43,137,150, 26,159,  3,173,178,236,130, 43,146, 77, 33,137,169, 20,  0, 45, 96,222, 90,178,200,104,101, 48,218,
+146, 84, 49,143,209,182, 33, 27,133, 20,  5, 34, 79, 90,144,124, 42,186,116,  9,195,232, 72, 34,209,110, 86,140,163,195,  8,129,
+161, 28,204,198, 40,230, 82,146,234,173, 75, 26, 75,175, 13, 66,168, 66, 48,205, 25,165, 37,129,196, 38,  4, 58,165,217,166, 29,
+ 99, 40,183,185,109,  8,200, 20,113,201,177, 75,197,168, 38,196, 64,204,137,171,177,134, 11,140,190,220,  0,121,136, 96,118, 88,
+200, 31,158,121,124,148,228,166,199,133,225, 15,217,235,135,240,250,196, 70, 57,212,211, 78, 48,210,225, 60,253,240,224,123,224,
+123, 50,176,163,  0,  0, 32,  0, 73, 68, 65, 84,115,164,189,222, 83, 38,248,220, 23,249,103,255,253, 63,225,211,159,121,158,221,
+ 24, 73, 49,177,219, 56,164,148,104,173,  8, 46,224,  6,143,214,154,228, 19, 90, 27,218,166,132,237,100, 47, 88, 44, 91,238,156,
+206, 57,154,183,180, 86,147, 82,102,179,173,  5,125, 28,217,237, 60,209, 21,166,188,146, 18,221, 72,154,214,150,204,230,222,114,
+122, 54,199, 52,134,174,211,116,173, 98,217, 55,180, 70, 23,251, 86,171, 80,170,216, 65, 42, 41, 74,144,146, 16, 52, 74,161,180,
+160,109,202,218, 72,128,214,138,221,232,203,104, 50,102, 98,246,164,144,241, 62,150, 28,247, 52,178,176, 13,243,126,198,253,213,
+134,251,235,129,147,238, 22,183, 78,239,114, 60, 63, 99, 27, 50,175,159,191,198,215,223,254,255,184,120,253, 93,222,125,247, 91,
+ 52,218,224,162,103,227,182,133,212,233, 19,111, 93,173,184,247,250,134,175,191, 49,114, 30,203,220,178,213,162,192,156, 72, 98,
+ 18,196, 44,216, 92, 92,177,186, 56, 39,231,116,205,156,127,229, 51, 47,243,175,254,197,239,213, 53, 38,139,215,192,195,228,185,
+148,254,102,139,186,148, 92,  7, 14, 40,138, 76,200,214, 20, 55,226, 30,134, 55,166,116,234,145,194, 70, 86,213,152,101,242,224,
+ 14,110,111,179, 58,249, 55,124, 20,168,242,208,233,112, 26, 33, 61, 60, 83,127,148,  3,226,  7, 21,246,135, 47,  2,147,243, 91,
+215,193,236,  4, 94,121,158,159,121,238,121,250,254,  6,183, 94,254, 52,179,179, 51,190,112,242, 28,255, 38,  9,100, 63, 47, 35,
+ 60,211, 66,183,  4,219,178,180, 13,163,105,120, 70, 41,206,133,228,118,142,136,228,233,  1,233, 70, 24, 29,127,248,237,243, 82,
+208,183, 97, 63, 51,127,228, 25, 44, 96, 62, 43,207, 91, 73,116,215,209, 41, 77,171, 13,141,180,204,236,  2,165, 36, 77,219, 50,
+239,123,148, 81,180,141,166,239, 53, 86, 23,189,122, 57, 11,  4,115,  9,207, 14,130,185,147,156,135,192,189,181,227,124,204,140,
+ 89,178,217, 70, 92,130, 17,129,145,  2,221, 25,154,121,135, 54,154,153, 81, 72, 83,116,226,178,178,177, 99, 76, 24,163,113, 57,
+ 19, 82, 38,250,226,200, 72,206,252,255,196,189,105,143,100, 89,122,223,247, 59,219,221, 34, 34, 35,183, 90,123,157,238,153,238,
+153,158,149,228,144,179,144,166,104,120,100,137,180, 32,201,162, 12,193,134, 97, 24,134, 13, 88,111,253,  9,244, 73,252,206, 48,
+224, 55,130,  0,  3,150, 44,195, 16,  8,129, 34,  9,209,195,197,163, 25,206,210, 51,189, 86, 87, 85, 86, 85,102, 70,196, 93,206,
+234, 23,231,220,140,172,154,154,149, 51,102,  2,133,206,174,206,234,138,136,123,239,121,158,231,255,252,151,228, 35,  9, 89, 12,
+110, 60, 41, 41,164,150,  8,161, 80, 36, 98,146,196, 20,209, 82,150, 59, 39,226,136,136, 40,217, 20, 82,154, 75,146, 84,242, 24,
+ 50, 99,189, 92,239,144,178, 27,206,140, 28,201,217,174,178,236,186, 67, 89,205, 76,229, 62,104,171,178, 35,175,138, 29,111,217,
+191, 27, 85,238, 99, 83, 28,232,138,163, 92,101,  8, 77, 69, 24,166, 76, 92,156,166,108,208,100, 10,212, 95,215,121,143,222,180,
+ 89,233,160, 18, 52,203,146, 98, 90,216,244,198,228, 95, 84,217,159,225,106,199,254, 51,162,107, 79,153, 64,205, 60,167, 37,167,
+191,245, 25,250,119,238,253,156, 69, 61,148,142,218,134, 43,198,173,234, 26, 98,140,172,234, 38,239, 37, 83, 96, 97, 58,156,183,
+153,  9, 95,170,137, 86, 57,142, 47, 23,118,141,198,160,181, 34,206,246,130,166, 34,136, 12,125,250,148,167,233,148, 98,182,116,
+ 77, 96,221,148,189,159, 99, 68, 90, 71,155, 66,209,  3, 43,144,217,  0, 36, 20,153, 81, 43, 21,149,169,152,164,192,200, 60,249,
+ 67, 98, 12, 62,243, 96,100,162,119,  3, 83, 76,196, 24,153, 98, 32,132,132,141,150, 62, 70, 76,138, 76,209, 51,134,192, 16,  2,
+202, 72,236, 80,144,138, 84,178,117, 67,202,123,173,217, 60,227,122,227,243, 60,210,206,143, 43,236,241,175, 49, 49,137,178,195,
+153, 95,135,247, 69,255,250,188,235, 23,159, 62,208,174, 31,124,115,131,162,203,205, 92,138,124,247, 27,191,206, 63,253,253,223,
+229,213, 87,110,176,157, 44,206,102, 66,141,181, 33,155,196,184,128, 27, 61,206,122,188,139,153,232, 41, 43,110,223, 62, 98,217,
+214,220, 57, 57,224, 83, 47, 31,113,247,176, 99,213, 86, 24, 35,241, 46,107,206,123,231,217,246, 19,211,224,  8,  4,170, 90,114,
+124,208,113,120,188,100,213, 54,180,139,154,170,169, 88, 46, 27,218, 54,103,149, 47,154,108, 65, 89, 75, 73, 91,101, 98,150, 20,
+100,199, 58,178, 44,199,199,116,245,207,148, 18, 74, 73, 92,202,122,220, 36,  4, 55,110, 46,104,186,134, 36, 53,253, 48,224,220,
+136,212,146,187,119, 94,198,232, 21, 62,118,172,218, 99, 22,102,137,199,210, 79,151,188,247,248, 61,254,223,143,126,192,187,247,
+ 31,209, 15, 35,247,238,221,227,131,113,203, 73, 91,113,105,123, 98,176, 24, 41,176, 62,112,208,180, 28, 47,150,132,221,200,238,
+177,231,157,119, 31,240,120, 28,240, 94,224, 37, 56, 23, 48, 90,242,240,163,135, 36,161,184,127,118,159,182,174,112,253, 68,187,
+236, 88,159, 28,243,221,111,253,160,200,111, 74,150,121,186,122,170, 51,145,231,111,226,235, 11,159,132,143,206,246, 89,213, 93,
+ 57,184,116,225, 91,164,184, 55,174,145,101,234,105,230,103,164,202,174,134, 37,116,228,106, 29,180,219,100,114,211,245,103, 67,
+ 21, 11, 86,165,139,135,118,120, 26,141,146,215,166, 21,249, 12,249,109, 46,242,215, 73,162,215, 81,172,231,173,170,  4,249,253,
+164,107, 13,133,169,242,158,188,238,224,228, 24, 78,143, 57, 61,121,129,170, 94,160,214, 71, 44,186, 53,178, 90, 50, 24,195, 74,
+ 26, 30,  8,  9,205,138,165,174,248,120,189,224,139,221,146, 94,213,124,177,169,  9,186,230,213, 74,209,187,145,102,154, 16,253,
+200, 69, 63, 18,156,229,221,179,199,185,160,255,180,150,193, 85, 38, 41,179,168, 65,231,251,249,184,109, 57, 48, 45,135,221, 10,
+173, 53,181,106,105,154,  6,105, 26,132,145, 28, 29, 54,212, 38,123, 64, 84,149,196,250, 64, 83, 41, 54, 54,176, 35,112,223, 89,
+ 30, 91, 71,232, 35,155, 33, 48,133,196,214,131,143,129,160, 52,149,150,212,117, 69, 85, 86, 83,149,206, 69, 84, 75,208, 85,222,
+ 97, 71, 37, 81, 41, 18, 18,244, 54,159,179,169,164, 60, 75, 41,179,147,238, 24,144, 74, 35, 34,  8,153,175,107, 76, 16,  9,120,
+ 60, 85,146,196, 96, 73, 34, 19,172, 31,185, 33,155, 28,134,148, 67,107, 36, 56,239,247, 92,142,124,216,228,243, 42,196, 61, 12,
+ 62, 35, 90, 41,229, 34, 77,218,123, 31,204, 16,126, 73,176,203,135, 74, 93,172, 96,155,252,123,166,202,223,155, 18, 29,237,  3,
+ 60,217,230,130,158,128,182,219, 19, 73,108,145,216,205,  8,147,174,243,253, 28,108, 81,166, 20,117,138, 44,197, 61,149,220,148,
+168,178,244, 45,253, 53,247,237,193,210, 47,187,172,144,224,231,141, 94,245, 62,239, 22,188,133,113, 36,132, 37, 65, 64,239, 28,
+139,170, 34,132,132, 19, 19, 66,234,171,152, 86, 23, 60,157,174,217, 57, 87,194, 95,242,244, 24, 72, 40, 41,137,192, 32,  2,141,
+ 82, 76, 50, 91,181,202, 36,136, 66, 34, 69,200, 77,127, 83,227,167,128, 84,134,169,105, 88, 41,137, 68, 96,129,  6,129, 39, 17,
+241,212, 42,199, 52, 70, 60,141,212,108,253, 72, 74, 25,206,247,  5, 98,151, 82, 93,173,248, 34,137,232, 92,113,226,206,222,238,
+ 54,134,210,  0, 10, 90, 45,217,217, 80,172, 93, 21, 76,133,120,209,212,121, 10,121, 38,132,226, 41,232,123, 46,164,115,218,217,
+ 47,210,204,255,250, 62,252,122, 99,161,245, 62,160,  0,160, 57,129,221,195,189,139,157, 46,176,174, 44,  7,153,245, 79,191,174,
+ 57, 20,102,178,168, 47,126,145,255,241, 31,255, 46,183,110, 29,211, 91,135, 31, 61,206, 39,198,126,194,109, 39,188,145, 89, 87,
+238, 28,166,174,233,218,142,174,109,185,113,178,230,112,209,112,220, 54, 28, 30,212, 84,198,224, 17,232,  4, 33,228,  6,175,173,
+ 53,245,168, 88, 24, 67,106, 34, 82, 24,186, 78,113,184,108, 56,232, 42,170, 42,223, 23,143,183, 83, 38,186, 10,129, 79,  9, 37,
+196, 21,225, 73, 37, 24, 93,196,151, 38, 42,164,132, 15, 57,128, 66,144,208, 10, 34, 57, 37,106, 33, 12, 34,102, 78,  7, 73,178,
+ 88,100,120,116,220, 14,128,160, 94,156,114,121, 25,248,193,135,223,195, 37, 79,171, 12, 67,152, 24,253,196,197, 48, 50, 78,150,
+139,209, 33,107,145,107,234,144, 96, 51,240,199, 37,142,164,171, 37,175, 30, 30,210,153,200,163,161,231,160,223,112, 99,169,177,
+253,134, 16,  3, 15, 63,122,159,147,211,155, 44,215, 45, 71, 39, 43,142,150, 53,175,189,241, 49,254,236, 79,191,206,217,118,160,
+ 86,231,172,143, 15,120,116,239, 33, 47,188,246, 42, 44, 86,215,238,169,  6,252,144, 15, 16,255, 55,167,190,248,242,107,111,242,
+ 71,147,135,239,191, 95,228, 69,213,158,112, 38,202,247,190,248,197,171,178, 95, 79,117, 46,186,253, 46, 79,188,233,218,  1,182,
+155,138,186, 34, 62, 69,144, 71,181, 80,207,200, 82,202,223,135,248,195, 58,243,164,159,150,246,120,255,252,103,172, 42,191,231,
+125,222,253,247,219, 60, 81,167,107,140,104,231,243,239, 25,153,247,169, 55,215,121, 71,174,117,126,214, 23,199,124,242,228, 22,
+232,  5, 13,138,164, 36, 71,109, 67,116,142,229,201,  9, 63,216,238,192, 77,156, 52, 29,199,  4, 30,122,248,213,229,154, 71,231,
+231,188,209,  5,166,237, 19,190,149, 22,156,125,244,  4, 30,220,135,116, 93, 30,251, 51,156,  9,215, 87, 14,149,161,110,115,147,
+ 84,107,197,110, 26,169, 85,139,234,114, 51, 99, 67,160,211, 13,227, 20,193, 68, 78, 90,201,118,  8, 44, 59,205,217,214, 34, 36,
+156, 91,143,177,158,225,194, 33, 82, 34,197,136,221,141,224,  5,  3,130, 86, 37,164, 49,180,  2,164, 20,200, 20,144,  8,132,203,
+164, 82, 69, 64, 36,129, 10,185,216,134,148,168, 67,246,114,  8, 33,103,174, 11,153, 16, 73, 99,234,116, 69,171,240,110,142,185,
+ 78,153,199, 18, 21, 99, 24, 73, 72, 70, 63,224, 98, 66,167,196, 24,  2, 74, 64,171,  5, 27, 79,153,112,109,201, 97,151,215,140,
+104, 10, 33, 83,139,189, 98,231,202,122, 88,194, 82, 61, 93,195, 18, 48, 21,109,250, 52, 27, 21,201,226,156, 90,238, 23, 89, 84,
+ 28,222,103,196,102,188, 78,208, 44, 50,205,249,114,212, 42,163, 83, 83,202,223, 55,203,226,102,167,247,168,130, 20, 16,171, 60,
+ 20,155,194,  9,208, 99,110, 22,254, 58,233,109,223,248,222, 95,  3,126,191,186,177, 34, 56,145, 59,117,109,168,171, 42, 59,168,
+198, 72, 91, 25, 34,146, 74,202,236,170, 21, 34,181,174,112,193,210,152,  6, 37, 36,149,210, 24,153, 77,238, 43, 93,161,234,138,
+170,174, 89, 29,174,243,218,195, 39, 98, 97, 54,134,152,163,  6,133,200,123, 32, 59,246, 28,232, 12,185, 10, 37,105,141, 38,200,
+108, 21,216,153,154,136, 32,170,132, 84, 21,  3,145,182,105,114, 20, 38, 17, 97, 20, 46,192, 24, 29,117,221,112, 49, 58,108, 74,
+136, 18,152,224,163, 39, 10,193, 24, 61, 62,  5, 42, 45, 56,159, 60,131,143, 25, 90,179,182, 72, 24, 10, 67, 86,215,249,230,  8,
+101, 92, 84,197,107, 93,170, 61, 17, 67,166,253, 77, 38,197, 47,198,126,243, 58, 35,247,106,234, 41, 30,217,215, 39, 16, 31,224,
+181,151,242,129,187,219,236,225,160, 84,  8,116,149,218, 19,152,230, 73,198, 21, 93,250, 39, 63,203,255,244,223,252,125,222,120,
+229, 22,219,201,114,254,100,199,102, 51,144, 98, 66,  8,129,115,142,177,183,217,117,202, 71,218,166,227,244,198, 33, 55,142, 15,
+184,181, 94,210, 40,157,225,240, 36, 24, 93, 98,103, 35,151,147,103,231, 60,155,237,196,102,176,236,172, 99,176,158,182, 82, 44,
+ 91, 67,215, 24, 26,147,239,157, 32,  4,181,145,116,181, 46,171, 89, 73,165, 36, 54,228,132,190,209,  7,  6, 31,136, 41, 49,249,
+128, 43,228,153, 16, 83,118,  7,140,241, 74,  7, 79,177,165,204,134, 67,130, 85,173,185,232, 39, 36,112,180,108,232,  7,199,135,
+247,222,225,223,189,243, 29,222,254,206,  7,220,127,231, 17, 31,220, 59,227,254, 59,143,120,244,131, 75,118,214,194,162,202, 16,
+163,214,220, 94,118,156,222, 58, 64,174, 27,218,198,208,214, 13,151, 59,203,165,155,232, 83,226,114,178, 36,  2,147, 79, 52,166,
+102,189, 62,101,177, 56, 98,185, 62,166, 58, 48,216,205,150,203,161,231,248,112,193,119,223,126,143,203,113,224,201, 56,176, 50,
+ 21, 70,107,218,174, 69, 25,248,224,131,179, 61,180, 28, 67,201,154,254,155,131,221,223,255,230, 95,101,  8, 82, 74,168,219, 92,
+ 89,175,152,227, 51,251,188,192,163,243,228,110,195,222,174,184,183, 25,134,119,236, 11, 90,138, 79,195,144, 66, 67, 91,158,157,
+217,172,230, 89,119,184,121, 26,191,126, 30, 81,154,  3,127,173,248, 95, 73,151,100, 49, 39,161, 48,239,175,165,104,205,251,233,
+122,149, 15,244,155,167,121,242, 58, 88,102, 79,246,118,149, 27,172,170,229,172, 90,240,198,106,  9, 70,163,144, 44,  5,168,174,
+163, 50,146,203, 32,120,189,169,121,185,170,145,149,161,209,146, 49,192,205,197, 18, 45, 35, 74,213,220,172,  4,223,189,236,225,
+252, 73,246,188,248, 73,123,252,231,125,117,217,205,147, 85, 11, 50,187, 23,118,218,100,166,123,179, 96,217,174, 80, 73, 97,234,
+ 26, 83,213,200, 90, 99,165, 36, 10,208,181, 34,144, 56, 27, 61,187,152,120,188,177, 52, 41,209,111, 39,130, 13, 92,156, 79,108,
+138,137,147, 19, 49,135,170, 72, 56,212, 25,186, 87,228,218,134,183,172, 42,197,146,132,140,129,198, 36, 42,153, 57, 77,102, 12,
+ 44,140,192, 91,207,218, 72,140,204,126,244, 46, 38, 82,113,105, 75, 82, 96, 93, 86,184,120,103,145,210, 96,157,103,  8, 14, 65,
+192, 71, 65,239,  7,124,153,166, 67, 74,140, 49,146, 82, 96,154,121, 65, 41,238, 67, 88,162,216,187, 18,218,130,166, 94, 31,172,
+164,200,133, 54,201, 61, 50, 35,196, 30, 66,215,229, 92, 60, 92,228, 34,188, 94,228,169,186, 42,  1, 71, 77,125,205, 57, 80, 21,
+179,174,148,163,185, 21,249,254, 81,229, 44,174,212,254, 60,158, 37,117,179,151, 68, 44, 36,202,170,202,175,111,190,150,166,161,
+200,180,184, 10,181,255,105,214,182,207,221,228,206,190,180, 63,235,244,232,201,147,235,110,128,101,203,229, 56,209, 30, 24, 42,
+173,242,123,149,121, 63,168,  0,173,178, 25,141, 86, 57,212, 66,154, 12,135, 68, 45, 89, 84, 13,222,  7, 24, 28, 71,235, 99, 98,
+ 76,180,117,205,214, 57, 68, 76,184,204,130, 64,106,133, 74, 16,123,203,186,233, 16,222, 33,149,166,149,217,112,163,142,142, 24,
+115, 39, 86,215,154,201, 58, 60,176,208, 21,131,155, 64,231,189,102,239, 61, 19,160,117, 69, 31, 28,117,101,114,224,142,130,138,
+132, 77, 33,195, 59, 17,140, 20,220,223, 77, 88,145, 88, 24,197,165,115,249,144,153,161,207,182,202,147,122,219,230,110,203,150,
+174,173,160, 19,121,210,136, 57,179,215,164,189, 46,242, 23, 57,173,135, 31,227,152, 53,119,126,223,252, 22,212, 39,251,191, 55,
+ 20,226, 82,163,242,158, 73,213, 48,110,246,211, 79, 57, 52,255,251,255,252,107,124,226,213,219,124,244,232,156,243, 39,  3,227,
+182,207,131,208,177,161, 63,223, 33,165,202, 82, 63, 64,169, 26,169, 53, 70, 27,214,109,131,136,  2, 76,158, 94,165,132,193,123,
+ 70,159,  3, 93,166, 41,224,188,203, 73,107, 62,178,106, 20,181,150, 24,149, 53,232,181,150,  4,159,211,247,124, 72, 87,207,164,
+245,  1,169,100,182,246, 77, 17,231,178,193,140, 81,130, 90,102,235,225,193,103, 21,195,186, 49, 28,215,154, 39,222,161,162, 34,
+164, 64,165, 20, 19,  2, 37, 35, 86, 36,162, 11,124,244,254, 19,222,122,233,  6,127,231, 87, 63,206,  7,175,221,225,243, 79,182,
+108,207, 30,115,113,255, 62,255,230,222, 67,238, 95,236, 56, 62, 88,178,179, 83, 38,118, 93,244, 88,229,168, 94, 61,226,245,211,
+ 23,  0,201,232,122,142,154, 53,143,250,115,222,125,242, 17, 99,244,220, 89, 31,113,227,224,148, 23,143, 95,193, 52, 10,161, 36,
+ 93,183,128,148,208,169,195,138,158, 39, 31,124,200, 52, 90, 72,146,117,211,241,157, 71, 15,217,244, 59,186,229,130,113, 24,120,
+235,205,143,243,199,127,244,151,133,195, 49, 75,169,228, 47, 75,163,246,156,  7, 92, 63,127,130,156,119,132,215,115,170,159, 82,
+200,148,189,162,223,150,201,153, 12, 47, 87,250, 26, 23, 32,238, 51,218,159,125, 22, 26,253,244, 68, 42,126, 12, 74,117,253,229,
+ 94,127,173,243,189,174,100,137,227,140,251,  2,110,231,169,188, 20,253,102,193,167, 94, 57,229,155,125,226,173,227, 37,255, 97,
+112,249, 16,215, 69,117, 80,215,249,185,111, 50,114,178,113,150,163,102,149,225,220,174,206,219,200, 36,249,204, 97, 71,140,137,
+206,123,238,133,196, 75, 82,178,213,146,190,223,225,245,  1, 55, 87, 59, 52,  1,150,  7,112,120, 10, 15,166, 61, 82,240,211,126,
+205, 70, 61,199,213,158,176, 15,180, 85, 77,165,178,106,  8, 33, 17,117, 13, 70,147, 42, 73, 31,  5,210, 38, 38, 13,187,173, 67,
+ 40,168, 98, 34,248, 64, 27,  2,143,135, 68,178, 30,119, 49, 50, 77, 14,225, 34,209,  7,164, 15,164, 41,178, 90,106, 84, 72, 24,
+160, 85, 18,182, 30,161, 36, 85,  8,212, 74,113,128,160,237,  3,203,166,195, 74,129,104,243, 94, 60, 44, 20,151,  2,  6,159,152,
+ 72,104,163,216,141, 57,231, 67, 38,143,170, 27,252,118,  3, 66, 50,216,204,169, 48,218,144,130,163,213, 57,207,131,104,233, 84,
+ 94,  3,100, 87, 76,168,140,193,150,128,159, 43, 25, 89, 44,126,240,243,122,212,152,162,  8, 33,239,219,103,  7,195,186,228, 96,
+ 84,134, 43, 59, 87, 91,206,194,121,181, 97,212,158, 24,185,217,237, 99,136,107,179, 71,117,148,134,118,158,208,219,114,127,149,
+123,202,135,125,202,219,108,136, 51, 27,210, 44,154,253,128,215,150,149,213,193, 34,251,159,136,226, 55,111,251, 34,  1,245,215,
+182, 74,254,167,  6,115, 20,159,248,141,127,134,110,138,199,240,207,120,131, 93,193, 27,  2,140, 97, 20,130,163, 98, 25, 27, 82,
+162,171,187, 76, 52,148, 25,182,  1,137, 81,  6,231, 45,139,170,197,152, 10,239, 29, 74,107,170,170, 66, 42,153,173, 61, 71,143,
+119,129,152, 66,134,232,189,205,126,  3,198, 92, 73,213,  4,130, 78,105, 84,165,104,171,154, 88,188,182,149,202,190,193, 90, 41,
+122, 60,190, 50, 56, 41,136, 82,224,203,244, 23,165,194,133, 84, 10,132,194,147, 24, 98, 68, 42, 65, 64, 49,  5, 71, 20, 96, 99,
+196,123, 79,  4, 46,103, 59, 65, 55,199,244,  5, 24,124, 62,128, 76, 73, 65,211,114,207,190,212,213, 85,224, 12, 34,128,207,121,
+200, 25,134,249,  5,234,220,159,149,160, 93,119,154,131,124,160,165,196,242,139,159,226,205, 79,127,146,  7,223,127,167,  4,107,
+ 20,214, 39,100,233, 76,244,229,192,200, 13,203, 87,255,209,239,241,197,175,124,150, 39, 23, 59,206, 30, 92, 48,141, 14, 33, 36,
+139,163, 37, 82,192, 56, 58,148, 84,153,132, 40, 52,141,233, 88, 45, 23,220, 56, 92,177, 48,  6, 93, 73, 42, 45,179,172,176, 20,
+228,201,122, 38,231,121,120, 57, 48, 12,150,144, 34, 93,173, 56, 57,104, 56, 89,214,116,149,166,174,179,129,139, 72, 96, 83, 68,
+149,196,189, 90, 41, 92,202, 69, 62,165,132,143,145,169,172,  2,188, 15,153,171, 17,  2, 75,149, 77, 53,106,  9, 71,181, 64, 37,
+ 65, 91,107,140, 82, 28, 47,170,204, 50,247,217,184,232,171,119,143,185,191,245,124,251,189, 75,234,165,230,159,252,202, 43,188,
+113, 99,141, 93,116,220,121,241,  5,110,117,135,252,173, 79,189,206, 73, 85,115,115,209,241,202,225,  1,111,223,127, 12,135, 13,
+ 55, 15, 14, 89, 54, 71,212,213,146,179,254, 12,235, 39,142, 22,167, 28,117, 71, 88, 59, 32,180,196,166,192,163,221, 37,253,180,
+165, 51,154, 16, 18,170,170,105, 79,142, 88,159,172,121,244,209,123,220,127,248,144,179,237, 37,141, 82,216,232, 57,219,141, 28,
+183, 53,218,212,172, 78,143, 56,239, 39, 30,199,  2,225, 45,234, 60, 57,110,182,240,242,139,121,215,187,219,254,116,132,178, 89,
+226,248, 60,255,105, 93, 12, 83, 84, 93, 10,118,169, 20, 17,126,200,217,238,106,197, 83,149,123, 59, 93, 13,231, 87,171, 32, 81,
+216,193,241,218, 58, 71,183, 69,195, 92, 98,140, 99, 40,207,197,143, 32,179, 25, 83,140, 61,194, 62,  6,152,244,252, 41,253, 89,
+  7,184,249, 25, 48,229, 92,155,  9,125,130, 12,115,170, 98,164, 21,129,213, 33,191,243,137,187,208, 45,248,212,233,  1,163, 50,
+124,108,125,204,  3, 93, 19, 40, 36, 40, 53, 59,226,105,106,165,184, 45, 13,171,186,197,106, 77, 40,159,109, 15,  8, 31,185,211,
+ 42, 30, 76,129, 35,165,121,140,228, 52, 70, 70,173, 57,145,130, 71,187,137,202, 40,190,179,221, 16,182, 27,112,187, 44, 95,155,
+157, 27,137, 63,217, 29, 80,138,252,218,219,114,173,180,166,174, 52, 71, 85,203,141,118, 77, 83,119,232,182, 35,233,138,164,103,
+ 99, 26,137,175, 52, 91, 31, 25,109, 98, 40,124,150,201,  5,122, 23,176,189,195, 59,207,110,211, 51,238,118,216, 97,196, 13,  3,
+ 79, 54, 23,248, 48,176, 10,129, 54,122, 26,111,105,132,162,149,130, 54, 37,148, 11,168, 16, 80,253,150,195, 32,104,156,227, 80,
+ 36, 78,132,164, 78,176,144,146,227,153,188, 22, 18,163,205, 38,100, 81,130, 39, 27,205, 88,114, 38, 67,116, 83,  1, 99,  2,181,
+132,173,179,212, 90,161, 99, 65, 85,147, 96, 91, 84, 34, 50, 37,166, 48,171, 38,202,125,161,138,124,208,198,124, 47,135, 82,228,
+141,218,123,186,171, 98, 35,107,202,218,104,110, 78,187, 54,159,233,203, 54, 23, 86, 93, 96,117,235, 11,217,173,144,186, 42,185,
+135,252, 83,122, 70,217, 81, 10,249,220, 44,198,107,164,198,114,  6,102,120,158,125,112,207, 12,205,147,114,  3,217, 85,  5, 61,
+ 48, 37,168,166,202,182,236,198,228, 65,108,158,226,141,250,177,104,175,166, 42,111,206,245,249, 65,252, 89,119,235,253,148,223,
+100,183, 32,180,145, 39, 67,207,170,110, 88,181, 11,118,211, 68,103, 42, 98, 20,104,165,  8,201,227,130,167, 53, 13,162,216,  8,
+106,221, 20, 94, 86, 96,219,111,113,  5, 58, 75, 50, 75, 96,  4, 30, 97, 76,238, 64, 67, 68,104, 67,136, 17, 45, 50, 44, 34,200,
+ 72,158,150, 58, 55, 19, 37,  3,120, 34, 81, 91,195, 16, 29,178,173,137,147, 39,146, 47,104, 26, 29,168, 72,136, 57, 64, 64,138,
+ 28,  3, 58,216, 17, 85, 12, 27,130, 29,242,231,111, 42,198,105,204, 55,198,124, 65,231, 32,138,142,253,174,164, 41, 83, 59,177,
+200, 27,124,177, 19, 28,179,204, 69,216,125,135,104, 13,248,205, 47,103,224,242,215,118,235,222, 23,147,  5,205,246,235,127,193,
+ 95,118,119,246, 41,113,179,127, 65,152,181,190,236,157,242, 62,253, 43,124,249,171, 95,100,234, 29,231, 23, 59,236,224,233, 86,
+ 29,235,227,  5,187,157,205, 58,236,170,152,  5,249, 72,219,180, 28,173, 87, 88,155,216, 92, 58, 90, 93,161,141,206,241,182, 33,
+ 91, 75,246, 54, 50,249,136,240, 41,155,212,233,226, 52, 72, 34,250,136,151, 34, 39, 74,185, 12,143,139,226,167,158, 27, 68,152,
+ 98,134,211,189, 15, 76, 33,160,129,187, 11,195,214,121,108, 36,235,210,133,160,174, 36,166, 16, 39,183, 73, 82,213,249,129, 90,
+ 86,186,168, 51, 20, 42,229,176,  8, 93, 43,190,252,214, 93, 14,239, 58,132,155,248,151,223,251,144, 79,158, 30,178,104, 43,222,
+126,239, 33,  7,171,142, 91,199, 45,159,251,204,139,124,233,238, 17, 95,127,255, 17, 31,127,245, 14,127,240,141,111,211, 85,138,
+255,240,240,109,110,117,135,108,118,231,180,139, 53,141,214, 28,180, 43,130,219,240,253,199,247,248,246,238, 17,156,245, 48,129,
+124,105,205,155,199,  7,188,122,114,151,203,199,231,220,188,123,139,110,125,155, 15,238,127,157,247, 31,111,121, 18,  2, 71,141,
+225,184,209,188,254,202, 43,208, 86,188,124,231,136,255,234,239,253,109,198,205, 84,164,179,  9,239, 44,214, 58,126,243,197, 19,
+222,221,142,220,187,127,198, 63,255,147, 63,229,251,127,242, 39,207,191, 31,230,201,126,158, 96,174,166, 61,251,244,228, 29,138,
+ 51, 87, 20,121, 79, 45, 96,191, 64,252, 81, 13,165,223, 67,153,243,200,152,138, 53,177, 42, 15,230,172,170,104,155, 61, 68, 63,
+142,123, 39, 48, 51, 51,233,175,161, 87,222,231,226, 43,202, 68,227,226, 30, 77,212,250,153, 41,253, 57, 19,140, 47,137,130,161,
+200,157,204,140,104, 85, 64,137,198,140, 64,183,162, 90, 47,104,215,199, 60, 30, 29,147, 94,209,170,136, 87, 45,  7,106,226,108,
+102, 67,199,  0,228,102,224,165,234,152,191, 36,241,149,177,199, 87, 29, 15,189,231, 70,157, 21, 54, 46,  6,118,219, 68,155, 18,
+ 46,  4,150, 62,112, 33, 19, 77,128,247,135,129, 59,109,199,159, 61, 60,195,234,186,228, 41, 52,192,112,109,152,210,123, 53, 65,
+224, 71, 35, 37, 77,243, 84, 35,181,214, 53,175, 44,142, 48, 90,211, 45, 14, 80,166,193, 10,137, 23,217, 37, 81,135,128,244,158,
+158, 60, 45,214,129,108,186,148, 34,135, 33, 50,  4,136,214,147,236, 68,231, 61,151,155, 39,108,135,145,139, 96, 57, 89, 44, 48,
+ 65, 98,162, 64, 43,131,242, 19, 76,145, 74,107,100, 74,172, 72, 28,168,154, 62, 76,220,162,166,  9,128,205, 17,184, 49, 36,182,
+ 41,177,  6,188,148, 96,  2,187, 36,216,246, 57,138,117,  8, 16,165,198,121,176, 73,224,163,133,152,216, 38, 79, 35,  4, 67,136,
+ 57,249, 48, 72,182,113,226, 88, 73, 30, 90,143, 79,137,202, 40,172,191, 86,216, 92,200, 77,163, 36,103,116,212,234,202, 19, 38,
+251,245, 87,153,244,166,203,120,189,185,132,195,155, 87,217, 33,121,184,241,217, 44,104, 94,139, 84,165, 33, 30, 11,241,120,156,
+242,223,129,202, 30,244, 70,239,137,199,218,236, 25,237,115, 35, 60,  7, 21,213,106,111, 49, 27, 11,169,180,196,204, 94, 33, 71,
+162, 88,  5,207, 16,126,167, 11,  2, 81, 66,106,132,  4,209,149, 84, 66,191,143,149,157,182,207, 41,234,214,230, 23,253,243, 70,
+194, 57, 11, 99,121, 80,235,138,209, 84, 32, 39, 26,165,209,166, 33,  4, 79, 83, 53, 56,239,179,109, 32,  1, 37,  4,163,179, 44,
+171,150,132,199,135,188, 43,  7,152,220,136, 49,  6, 65, 78,231, 97,  4,161, 36,202,228,110, 44,196, 68,165, 13, 82, 72,100, 74,
+ 40, 45,208, 90, 34,165, 36, 90, 15, 77,131,176,142,224, 70,236,178, 35, 13,  3,187,209, 83, 53, 21, 97,202, 19,172,212,154,224,
+ 66,118, 52,210, 26,  3,244,222, 17,230,157,135,169,193,123, 42,149,120, 56,236,  8, 66,130, 42,222,189,182,192, 47, 90,238, 77,
+191, 98,249,240, 27,157,247,135, 49,236,147,116,150,139,124,  3,232, 42,103,241,206, 36,167,174,185,150,219,251, 75, 40,236,215,
+ 39,150,249,151,125,239,233,131, 83,235, 98,252,241, 52,148,249, 15,127,227,147, 28, 28, 46, 24,122, 71, 93, 85,196, 54,210,173,
+ 26,134, 41,224,125, 32,248,144,161,247, 49, 66,212,144, 36, 77, 91,209,181,154,227,101,199,201,186,161, 49, 10,173,  4,147,143,
+ 87, 62, 17, 25,164, 72,156,116, 21, 73,102,139,212,186,146, 44,235,236,212, 85, 43,144, 73,226, 93,222,125, 87, 38,179, 94,173,
+207,170,133, 90,136,140,150, 26,133, 72,137, 86,  9,142, 27, 73, 31,  2, 62,  9,142, 69,162,145, 32,100,226, 50, 69, 84, 20, 60,
+216, 57, 22,149,166, 89, 42,166,  8, 55,187,134, 70, 43,238,157,247, 84,141,226, 83, 55,150,124,226,101, 69,171, 37,223, 61,219,
+240,199,223,127, 76,178,137,118,181,200,172,210,193,161,158,244,252,145, 11,156,172, 59,254,233,215,126,141,223,248,220, 39,248,
+171, 15, 30,241, 23,127,254,109,  8, 19,127,241,216, 49,212,142,239, 61,252, 30,173, 54, 60,222, 92,112, 62, 76,121,157,211, 25,
+208,129,248,120,195, 55, 31, 92,240,225, 75,151,124,246,228,  9, 97,218,112,252,194, 29, 62,241,218,167,249,236, 23, 86, 28, 30,
+ 53,156, 30, 85,124,236,100,193,113,171,217,218, 64,140,  9,119, 43,175,  9, 14,154,236,  3,177, 48,146,202, 72,158, 12,158, 99,
+ 27,249,170,150,252,195,127,240,219, 92,140,142, 15,207,123,254,234, 59, 31,242,  7,127,242,111,248,247,255,242, 15,114,241,126,
+ 22,189,126, 14,124,159,102, 78,198, 83,147, 50,224,126, 68, 81,  9, 49,167,254,173, 86, 87,220,162,252,255,141,249,126,130,167,
+  7,  4,235,193,216,130, 94,197, 31,173,  6,185,190,150,250,113,164,161,167, 26,215, 31,  1, 81,207, 68,209,201,150,116,184, 17,
+148,205, 16,122,  4,150, 29,  7,183,143,249,220,237, 35, 30, 76,142,182, 91,208, 72,131,174, 26,188,183,188, 46, 91,162,115, 60,
+ 22, 83,209, 53,231,117,195,247,118,143,249,220,193, 17, 31, 76, 19,157,245, 44,155,134,139,113, 96,170, 42, 86, 36,190,229, 19,
+159, 58, 88,224, 67,100,212,138,208,247,244, 68,110, 24,205,187,110,226, 65,242,185,104,175,186, 60,  8,236,158,121, 15,234,153,
+141,200,243,222,223,236,  3,128,130,186,227,184, 57,  0,109,232, 86, 39,128,200, 50, 49,165, 24,172,199,  8,  5,109,102,189,143,
+206,102,146,127, 37,137, 33,114, 75, 36,250,  0,149,245, 56,159,101,118,143,206,207,168,172,227,124,216,178, 86, 18,101, 61, 85,
+ 91, 50,215,181, 66,248,136,209,138, 70,105, 90,165,104, 66, 64, 37,201, 43,170, 65,183,  6,233, 50, 87,105, 12,142, 74, 26,150,
+ 17, 92,217,109, 75,165,176,  9, 14,170,192,189,201, 33,148,100,176, 16,181, 33, 22,215, 60, 27, 71, 26,169,241,193,211,136,188,
+130,105,141, 38, 18,217, 13,158,227, 74, 18,167,196,214, 63, 19,128,163, 75,246,192, 44,250,153,175,217,172,106,208,  6,213,182,
+  4,  1, 75,221,210,175,142,178,185,213,220,224,166,178, 90,165,104,202,103,253,183, 47, 67,161,243, 57,223,125,178,249,140,191,
+ 90,125, 62,207,182, 53, 62,237,251, 62,133,189, 74,169, 42, 78,117,117,149,121, 78,211,144, 45,106,131,205,141, 71, 27, 96, 96,
+111, 83, 60,199,246,174,171,140,112,205,107,178,177,217,115, 82,226,248,148, 25,154, 34, 30,253, 51,250,221, 47,198, 33, 77, 43,
+ 44,146,227,197, 65,102, 43,147,117,232, 62,  6,140, 52,132, 20,179,113,143,146,212, 82, 35,148, 68, 11,205,228, 28,198,232,108,
+ 56, 83,236, 10, 19, 18,235,178, 23,180, 49,249,165,  6, 33,209, 74,162,234,138, 78, 41, 92,136,212,198, 16,139,255,182, 48, 21,
+ 82, 10,122,159,205, 82,108, 49,213, 87,166,194, 21,178, 84, 10, 41,155, 36,248,108,136, 16, 98, 98, 76,146, 68,196,  9, 65, 31,
+ 34,194, 71,156,144, 92,122,139, 22,  2, 23,115,246, 58,163, 43, 45,180,156,147, 72,242,  1, 35, 74,182,239, 12,181,248,180,135,
+229, 41, 36, 57, 81,172,183,116, 85, 76, 15,202, 69,255, 57,201, 16, 63, 53, 52,255,211,252,251, 51,191,255,247,254,219,127,130,
+146, 96, 71, 79,  8,185,184,132, 72,201,176,167,216,233, 10,130,135,186,174, 89,173,150,220, 61, 93,115,178,234, 88, 45, 43,150,
+ 38,147,106,102,215, 80,151, 34, 33,164,156,167,160,  5,146, 68,163, 20,167,107,195,210,232, 28,211, 56,191,148,144, 81,155, 84,
+248, 47,214,  7,100,138,184,152,167,250,144,  2, 33,230, 73, 40,133,200, 50,  6,100,  8, 28,196, 68, 37,160, 18,146,147,148,232,
+ 98,226, 72, 10,172,200, 83,129, 69, 48,110,  7, 78, 43,195,113, 83, 97, 18,124,235,108,199,  7,151, 35,  8,112,  8, 78, 15, 58,
+ 94, 59, 93,242, 36,  8, 92, 72,220,190,181,  4, 35,233, 55, 35,110,116, 60,222, 78,216,201, 51, 38,137, 49,134, 95,255,252,107,
+188,122,186,166,221, 89,254,175,119, 63,228,163,221,150,147,174,166, 51,154, 86, 27, 86, 90,179, 37,145,106, 69,210, 18,121, 80,
+241,249,211, 99, 94,190,121,194,209,141,  5,191,255,183, 94,231, 31,125,233, 99,124,233,205,219,124,254,229, 99, 62,125,123,141,
+ 20,130,203,193, 35, 82,126,126,124,136,236,172,103, 42,132, 64, 18,152, 74,177,168, 12,125, 16,124,112, 57,161, 82,228,229,211,
+ 37, 95,184,125,196, 75,119, 14,249,237, 47,126,129,127,252,251,191,199, 43, 47,189,196, 31,254,209,159, 34,144,121,109, 37,  4,
+ 34,101, 67,165,108,  2,146, 15, 32, 97, 52, 34,169,125,241, 87, 62, 79,217,209, 62,127,143, 61, 75, 38,173,203,208,160,119,123,
+226, 82, 74, 48,244,207, 88,179, 22, 34,102,112,123,185,219,117,107,215,249,240,251,113, 30,239,215,139,254,179, 43,166, 31,154,
+100,203,142, 83, 25, 56, 88,103,104,179,237,114,228,235,170,205, 59,204, 69, 67,234,106,110, 54, 13, 73,213,188,118,184, 38, 42,
+ 56,210, 25, 53, 56,172,  5, 15,109,228, 50,133,189,115,153,200,222,  2, 70, 72, 14, 98,162, 14,142, 46,  5,206,172,101,185,125,
+140, 53, 21,223,159, 70,118, 33,114, 71, 73, 30,218,137, 35,165,232,157,167,247, 17, 29,  2,223, 24,167,124, 80,251, 30,118,187,
+167, 19, 21, 37,251, 40, 80,226, 15, 15, 90,179,202,230,228,  6,172, 22,176, 94,243,194,209, 13,126,227,246,203, 28, 44, 22, 24,
+ 45,168,181,193,232, 26, 27, 50, 41, 46, 42, 69,240,137, 33,  6,162,148, 52, 82,208, 72,193, 97,  2, 23, 34,235,152,176,131,163,
+ 38,176, 59,127,130,187,124,130,157, 70,150,  9,218,182,166,105, 90, 58, 93,161,149,196,196, 72, 83, 27,140,128,133,169,232,128,
+195,202,176,142,  9, 35,  5,173,148, 57, 72, 70, 10,234,226,190, 39,124,162, 49,138,160, 37, 23, 49,175, 52, 71,153,120,178, 29,
+121,224,  3, 59,239,144, 36,164, 80,104, 33,104,116,  3,228,193,109,240,  1, 93,144, 58, 45, 36, 33,228,231,160, 83,154,243, 16,
+  8,162, 64,234,161,228, 90, 36,153, 27, 37, 93,200,202,198,228,207,169, 93,242,202,250,152,151,186, 21, 47,214, 75, 94, 90, 30,
+176,144,134,186,233,184,156,173,101,227,108,141, 88,216,240,148, 51, 91, 42, 82,140,168, 36,114, 13,152,189,231, 93,185, 47,180,
+222,147,159, 37, 92,165, 13,134, 18, 24, 19,194,158, 61,175, 85, 70, 11, 40,171, 31, 63,149, 34, 31, 74,211, 88,254,124, 87, 21,
+223,  6,246, 49,217,161,188,174, 57, 77,179,170,246,178, 82,165,158,178, 83,254,249,217,239,207, 22,135,144,242, 94,185,210,236,
+ 20,116,170,202,122,113, 93,229,240,148, 20,169, 10,116,110,148, 42,102,  5,142, 90,213, 72,149, 39,247,170, 64, 15, 33,  7, 40,
+227,124,204, 97, 72, 73,225,139,105, 71,221,154, 43,179,131, 99,173, 24, 10,  6, 85,155, 42,147,169, 82,190,105,119, 62, 32,203,
+ 14, 61,197,204,160,244, 73, 16, 69, 42,103,135,196,249,128,149,121, 42,180, 41,225, 98, 96,112, 30, 75, 98,112, 19,125,132, 41,
+ 58, 70,239, 50, 51, 49,206,123, 22,181,183,192,140,215,189,126,227,158,253,152,174, 77, 70, 90,150,255,158,246,123,179,217,210,
+112, 14,148,144,242,167,119,210,250, 37,126,125,236,111,255, 14, 95,254,245, 79, 51, 12,150,126,219, 19,124,196, 59, 79,211, 53,
+ 76,253,196, 52, 58,166,222, 18, 92, 64,146,189,  5,106, 99, 16, 66,178, 90,213,172,155,153, 37, 43, 24,124, 36,146,153,234,110,
+138,217, 35, 71,230, 98,127,227,192,208, 26,141, 42,134, 44,145,108, 24,163, 77,182, 87,157, 51, 26,116, 10,248, 24,209, 50, 63,
+ 15,243, 80, 24, 99, 36,185,192,165,143,120,149, 27,142,205,232, 80, 17, 22, 49, 81,249,192,165,  4, 87, 25,140, 81,168,199, 59,
+212,119, 30,243,238,195, 11, 76,163,185,209,182,180, 49,114,239,114,199,251,103, 61, 23, 86,178,168, 20,199,173,225,184, 51,220,
+ 92,104,188,183, 28,117, 29,186,210,108,206,  7,198, 41,112,255,114,228,209,229,192, 43, 39, 75,188,245,124,250,227,183,248,237,
+207,189, 14, 23,  3,255,254,175, 62,100,125,208,177, 52, 11, 84,165,105,170,138, 86,  9, 94, 57, 92,242,214,221, 27,252,167, 95,
+120,139,255,242,119,191,196, 87,191,240, 26,159,249,248, 29,234, 90, 35,132,160, 15,217,239,122,235,  2, 79,118, 30,239, 35,141,
+ 81, 28, 52,153, 65, 13,249, 51,234,173, 99,176,142, 16,242,120,172,132,100, 55, 57, 30,238,118,156,237, 34, 85,130,173,141, 56,
+239,185,123,208,242, 91,159,127,157,255,225,191,254,  7, 44,239,190,193,191,251,183,255,182, 16,126,179,212, 79, 22, 85,134,136,
+ 69, 87, 94,210,165,196,204, 36,159,252, 15,155, 39, 92,215,125,167, 82,128,  6,151,155,214,113,147,121, 35,118,122,126,113, 14,
+ 97, 95,208,231,137,230,138,157,156,246,190, 14, 63,201,231,253,199,253,204,156,123,208,212,124,246,213, 91,180,135, 29, 47,156,
+ 46,233,186, 10, 86,203,172, 90,146,133,113,108, 12,193, 84, 44, 76,197,171,235,  5, 38,  2,133,215, 96, 68, 86,218,220,159, 70,
+ 46,230,134,196,185,  2,197,143,172,220, 72, 28,123,130,221,226,135,115,154,221, 57,198, 91,222,187,120,200, 71,214,113, 87, 26,
+190, 49,140, 28, 33,121,111,178,  4,239,121, 24, 61,223, 26,122,108,178,121, 42,155,250,204,156, 62,223,101,244,110,126,255,243,
+ 25, 18,158,137, 70,174,202,100,183, 62,134,163, 31,132,194,155,  0,  0, 32,  0, 73, 68, 65, 84, 53, 28,159, 34,143,110,240,169,
+197,  9, 55,186,138,155,221,146, 70, 85, 57,176, 76,230, 97,242,194,122,188,245, 68,153, 93, 50,149,128,133,128, 99,157, 67,173,
+ 84,200, 94, 19,135, 93,102,162, 55, 49, 51,217, 23,193, 99,140,102,165, 27,142, 23, 11,144,146,101, 33,193, 42, 41,104, 85,141,
+ 72, 80, 87,146, 42, 65,101, 20, 11,165,145, 90,228, 60,  5, 41, 48,117, 62,247,189, 82,140,165, 65,119, 74,176, 77,137,203,222,
+ 51,197, 68,111, 45, 65,228,186,161,  5, 68, 12, 40,137,170,107, 66, 18, 40,213, 48,197, 64, 37,  5,131,115, 72,165,168,149,193,
+ 11, 65, 91,213,212, 85,203, 40, 37,169,169,178,203,105, 93,103, 53,146, 49,176, 62,202,223,183, 75,100,187,226,173,122,193,186,
+ 94,209,180, 29,219,144, 56,238, 58, 90, 33, 16, 73,112, 25, 10,242, 58,175, 52, 68, 78,118, 76, 49, 92,  5, 11, 45,116,150,194,
+202, 20, 73, 59,187, 63,136,230,251, 57,165,125,140, 43,169,144,250,124,174, 15, 59, 91, 92, 61,103,155,103, 81, 86, 87,133,141,
+111,228,222, 91,106,230,109, 85, 38, 31,128, 46,236,229,199, 74,229,123,165,106,242,179,217, 84, 25,161,240, 49, 63,123, 34,223,
+ 51,191,152,162, 62,143, 88, 38, 91,243, 37, 32,181, 21, 62,164, 76,134,210, 85, 94,139,  5, 80, 74,224, 99, 68,146,168,171,  6,
+ 31,236, 85,252,222,228,125,254, 12,133,192,249,156,195, 27, 72,216, 16,104,170, 66, 34,136, 10,211,106, 22,  8,208, 26,149, 18,
+ 90,230,110, 41,  1, 21,130, 65,100, 73,205, 38,229, 41, 51, 10,153,181,232, 49,224, 93,204,156, 50, 37,  8, 62, 23,251, 33,120,
+ 92,202,204,236, 24, 35, 99,132, 62,120,250, 24, 72,200,204,240, 14,190,  4,  8,148, 64, 27, 93,244,145,136,124, 97,230,216,200,
+196, 62,141, 71,138,167,243, 37,174, 23,247, 90,229,238,114,198,219,102, 59, 80, 37, 11, 73,162,252,172, 86,191, 56,  9,220, 79,
+241,245,123,127,231,107,220,122,241,  6,155,203,158,224, 34,218, 24,172,245, 52,139, 54, 91,194,198,136,148, 26,163,107, 86,171,
+ 21, 74, 74,218,186, 97,189,236,184,115,210,178, 48, 38,135,163,196,196, 16, 34, 46,101,103,169,152, 50,193,173, 81,130,195,133,
+230,164, 53, 40,169,136, 66, 32,149, 40,  9,158,217,182,210, 40, 65,109,  4, 38, 69,142,141, 32,200,132,  8,137, 74, 68, 84, 12,
+ 57,207, 33, 70,106,239,241,201,179,180,129, 42, 37, 86, 62,178,178,129,122, 10, 36, 45,216, 26,201,129, 79,172,133,196,104,193,
+163,221, 64,255,193,  5,239,221, 59,103,221, 26, 94, 92,118,124,108,189,160,157, 50, 81,208, 40,137,140,  5,  1,104, 20,214, 58,
+ 46,118, 19, 39,109,205, 43, 71, 29,111,127,120,201,232,  2,219,205, 72,229, 28,255,201,167,238,242,189,139,158,155, 55,151,252,
+222,151,223,228,226,252,146,127,253,103,239,240,192, 79, 60,217,246,120,225,120,235,206, 11,124,254,179,111,242,213, 47,125,146,
+ 47,127,238, 85, 78,215, 29, 66,230, 93,231,110,242, 92,236, 60,247, 46, 44,151, 59,203,131,139,137,243,222, 18, 98,160,149,176,
+ 16,  2,227, 97, 59,121, 54,193,211, 79, 62,251,229, 91,207,163,221,196,102,240,172, 42, 73,140,145,135,155,129,179,222, 49, 89,
+135,179, 14,225, 60, 10,201,209,170,227, 51,175,223,229,229, 47,124,133,255,251,255,248,215, 57,175,161, 28, 44,210, 95,147,137,
+ 69,143,  8,165,224, 56,255,163,221,144,174,242,  2,124, 46,252, 70,102,  8, 81,201, 61,153,237, 39, 17,110,175,249, 84, 92, 65,
+168,241,167, 40,234, 63,145,246,155,189,215,213,114,193,209, 65, 75,187,234,184,112,  9,173,107,182, 33, 97,141,202,197,113, 54,
+172,215,138,187, 77,197, 82, 27, 42,165, 56, 82,134,148, 34, 75, 89,241,176, 31, 80, 82,241,161,183,249,144,181,  3,244,151,240,
+248,156,203,243, 39, 12,110,100,229,123,118,195, 37, 38, 78,124,227,236, 35, 30,110,206, 73,211,192,125, 63,177, 19,130,247,188,
+231,108,220,113, 47, 10, 30, 57,139,157,118,197, 83, 98,200,126,226,219,146,190,214,247,123,  9,148, 81,121,106, 83, 69, 69, 80,
+155, 44,169,171, 91,184,125,  2,135, 43, 56, 92, 67,183, 34,  9,201,177, 50,124,108,181,200, 86,195, 82, 81, 25,147,215,137,214,
+211,187, 28,103,172,188,167, 22,146, 78, 42,150,149, 34,166, 68, 39, 18, 49,101,237,183, 77,145,198,123, 52,130,131,  4,147,115,
+172,148,230,176, 91, 16,165,164,107, 27, 84,101,168, 84, 38, 58,107,153,155,111, 33,  4,203,202,228,140,117,173,104,164, 70,182,
+ 21,210, 40, 82, 37,241, 90, 19, 73,104, 33,184,  0, 54, 36,198, 20,185,191,205,  6, 95, 83,185,222, 14,149, 45, 99,  5,  4,109,
+202,252,148, 77,196,162,128,139, 24, 72, 66, 99,147, 66, 74, 69,212, 53,171,170,195, 55, 29, 72,141, 93, 28,146,154, 85, 38,149,
+181, 11, 88,173,203,212,190,  0,221,241,114,187,228,160,238,216,121,139, 87,154,133,214, 12, 49,224,131,167, 82,146,179,164,114,
+ 79, 37,184, 82,103,164, 82,156, 59, 37,145,222, 49,140,142,  3,  2,227,197,112,141, 63,146,246,  5,125,230, 89,205, 77,239, 60,
+237, 79, 37,  5,212,239, 19,  8,111,221, 57, 96,183, 29,185, 50,194, 87, 50, 15,139,241, 90,252,175,187,214,252, 94, 95, 51, 24,
+189,207, 91,160,112, 96, 22, 93,177,204,205,218,251, 95, 92, 81,191,218,131,101, 61,168, 77,138,182,109,104,141, 97,  8,174,176,
+210,179, 49,136, 80, 57,116, 37, 38,143,245, 46,203, 39, 84,254,164,146,144,196,148, 99,247,108, 76,164, 36, 72, 82, 17, 98,202,
+ 19,161, 84,116, 70,210,  8,129, 12,  1, 76,246,240,110,133, 32, 37,129, 18,137,209, 69,108,138, 36, 31,176,193,102,233, 84,200,
+ 12, 76, 31,  2,155,209, 34,101, 78,104, 27,125,222, 51,217, 16, 17,161,192, 61,209, 35, 82,214,173,167,232,114,184,203,149,193,
+198,124, 65,253,222,  9,104,198,153, 99,186,182,159,190,214,149,137,107,197,125,142,168, 20,229,130,151,192,135,156,223, 91, 96,
+200,182, 45, 17,128, 41, 67, 53,146, 31,195,120, 44,196, 12,253,243, 64,248, 58,235,111, 77,115,229,189,253,181,255,226, 63, 67,
+104,201,246, 98,160,238, 26,148, 86,  8, 33,177,195,132,115, 33,239,193,155,134,227,163, 53, 70, 85,156, 28,175, 57, 62,104,185,
+113,220,114,212, 84,104,157,229, 44, 83,204,122,241,236,230, 38, 48,228,130,189,106, 53,141,201,112,116, 16, 18, 49,127,160, 69,
+  2, 74, 74,212,  2, 14,  4, 24, 18, 50,  9, 68,  8,136,224,145, 49,178,142,145,161, 36, 61,109,198,128, 72,145, 49,  6,156,207,
+ 28,137,218,122,  6, 34,113, 81,243,242, 54,240,250, 31, 93,112,120,182, 99,167, 34, 27,231,  9, 49,114,107,107, 57,254,104,200,
+ 65, 24,117, 69, 28, 29,195,251, 79,232, 14, 52, 71,171,134,203,126,100,107,  3, 90,  8, 30,109, 50, 83,255,243,183, 14,185, 85,
+ 73,254,224,155,223, 39,  4,203,189,203, 29, 34, 73,150, 46,241,237,203,158,117, 91,241,198,199, 95,230,226,209,  5,183,151, 43,
+222,122,233, 22,191,249, 43,159,230, 63,254,205, 55,249,181, 55, 95,224,230,170,131, 36,152,166, 64, 63, 69,156, 13,140,147, 99,
+180,129, 20,178, 83,225, 16, 60,126,242, 56,235, 24,156, 37,216,128,247,158, 71,195,196,229,104, 11, 63, 33,225, 98,164,119,142,
+ 77,111, 73,  2,148,150, 37,250,118, 71,163,225, 80, 42,154,224,233,148,194, 40,133,208,154,151,111,173,248,242,239,124,149,237,
+110,199, 15,190,247,  1,194,231, 92,172,235,155,244, 31,245,253,243, 21, 23,215, 38,240,103, 85, 24, 63, 81, 57,119, 45,128,229,
+ 42,112, 35,253,252, 50,207,217,202,117,177,128,131, 37, 31,191,177, 36,162, 89, 87,154,182,170,232, 42, 73,139, 68,213,134,157,
+115,133,160,151,145, 49,175, 21,183,140,226, 86, 85, 51,248,145, 86,106, 82, 10, 36, 60,223,239, 71,150,227,150,203,190,135,205,
+  6, 30,239,224,209,  6, 46, 31,227, 54, 61,103,147,229,113,140,124,184, 27,153, 66, 36, 93,108,243, 52,223,181,123,244,161, 50,
+153,103,144,138,202, 68,170,252,188,121, 91,224,221, 25,237,112,208, 28, 66,187,132,163,195,188, 46,168,107, 88,175,243,254,125,
+181,200,103, 64,215,128, 94,102,  7, 77,211,240,235, 77,131, 17,137,174,170,  8, 49, 15, 66,186,100,109, 92,140, 19, 38,129, 73,
+ 17, 35,  4, 77,165, 88,215, 21,150, 68,240,145, 74,148,224,197,157,167,213,  2,124,192, 72,168,124,160,173, 27,124,140, 44, 22,
+ 11, 26,163, 80,218, 96,140,201,  4, 89, 45,105,140, 42,214,177, 53, 85,211, 32,181,193, 52, 21,178,169, 16,198,100,  8, 92,101,
+165,209, 89, 12,184,144,232,173,231,113,  8,236, 92,150, 59, 63,112, 14,139, 32,  9,149,179, 61,100,102,187,123, 33,139,195,181,
+160, 23,134, 90, 72, 62,112,158,195,170, 35,153,154, 74, 43,164, 89, 80,235,134,180, 56, 96, 68, 33,164, 38, 84, 93,254,108,139,
+179, 31, 72,100,221,240,153,170, 34, 36, 56,104,187, 43, 41,172, 18,130,133,105, 48, 82,224,189, 99, 19, 11,193,115,174,238,222,
+194,228,112,211, 68,232, 51,129,111, 58,223,228, 85,211, 60,160,165,107,  3,109,145, 86,103,114,231,108, 21,158,246,202, 13, 55,
+101,116,119,242,248, 85,151,249, 72,115,162, 91, 44,240,123,242,123,191, 16,165,158, 94, 73,205, 69,221, 22,146,156, 42,197,104,
+134,252,117,169,  3,222,255,130,139,250, 92,204, 38, 11, 50, 49,104,141,151,  2, 31, 66, 86, 10, 72, 67, 72,158,209,251, 60,173,
+120, 95, 82,180,114, 34, 90, 18,185,152,251,152,161,216, 84,138,101,144, 32, 16,196, 20,105,180,161, 13, 25, 82,234,148,194, 59,
+143, 16,130,152,242,  4,226,125, 44,196, 55,207, 48,141,140, 49,225, 93, 62, 52, 61, 48,186,  9, 37,  2,214,193, 16,  3, 82,  8,
+108,  0, 79,160, 18,121,114,151,222,210, 17,209,  8,130,119,212,  9,172,205,136, 66,110, 39, 75,103,230, 66,129,212,195,190,235,
+154, 97, 51,113, 45, 88,226,122, 65,159,255, 93,138,124,193,107,185, 15, 25, 80,133,229,232,109,134,142,116,185,168,243,206,164,
+ 49,207, 88, 10,234,171,154,158,  9, 53,146,159,201,111,182, 91,192,114,149, 15,143,148,192, 77,124,237,247,255, 46,253,206,102,
+ 21, 64,109,176, 83, 64, 72, 73,240,158,232,114,188,224,173, 27,167, 28, 45, 23, 32, 36,181,210, 28,175, 26,142, 22,217,163, 64,
+ 75,145, 45,100, 67, 42, 62, 15,146, 74,100, 55,191,202,100,243, 24, 83, 75,100, 97,156,202,236,239,154,247,197, 36, 38,151, 57,
+ 21,146,132, 73,137,206,  7,142,125, 98, 25, 18,139,201,115, 18,  4, 75, 23,168, 99, 96, 51, 57, 84,130,203,193,131, 11, 12, 17,
+132, 79, 28,104,197, 99,  5,175,254,233, 71,164,119, 62, 32, 61,186,100,249,161,101, 57, 70,170, 23, 14,168,180,194,125,240, 17,
+219,179,115,158, 92,230, 29,109,244,145,135, 15,119,232,206,224,132,224,114,152, 72, 82,113, 99,221,177,181,158, 15,183, 61,175,
+ 31, 29,240,205,123, 27, 30, 93, 92,162,128,239,124,248,128, 11,167,121,247,254,  5,231, 54,145,132,224,213, 87,238,240,210, 43,
+183,249,213,207,190,202,167, 63,118,147,174,170,152, 92, 96, 24,  3,206,229,149,210,224, 60, 23,125,158,206,157,205, 28,129, 80,
+154, 67, 81,228,142,227,232,184,247,100,203,131,221,200,163,126, 98,179,243, 76, 33,100,251,219,152,145, 54,153, 34,206,  5,162,
+144,140,219,137,237,110, 96,165, 53,119, 14, 22,172,201,104,198, 52,121, 62, 60,159,184,152, 38, 94,191,181,230,247,127,251,215,
+249,222,253,  7,188,253,237,119,178,154,228, 57,178,119,241,203,132,130,174,187,161,205,171,167,249,217,248,121,215, 79, 77,149,
+167,178,131,108, 10,115,171,174,185,177,170,168,181,206,121,246, 69, 95, 29, 16, 60,158, 66, 41,232,249,254, 27,164,224, 99,149,
+100,231, 29, 85, 76, 12, 33, 16,237,136, 14,  1,227,  7,190,123,185,195, 61,185,132,179,115,216, 60,129, 48,229, 52, 53,173,114,
+243, 61, 31,172,162,192,160,155,190,132, 93, 85,249,161, 44,169, 84, 82,107,126,115,177, 98,155, 18, 95,170, 42,156,243,  8,165,
+153,250, 77,110,102, 78, 78,120,241,246, 33, 39,183,142,145, 93,205, 96,170, 60,129,181, 85,254,187,148, 44,251,213, 61, 84,155,
+164, 66, 41, 56,169, 52, 85,242, 57, 51,193, 77,140, 62,177,115,  3,219,209,103,211, 72,145, 72, 81,176,104,154,220,115,104,129,
+141, 89, 11, 48, 12,129,147,165,102,112,145,165,214,  8, 59,161,154,  6, 63, 77, 44,154, 54,123,177, 87, 53, 93,173, 73, 82, 81,
+ 27,133, 80, 58,171, 91,218,  6,105, 12, 81, 74,218,166, 98,170, 12,162,210,168, 90, 19,106,149,157, 69,203, 78,124, 32, 48,  2,
+143,167,137,  9,199,217,148,159, 23, 43, 53,136, 64, 37, 43,134,152,245,239,173,  4, 41, 13,145, 72,171, 20, 59,159, 56, 53,154,
+  3,221,208, 72, 69, 83,119, 12, 50,175,  2,164, 54, 28, 40,197, 67, 83,151,122,124,109,178,141,129,207,180, 29, 86, 73, 86, 34,
+195,236,139,148,104,234, 58,187,144,138,132, 50,  6, 67,228,195,105, 44,133,215,102, 37,152,117, 89,129,209,143, 48,218, 76, 12,
+ 29,124, 57,223,217, 75,129,139, 12,143, 68,254,239,178, 52,153,221,236, 47, 47,178,122, 99, 28, 96, 24,192, 91,194, 69,159, 51,
+ 68, 76,189,223,151,207,158, 10,243,148,159, 10,140, 47,197,222,  6,151, 18,202, 53, 79,234, 85, 65,114,103, 71, 80,  5,  8,245,
+ 75, 40,234,209, 23,230, 97,222, 27,219,161, 39,182, 13, 90,104,158,216,129, 86,231, 28, 93,102,242, 67,202, 89,233, 46,230,253,
+121,150,209,150, 32,  0, 41,  9,178, 28,248, 34,187, 18, 69, 34, 11, 99,184, 41,  5,143, 98,164, 65, 34, 82,202,150,130,228,152,
+214,157,181, 88,239,177,206,177,179, 19,194,123,122,239,136, 33, 19,191, 54,118, 32, 18, 11,105, 61, 91, 20,202, 20, 17, 30, 66,
+176, 28,214,130,228,  5,135,194,209,137, 72,229, 61,235,152,144,118,202,121, 46,209,102, 70,163, 47,228,136, 57, 96, 32, 81,164,
+ 10, 51,177, 70,238, 33,120,173,247, 63, 35, 69,134,243,107,147,117,149,226, 26,  4, 32,114, 72, 66,254,115,133, 16, 65,164,132,
+126,231, 31,187,154,216,229,190,160, 95,  5,194,252, 12,135,162,187,182,191,219,110, 88,254,230, 87,248,173, 95,253, 20,211, 84,
+ 26,165, 72, 78,175,139,  9,103,  3,222, 71,186,110,201,205,227, 53,151,151,  3, 50,  9, 42,165, 88,116, 21,149,222, 79, 95,214,
+103,216,125, 62,183,179,199,135,162,109,178,212, 76, 23,159,  1,163,115,122, 91, 61,183, 40,  9,132, 72, 84, 36, 84,140, 28, 68,
+208, 46,230,136, 99, 23,168,166, 68,114,158,122, 12,172,166,200, 98,242, 76,187,  9, 61, 56,  6,231, 25,  1, 55, 57,110, 28,117,
+124,253,157, 71,188,251,253,239,243,231,246,130,182,223,241, 82, 92,113, 28, 87, 28, 76,129,111,159, 63,225,255,217,158,243,225,
+176,225,242,114,195,  7, 83,228,206,122,201,147,222, 17,158,244,200, 16,185,148,176,176,158, 79, 28,173, 56,168, 53,105,242,124,
+253,124, 71,136,154,203,139, 77,118, 40, 12, 30,107, 61, 47,156,158,114,118,185,161, 94, 53,124,252,238,154, 59,167, 43,214,109,
+110,192,108,136, 88, 27,113, 33,146, 68,194, 58,207,118, 59,114,177,181,196, 34,217,105,107,197,232, 34,219, 97, 98, 24, 61, 46,
+ 70, 38, 27,184,236, 71,250,193, 50,140, 14, 27, 60, 42,102, 88, 82,136, 50,  5,250,148, 85, 28, 49,209,239, 38,166,237,200,170,
+173,185,209, 85,244,143,243,251,120,114,185,227, 79,223,190,207,163,135, 27, 38, 41,120,243,238, 17, 95,248,194,103,121,231,236,
+  9, 63,248,222,219,136, 57,123, 69,254,255, 80,216,159, 53,140, 17,207,176,238,127,214,194, 62, 79,232,166,206, 26,126,165,161,
+ 53,220,237,106,148,146, 68,  4, 83,140,217,207,  2, 65,239,  3,103,214,239,137, 76,101,189,117,146, 18,107,145,112,193,179,136,
+ 14, 25, 61,182,223, 16,237,196, 55, 63,186,128,199,143,114,198,249, 52,238,181,200,170,104,203,231,221,231, 48,230,130,222,111,
+178,147, 85, 91,231,102,220, 84,252,206,193, 33,159,172, 58, 34,130,183,180, 66, 39,193,139,109,205,203,  6,206,124,100,168,  5,
+111, 28, 29,240,202,241, 33, 90,183, 84,218,240,164,202,137,101, 68,177,255,156,230,231, 95, 23,167, 61, 45, 24, 99,228,118, 76,
+172, 68,222,211, 39, 34,163, 29, 56,219, 78, 57,  2,181,236,133,181,202,136,155, 49, 21, 19,226, 42, 64,175,109,  4,155, 62,176,
+ 48, 18, 93,138,100,180,142,186,174,  8, 74, 32,170, 10, 37,  4, 65,107,164,201, 49,194,149, 81,200, 69,131,172, 12, 65, 27, 82,
+ 91,227,180,194, 40,137,109, 12, 67,202,205,250,133, 20,108,124,100, 72,145, 71, 62, 49, 88,143, 87,176, 29, 97, 23,  3,151, 66,
+ 18, 98, 78, 95,211, 66, 80,149,200,237, 24, 19,181, 42,225, 45, 49, 51,172,106, 99,168, 83,162,170, 13,222,122, 78,234,138, 42,
+194, 11,181,225,  8,193,155, 50,113, 39, 56, 78,149,100, 45,  5,189,119, 56, 93, 17,195,196, 18, 65, 37, 52,173, 16,140, 34, 81,
+ 33,139,181,109, 34, 12,  3,223,158,118,244,187,203, 76, 94,180, 54,255, 26,134, 34,207,140,123,185, 89,165,242,112, 61,  7,192,
+204, 82,184,201,231, 41,124,217,148, 28,  4,149, 73, 13, 90,149,123, 62,229, 51, 61,204,107,166,144,173,100, 43,246,238,135, 49,
+230,154, 50,115, 77,124,220, 35,186, 54, 94, 65,247,121,184, 83,249,204, 15,215,184, 40, 74, 92,237,222,127,  9,147,122,121,129,
+174, 64,241,210, 16,140, 98, 23, 45, 70,228,160, 22, 67,246,130, 31,131, 67,201, 66,164, 74, 30, 33,114,196, 94,109, 12,158, 28,
+143, 55, 69,135, 20,  2,147,189,152, 56,109, 43,106, 41,217,133,136,241, 33,195,243, 49,129,119,164, 16,233,125,118, 43,147, 68,
+ 30,122,203,100,  7,156,207,233, 95,147,183,  4, 63,162,133, 96,176, 22,165, 42, 52, 46, 71,112,134,188,244,111,107,133,242,129,
+  3,149,243,126,187,224, 57,210,138, 83,  2, 47, 74,201, 82,  6,238,187,140, 44,228,  2, 91,118, 33,178, 92,120,161, 74, 22,178,
+216, 67, 52,130, 43,136,249,106, 82,159,245,238,243,142,189, 18,101, 98, 79,217, 34, 51,228,169,248,138, 84, 49,195, 49,110,182,
+ 69,140,251,162,222,204,122,201, 31,  1, 95, 54,101, 39,167,170,103,124,195, 99,238, 78,167,  1,136,188,240,201, 55,249,213,207,
+189,145,185,  5,228,233,220,187,148,239,237,201, 19, 92,228, 96,217, 33,181, 70, 75, 69,215, 85,156, 28,118, 28, 53,154, 69, 49,
+ 86,240, 62, 50,134,136,247,137, 24, 18,181, 18, 28,180,134, 69,163,203,208,146, 89,234,137, 68, 42,  5, 74, 20, 34,180, 22,130,
+138,196, 65, 72, 84, 33, 82,249, 68,116, 30, 19,161,241,137,106,138,132,148, 48, 54, 80,  5,193,194, 69,236,229,128,159, 44,155,
+113, 66,251, 64, 60, 90, 48,164,200,159,252,225,215,249,232,222, 35,126, 48,246,124,119,154, 88,250,115, 78, 82, 98,225, 26, 22,
+182,231, 27,118,203,219,195,150,209, 59, 90, 37,114,248,207,232, 57,117,137, 35, 99,184,115,216,162,106,201,106,200, 17,195,109,
+109,208,222, 99,181,192,138,  6, 59, 12, 60,217,230,164,192,143,127,226, 46,175,188,122,194,205,227,  5,139,218,228,  9, 37, 68,
+ 38, 23,176, 62,146, 66, 64, 41, 65,112, 41, 31,178, 49,225, 93,206, 60, 88,180,154,182, 49, 89, 46, 84,154, 64,161,  4, 82,  8,
+164,204,100, 78,161, 37, 74,  8,142, 14, 91,140,204, 76,246,101, 83,177,236, 12, 74, 72, 46,118,142,237,110, 32, 88,199,199,142,
+ 86, 52, 66, 50,158,239,104,140,224,219,247, 47,121,251,254,  3,108,121, 61, 30,137,233, 42,190,242,197,207,240,254,163, 39,188,
+243,246, 59, 63, 84,208,127,121, 83,250, 51,127,145, 42,178, 80,193,207, 94,216,103,189,122,183,202,240,116, 85, 28,224,148,230,
+102, 91,209, 41, 73, 37,  4,145,148,  3,157, 82,226,193,232,185,152, 27,234,170,200,222, 82, 66,198, 68,149, 28,167, 74, 96,199,
+137, 46, 38,  6,231,249,223,191,123, 31,206, 31,237,245,199,179,182,127, 38, 23,150,184,103,198, 18,248, 49,108,243,255, 51,148,
+ 52,186,245, 33,111,173, 79,136,194,240,226,162, 70,167, 72,146,134,166,110, 89,152,196,102,130,117, 85,113, 88, 41,222, 88, 45,
+ 57,110, 23, 28,106,205, 73,211,112,223,  6,122,202,144, 48, 67,176, 51,  3, 58,132,220, 68, 12, 61,182,239,217,248,158,247, 54,
+143, 89,226,120, 50, 90, 54, 46,177, 75,  2, 23,178,140,152, 36,145, 73, 16,164,162, 50, 26, 33, 53, 70, 81,162,172,  5,210, 64,
+ 35,178, 83,227, 36, 36,161,172,109,186,186, 70,154, 26,154, 26,165, 20, 65, 74,124, 93, 97,171, 12,195, 39,165,241,203, 38,219,
+ 17, 24,197,164, 21, 35,145, 73,  8, 54, 33, 50,  6,207, 37,137, 15,139,187,231, 35, 18,219,  9,  6, 59,241, 40,  9,100,176,140,
+ 54,114, 88,235, 98, 50, 37,209, 66,208,201,172, 78, 74, 49,225,129, 70, 40, 86, 82,228,248, 12,  1,134, 44,109,238,164,160, 53,
+130, 90,  4,166,  0,  7, 58, 80,197,200,218, 79,220, 82,134,147,232, 89,  0, 55,147,224, 72,100, 23,184,149, 84, 52,  9, 68,242,
+ 28, 86, 42,167,114,110,206,121, 24, 38,164,247,164,217,131,221, 23,178,104, 40, 59,241,121,205,170,138,110,221, 21, 20,198, 22,
+146,105,125, 45, 33,110,142, 37,158, 83,212,196,108, 97,107,138,148, 45,101, 36, 32,165,140,188,136,194,199,210,133,217, 78,225,
+ 86, 12,197,219,100, 30,228,102, 78,151,143, 25,225, 85,  5,  5, 16,242,169,200,237, 95, 78, 81,191,218,177,205,145,136,249, 67,
+177, 90, 48, 17,152,130, 71, 81, 58,187, 16, 73,228,195, 58,196,108, 19,104, 67, 64, 25,195,224, 44, 70, 27, 36,138, 49,120, 42,
+ 45, 88,104,133,145,154, 24,  2, 90, 40, 38, 63,230, 32,151, 16,232,157,167, 34, 34, 99,226,131,221, 57, 83,244,164, 40,232,221,
+142,157,243, 36, 17,168, 35,140,193, 19, 66, 36,122,139, 18,130, 42,  6, 42, 34, 73, 68, 26, 31,104,133,164,177, 19,173,144,172,
+132,100,233, 39, 14,148,196, 36,184,237, 35, 15, 35,108, 66,122, 58, 87,189, 47,145,172, 46,114, 69,163,116, 37,206, 79,138,167,
+ 13,253,231, 29,251, 12, 21, 93,143,  5,156, 97, 60,165,242,133, 27,167,156,210, 21,203,254,125,150,188,204,100,166,166,  2,189,
+200, 55,198,243,100,137,186,184,103, 41,145,161,160,107,210,135,103,191,190,242,213,175,240,137, 79,190,140,115, 30,103,195, 21,
+146, 49,237, 38,236,232,105,154,138,151,111,157,102, 50,142,209,172,219,134, 27,135, 45,203,198,228,200, 85, 33, 25,125,192,167,
+ 68,163,  5,198, 72,106, 45,105,180,202, 69,173,120,236,199,226,207, 30, 82, 38,212,205,156,  4,145, 18,186,152,101,132, 24,145,
+206,103, 93,108,140,212, 67, 36,141,158, 48, 89,170,222, 35, 54, 22, 51, 68,218,221,132, 25,  6, 46,157,229,116,217,146,110, 29,
+240,231,127,241, 54, 15,254,234, 67, 54,187,145,  7, 33,178,182,129,255,115, 24,249, 87,219,135,124,142,137,151,150, 47,241,107,
+171, 83,110,121, 71,140,158,101, 63, 34, 71,207,105, 76, 44,235,154, 87, 63,113,135,218,200,236, 53, 52,  6,134, 40, 16,173,161,
+ 94,183,156, 46, 27,110, 31, 53,188,250,210, 77,236,164, 88, 28, 29,240,242,171,167,188,112, 99,197,113,151, 49,135,221,232,152,
+108, 96, 51, 76,108,139,115, 30, 62,102,  4,195, 23, 87, 44, 41, 88, 46, 42,150, 93,195,106, 81,179,236, 42,150,181,193,212, 58,
+255,188, 72, 24,163,168,107, 67,221, 24, 14, 15, 90, 94, 56, 94,160,181,198,249,196, 65,171, 81, 82, 18,  4,156,157,109,153,134,
+137,197,178,229,215, 94,185,137, 74,129,113,176,140,214,241,205,  7,231,108,199,158,139,237, 37,253,206, 34,162, 33,136,192,139,
+183, 14,249,244, 91,111,241,191,253, 47,255, 34, 67,185, 60,237, 33,195, 53,250,200, 47,244, 76,144,215,238,249,171,221,100,250,
+233, 25,238,186, 16,226, 22, 93, 38, 70, 45,234,188, 62,146, 34,203, 35,  4,156, 84,146, 70,107,180,202, 25,  2,147,119, 60,153,
+ 60,239, 88,155,243,176, 67,200,242, 84, 37,192, 59, 46,173,229,174,145,220,219,245, 40,231,248,112,179,229, 59,143, 47,185, 56,
+219,228, 61,167, 20,185,160, 63,203, 25,240, 62, 79,116, 67,159,201,110,206,239,223, 99,183,132,163, 19, 42,165,121,171,109,144,
+ 85, 69, 72,134,182, 85, 76, 46,241,104,242,116, 74,208, 39,184, 89, 25,142,234, 26, 41,178,198,220,199,192,221,166,226,219,219,
+205,222,247, 34,148,215,221, 15, 25,254,223,141,249,239,222,245,236,166, 29,231,214,241, 97,138, 60,118, 22,155,  4, 74, 42,148,
+144, 24,165, 72, 49,161,148, 65, 10,205,132,160, 85, 50,  7,181,104,197, 20, 35,203, 90,226, 35,180,181,102,244,129,182, 50, 36,
+153,243, 43,188,148,  8,173, 24,148,194,214,  6,140,194,105,201, 84, 12,166,166, 36,178,126,187,220,179, 81, 42, 70,145,232, 37,
+156, 91,201, 35,151,232, 93, 96,227, 19,187,157,101, 20,137, 29,  2,239, 45, 42,122,106,153,153,226, 41, 38,100,242, 36,165, 72,
+ 33, 34,136, 36,231,137, 49, 81, 37, 79, 10,137,174,201,180,254,101,107, 48,209,161, 91,141,  8,  1,165, 36, 43, 63, 50,197,136,
+  9, 14, 41, 43, 12, 35, 11, 17,208, 41, 33,  9, 24,169, 57, 81,137, 24, 45,210, 91,214,149,198,184,137,237,238, 17,219, 97,226,
+141,174,226, 52,194,199, 14, 22, 52, 82,179, 90,180,152,186,161,151,197,  9,116,206, 68,143,177, 16,158, 51,  7, 33, 59,195,145,
+207,254,144,138,107, 99,249,185,121,186,118,110, 47,225,148,101,152,107,187,  2,223,135, 18,215,170,247,205,102,136,185, 89,104,
+179,185, 87,110,234,102, 20,188,172,122,221,236,198, 88, 76,118,230,181,112,226,151, 88,212,103,239, 92,101, 50,100,165, 51, 29,
+ 63, 33,136, 90,177, 11, 57, 33,104,231, 45,187,224,168, 11,148, 97, 99,200, 19, 11, 96,180, 33,164, 64, 18,217,110, 84,  8, 67,
+ 27,  1, 17,104,165,100,240, 83,142,147, 37, 96, 39, 75, 45, 37,113,154,120,108, 71,124,140, 60, 25,119,132, 24,  8, 62, 18,131,
+163, 70, 50,133, 60, 41,117, 66,144,130, 43, 68, 45, 80,193, 97, 66,164,142,158, 54,122,140,144,116,222, 35,162,163, 81,138, 38,
+ 70, 66,138, 52, 74,241, 58,  9, 47,  2,247, 41,172, 69,235,179, 67,148,203,157,255,213,105, 40, 10,185,221, 22, 24,231, 58,185,
+  2,114,199, 55,107,117,103, 24,134, 82,208, 99,129,244,187,106,239, 53, 28, 75, 19,225,228,149,124,  1, 89, 18,133, 92,137,250,
+123,222, 65, 42,234,124, 19,142, 33,147, 65,126,196,215, 87,190,246,219,220,190,115, 74, 72,137,105,242, 72,173,114,156,234,228,
+ 73, 17, 94,188,123, 11,211,214,184, 40, 80, 82,114,235,112,193, 65,103,168,180, 70, 25, 93, 44, 99,243,155,175,  5,104,153,173,
+ 98,141,201, 42,  6, 31, 50,194, 33,201, 33, 43,179, 58, 34,250, 76,120,147, 33,171, 34,164, 15, 40,159,144, 62, 34, 99, 36,217,
+ 64,216, 58, 98, 63,145, 98, 36, 61,238, 81,151, 35,141, 75,212, 83,192,244, 61, 43,165, 56,190,125,204,187,222,243,207,255,213,
+ 31, 82, 77,129,197, 24, 24,183,150,205, 54,176, 14,137,175,  4,205,215,197,200,203,227, 64,167, 43,110, 45, 78,120,109,117,204,
+189,221, 57,239,143, 27,150, 49, 49, 34, 88, 13, 96,146,100,177,108, 57,124,229, 20, 35,178,150,250, 34,134, 76,222,116, 17,173,
+ 18, 47,220, 61,228,213, 87,110,241,226,141, 37,181, 82,217, 29,213,121,206, 46, 39, 98,140, 89,122, 86, 24,150, 62,100, 59,219,
+ 24,178,245,237,162, 49, 28, 29, 52, 44, 23, 13,139,174, 66,203,108,247, 89,107, 81,162, 40,115, 81,151,  5,213,104, 42,195, 65,
+219,228,117,145,115,220,174, 43, 86, 81,162,109,228,133, 69,195,127,244,218,109, 62,251,194, 17,211,100,209, 34,113, 57,120,254,
+226,131, 71,124,251,163,119,217,108,123,222,184,241,  2,127,247,243,111,178, 17,112,118,177, 99,181,106, 57, 58,232,248,239,254,
+254,239,241, 63,255,175,255,226, 74,158,155,126,217,211,250, 92,244,230,102,119,110,116,159,149,193, 61,175,168,107,160,106, 88,
+ 31,174,160,109, 81,181, 65,181, 53, 65, 23,143,136,178, 82, 58,139,154, 70, 75, 54, 46, 63, 95, 46,122, 38,155,232, 73, 76, 59,
+187,223, 80,217,144, 97, 83, 27,248,224,114,224,254,227,129,239,159,143,188,255,228,130,139,203, 93,150,246,201, 50,141,205, 46,
+117,206,255,176,253,238, 15,153,232, 40,136,134, 91,183,143,249,237,155,119, 72,186, 35,134,244,255,209,246, 38,191,150,101,215,
+153,223,111, 55,167,185,237,235,227, 69,151, 17,217, 49,147, 20, 51, 37,153,106, 76,169, 40, 74,150, 68, 89,178, 74, 50, 92,  5,
+215,192,240,200,255,131, 97,120,230,145,231,  5, 15, 12,123, 96, 24,112, 21,108,192, 48,224,129, 97,187, 44,168, 76, 74,114, 73,
+ 44, 50, 73,145,148, 72, 38,153,109,244,205,235,110,123,206,238, 61,216,251,190,251, 50,197,164, 26,144,  1,  4,162,121,209,188,
+119,239, 57,103,237,181,214,247,253, 62, 82,  8, 72,213, 34,165,196, 83,226,160,221,154,221, 90,101,123,175, 20,164,224,169,132,
+160, 15,150,153,117,172,186, 46,231,107,172,186,220,157,207,250,172,154, 95,173,243,239, 13,170, 92, 92, 26,133,  9,158,105,219,
+ 34,145,196,148, 24,212, 77, 22,170, 74,157,199,216, 34, 51, 33,188,208,120, 41, 89,198, 60, 13, 90,117,129,118,160,152,245, 30,
+169, 20, 42, 70, 68, 91, 17,139, 69, 25,  9,125,147, 85,233,243, 40,  9, 40,146,172, 48, 73,226,132, 32,216,200, 10, 73, 74, 18,
+ 39, 83, 78,236, 52,121,245,228,188,103, 21, 96,217, 59,140,144,184,  4,206,121,180, 51,116,206, 82,135, 44, 34,139, 41,230,157,
+125,112, 84, 34, 98,173,  5, 34,202, 90,100, 18, 52,210, 81, 37,145, 47, 27,160,138,137, 73, 12,  4,161,168,141,193,120, 75, 74,
+ 48, 20,  2,153, 28,163, 16,152,232,154, 58, 24,110, 84, 13, 35,183,162, 37, 49,244, 22, 29, 44,202,117,216,110,129, 13,142,137,
+132,147,229,138,241,160,166,213, 21,173, 18, 12,181,100, 90, 73,246,154, 58,175,111,154,188, 86,184,188, 78, 55, 40,223,205,179,
+ 59,149,134,108, 35,100,219,120,215,131,223,194,103, 92,204,117,162,109,242,117, 39, 85,174,143,170, 52,134,178,172, 88, 55, 26,
+ 10,227,183,129, 93, 27,140,183, 15,219,213,238,230,112, 92, 93, 33,214,241,211, 46,234,148,253,130,208, 37,231, 86,129,177,229,
+ 96, 35,232,140,  5,157, 71,242,107,219,163,149,198,197,128,172, 52, 34,  9,250,224,137,228, 46,183,213,117, 22,210,  5,207, 88,
+ 39,150, 41,114, 32, 21,214,152,236, 97, 12,145,181, 51,152,232,209,222,176,182,150, 14,232, 76,199, 88,  8,  6, 74,177,180, 61,
+149,212, 52, 66, 32,124,200, 63,166,132,243, 61,  3,149,119, 54, 10,168,131, 99, 15,137, 75,  9, 29, 28, 93,140,244, 62, 49, 70,
+ 82, 87, 13, 85,  8,236,  9,197,169, 12,204,131,202,111, 84, 42,124, 97,159,182, 34,135, 84,146,220,144,121, 68,158,194,214, 68,
+186,185, 24,196,166,187,143, 91,121,189, 16, 91,164,103,218,228, 66,171,242,198, 54,133,153, 93,222,104,177,201,118,239, 63,185,
+187,241, 54,139, 62,194,143,143,246,251,226, 31,254, 46, 85,163,233, 58, 71,138,217, 49,176,188, 88, 17, 34,236, 29,238,241,185,
+215,111,163,165,198,133,132, 78,146,195,253,  1, 90, 72,132,144, 37,218, 54,223,116,141, 18, 12, 90,141, 86,130,186, 42, 59,249,
+144,217,236,214,167,188,103,246,185, 91,143,  5, 42, 35, 67, 64,165,128,176, 30,225,178, 93, 74,184,128, 48,158,212, 57,150,243,
+ 21,189, 11,120,145, 48,179, 37,118,181, 66,122,136,222, 33,131,103, 52,153, 50,120,233,128,239,124,245,187,124,248,205,135,172,
+ 83,160, 78,  2, 29, 35, 79, 86,158,207, 10,197, 43, 85,197,211,149,227,105, 88,163,100, 71,131, 96,111,116,192,117, 52,149,183,
+124, 79,  4,214,109,195,  9,  9,191, 50,236, 92,159, 34,142,198,132,186, 34,145, 80, 38,176, 91, 41,186,121,199,105,128,107,  7,
+ 99,148,206, 94,221,139,206,242,236,124,205,247, 63, 60,163,235, 28,107, 27,112, 54, 79, 37, 82,204,135,154, 16, 50,  1,177,173,
+ 43,166,147,134, 65,157, 15, 68, 66,200,252,241,152, 10,219, 62,146, 95, 21,145, 71,249, 46, 96, 35,216,152,184,247,112, 65,191,
+ 10, 60,120, 48,227,254,189,103,252,249, 95,189,205,  7,207,206,152, 45, 44, 55,119, 26,246,235,154,163,131,  9, 73, 43,126,238,
+238, 17,186,217, 97,247,240, 58,255,209, 47,188,134,214,130,183,159, 93, 32,149,230,217,210,240,221,119, 31,243,243, 47, 93,231,
+248,211, 63,195,159,124,249, 43, 31, 37,204,253, 52, 58,245,143,143,225, 55,202,119,119, 69,107, 18,127,140, 10, 94,106,104,  7,
+ 28,238,143, 24, 13, 90, 68, 91,163,180,194,164,180, 77,136,139,128,204,135,197, 59, 26,166,178,172,209,128,123,157, 35,108,160,
+ 33,155,233,128,119, 89,125,190, 92,100, 63,113,232,242, 56, 93, 52,185, 59, 55, 54,119, 79,222, 95,153,132,233, 43, 10,228, 43,
+157,210,230,254,211, 10, 14,246,184, 51, 29,115,115,239,  0,106,201,163,222,146,170,154,161, 86, 60,178,158, 38, 88,230, 41, 50,
+ 86, 21, 82,  6,234,148,115, 38, 92, 12,136, 96,185, 88,175,248,206,147,115,152,149,207,107, 54,135,110,145,  5, 87, 33, 22,180,
+115, 17,231, 14,244,101,241,181, 34,139,  2,155,170,201,152,101,145,175, 36,165, 42, 66,180, 36, 33, 73, 41,219, 72,173,  7, 71,
+202, 49,213, 94,160, 10, 69,173, 71, 35, 43,129, 81,146, 80, 73, 86,165,128,172,125, 78,157, 11, 85, 69, 36, 97,149,190,  4,  9,
+  7, 33,233,125,190,175, 29, 69, 35, 66,162, 79,130,245,218, 20,109, 84,192, 90,131,242,142,149, 51,168,232, 16,214,100, 26,104,
+138,164,224,209, 41,209,245, 29, 58,  6,170,224,105,132,163,  9, 61, 83, 36, 45, 48,137,121,157, 53, 44,147,189,161,203,147,176,
+ 16, 28,117, 48, 84,206,101,231, 71, 74,244,174,231, 90,138, 56,187,228, 64,106,  6,206,144, 92, 79,116,  6,172, 69,  4,159, 19,
+196,131, 97,119, 48,160, 15,  1, 65, 98,191, 30,208,  5,135,148, 50,195,110,180, 98,160, 21, 39,182,192, 98,184,194, 87, 80,229,
+181, 23,101, 18,170, 84,185,126, 82,158,190,202, 82,120, 59,155, 15, 96,155,105,236,166, 16, 55,162, 68,181,214,219, 76,  3, 91,
+ 82,232, 90,189, 21,202,109,186,243, 77, 96,204,102,220,158,210, 37, 15,109,147, 64,248,211, 45,234,155,229,253,120,148,111,214,
+ 84,226,239, 66,184, 44,108,193,249, 60,122, 39,209,199,252, 66,166,148,195, 86, 98,138, 40, 52, 81, 36,130, 40,191,142, 17,157,
+ 18, 85,  8, 44, 82,162,242, 22, 99,122, 68, 74,248,224,136,165,155,122,102,215,244,222, 50,148, 42,239, 52, 67,100,162, 53,222,
+247,200, 24, 25, 10, 65, 75, 62, 36, 72,  4, 49,120,170, 24,153, 58, 75,171, 27,156,181,232, 24,169,144,232,178,230, 78, 82, 17,
+189,163,115,129, 97, 74,236, 42,197, 66,  9,230,126,227, 83, 44,249,209,193, 21, 53,123,121,179, 93,151, 11,111,111, 74,151,144,
+242, 27,211, 86, 57,150,213,199, 45,102,179,173,202,232,165, 46, 73, 61,165,160, 19, 63,234,133,244, 41,243,228,125,252,123,198,
+113,234, 79, 20,211,253,218,239,253, 22, 90, 75,124,136, 40, 41,177, 54, 98,123, 75,211,182,220,186,117,192,181,241,136,103,179,
+ 14, 25, 97,111, 90,177, 55,200, 33, 60, 82,100, 76,175,146,185,131,175,148, 64, 41,145,193, 41, 34,175, 85, 98,140,  5, 50,147,
+139,151, 40, 86,142,252,251,249, 59, 33, 16,173, 39,244, 22,187,182,152,165,193,251, 64, 90, 91, 22,243, 62,167,231, 89,143,233,
+ 12, 23, 93, 15, 50, 50,235, 23,116,193, 51,216, 25, 83,239, 14,185,241,175,254,146,207,215, 53, 39,115,195,227, 51,195, 13, 39,
+120,147,138,159, 19,138, 87, 15, 70,204,206,123,206, 26,112,195,134,239,164, 53,207, 87,103, 28, 70,201,167,135,183,249, 25, 53,
+228,184, 64,112,118,218,  1,182,179,220,179,150,249,189, 25, 79,223,123,206,243,103,115, 46, 90,201,153, 84,188,122, 56,102,168,
+ 20,203,165,225,100,217,241,100,222,241,248,249, 34,251,133,  3,152,206,227, 66, 44, 70,137,172, 27, 24, 13, 42,118,199,  3,118,
+ 39, 45,131,186, 66, 43, 81,120, 70,145,206,  6, 58,235,233, 92, 22,240, 72,160, 77,208,219,128,183,129,197, 69,207,163,179, 37,
+ 23,179,  5, 15,159, 60,226,237,251,239,115,210,173,161,170,169,135, 19,244,206,136,119,151,150, 71,  1, 78,156,229,157,147, 37,
+ 43,227, 56,239, 60,198,122, 30, 44, 87, 60, 92, 27,144,130,231,103, 43,238,253,224,125,254,234,237,239,112,178,148,168,225,144,
+ 55,126,254, 13,190,246,231, 95,253,177,182, 54,241,147, 44,234,155,130, 30,210,214,  1, 10, 63,158, 42, 87,143,184,125,125,  2,
+170,197, 87, 21,163,182,165, 45,221,146,  9, 27,145,104,  4, 19,105, 98,228, 88,230,195, 98, 68, 18,149, 96,105, 29,235,116,165,
+131, 10, 33,119, 81,253, 42,227,159, 69, 25,159, 59,151,255,157, 13,251, 59,132,143,118,227, 90,110, 39,  3,162,236, 69, 21, 91,
+ 29, 77,165, 96, 56,230,100,103,135, 32, 43,188, 28, 82, 75,149,137,153, 85,205, 52, 37,116, 59,166,151, 31,150,  0,  0, 32,  0,
+ 73, 68, 65, 84, 68, 57,203,154,196,131,213,140,212, 45, 25, 36,203,136,132, 89,175,120,251,249, 41,103, 79,207,225,244, 28,204,
+ 34,143,248,157,223, 38,143,137, 43,150,192,166, 42,124, 11, 73, 40, 73,103, 85, 81,229, 87,178,202, 56,255, 16,208,170,130, 36,
+112, 49,101, 16,151, 20, 68, 45, 25,106,133,208,  2, 47, 65, 10, 73,146,130, 46,  9,180, 86,244, 46,  3, 90,214, 17, 86,101, 28,
+111, 99, 34,181, 13,222,231,189,242,178, 60, 51,214, 34, 15, 31,215, 49,178, 10, 89, 95,227,124, 94, 69,197,126,133, 11,249,192,
+110, 92, 79,109, 13,206, 91,132,144,196,100, 81, 66,162,162,197,251,136,116, 61, 42,  6, 68,232,104,131,167,  1, 92, 48, 76, 19,
+ 88,179,100, 39,102, 58, 95,244, 22,101,215, 40,179, 38,121,135, 54, 29,149,115,  8,111, 17, 49, 48,241,158,224, 61,123, 82,242,
+217,221,107,156, 46,207,105,189,167, 74,130,140,197,202,225,153, 83,221, 32, 82,100, 44, 53,109,193,187,106, 41,177, 49, 80, 41,
+137, 11,  1, 37, 36, 59,117,195,233, 98, 85,130,137, 68, 46,210, 87, 69,151, 27,107,241,230,186, 81,133, 74,103,202,179,190,183,
+ 37,169,176,172, 28,219,122, 27, 10, 22, 92,238,196, 99,216, 10,165, 55,226, 99, 81,158,247,170, 68,105, 27,183, 61, 40,108,198,
+239,136,172,143, 82,250,167, 88,212,181,222, 98,237, 98,202,106,208,210,117, 95, 22,187, 75,225,129, 33,149,194,110, 17,180,149,
+102,237, 93, 73,118,203,129,  3, 74,128,  8, 14, 79, 22,182, 12,100, 66, 57,139, 41,222,192,133, 91,103, 36,108, 76, 92,248, 14,
+235,  3,193, 27,214, 49,112,144,114,172,106,  8,129, 29,161, 72, 49,160,145,168, 80,216,190, 18,140,143,232,  8, 59, 90, 82,187,
+144, 69,166, 41,191,245, 41,  4,156,204,187,238, 20, 34,227,186, 98, 46, 19, 58,229, 16,146, 71,193,103, 62,188,247,219, 44,242,
+ 20, 75,113,247,219,241,  9,105, 11,228, 15, 62,139, 37,172,221, 90, 24, 68, 33,  8,109, 34, 93, 55,227,149, 84, 70,237,227, 97,
+126, 29,155, 58,255, 25,235,254,142,120,223,171,133, 60,254,200,194,254,230,239,255, 30,191,240,139,159,166,183,158, 80,110, 72,
+211, 89,108,239,184,118,243,144,227,221, 49,141, 84, 44, 59,203,238,168,229, 96,212, 50,104,117, 86,189,139, 92,  8,107, 41,242,
+186, 73, 10,116,233, 16,124,200,  5, 93,144, 49,167,174,160, 78, 19, 89,  9, 46, 55, 95, 91,200, 59,162,208, 91,170,181,195,134,
+ 64,176,185,192, 69,231, 73,189, 39, 25, 71,215, 25,122,219,115, 26, 29,115, 25,121,183, 91, 97,154,138,195, 79,223, 34, 62,152,
+209,252,229, 35, 94, 29, 31,240,235,205,136,253,139, 53,225,169,231,200, 75,150, 83,201,122, 92,241,158,247, 40, 37,185, 23, 61,
+231,227,134,119,149,224, 66,193,177, 82,140, 85,195,129, 28,178, 47, 43,118,  6,  3,166, 66,193,243, 21,247, 79,231, 92,191,189,
+195,139,183,246, 56,184,177,203,145,208, 92,107,107,148, 75,216, 62,219, 35,133, 43, 89,238, 87,248, 17, 66, 10,234, 58,187,  3,
+118,198,  3,246, 38, 67,246, 39, 13,131, 90,151,107, 59,255, 29, 23,  2, 49,  6, 66, 74,212, 82,146,124, 98,170, 18, 47,213, 53,
+ 79,103, 29, 31, 60, 56, 99, 54,155,227,188,229,112,111,196,231, 62,117,147,155,215,142,153, 14,119,217, 29, 78, 72, 69, 93,127,
+231, 96,194,106,109,120,126,182,162,209,154, 51, 27, 88,199,196,193,225,152,221,189, 17,200, 12,117,154,159,204, 57,174, 27,246,
+ 38, 83,122,159,241,161,175,191,242,  2,191,248,239,252, 60, 95,249,202,159,125,100,191,254, 19, 47,232, 87, 21,240,155,164,171,
+205, 84,235,111,163,202,141,  6,152,193,132,209,116,196,167,247,  6, 28, 14,106,118,107,205,245, 90, 49, 80,138,147,165,201, 15,
+ 78,103, 49, 46,146,148,230,104,216, 48, 80,130, 86,100,208,202,194,231, 96,161,188,251,235,243, 67,212,102,209, 25,190, 56, 82,
+148,222, 78,202, 54,209,176, 31,103,214,111, 86,  7,170, 20,116, 41,178, 85,174,153,192,141, 99,216, 25,195,100,159,231, 85,205,
+141,102, 68, 39,  4,123, 77,205,185,113, 56, 96, 71,193,137,181,248, 24,121,107,121,206,217,226,148, 39,103,231, 60,158,157,242,
+214,163, 51,158, 62,124,  2,179,243,188, 46,251, 27,124,138,205,  1,191,220,198, 77,181, 77,  2, 67,208,167,128,144,130, 73, 53,
+192,166, 68,163, 20,178, 76, 71, 68,138,136, 24,243, 72, 94, 66,244,130,145,202, 16, 40, 33, 37,169,146,132, 36,137, 74, 98,124,
+202, 63,146,105,102, 46, 38, 58, 31, 17, 42, 23,241, 40,243, 10, 37,175,128, 99, 30,173,147, 19,212,164,247,172,124,160,235, 60,
+209, 25,146,136,132,110, 13,206,144,130,205, 25,234, 66, 18,162, 45,169,184, 14, 21, 19,214, 27,218, 70, 66,176, 12,136,  4,223,
+ 83,153, 30,229,  3,209, 59,154, 20,113, 33,128, 55,200,224,136,166,  3,103, 17, 46, 79,236,156,235, 24, 34, 32, 56,132, 16, 57,
+ 47, 66,192,172, 95,229,116,199,226, 67, 15, 36,148, 80, 40, 18,158, 88, 66, 54,  5, 42,101,105, 70,231, 12, 29,177,120,230, 19,
+ 54,  6,150,214, 51,105,106, 22,222, 95, 97,244,139,220, 41,111, 28, 36,155,113,249,102,148,190, 17,198,165,194,160,135,237,245,
+181,217,207,111,148,242, 87,121,241,226, 74, 81,247, 37, 20,198, 20,198,130,210,249,218,221, 96,  2, 67, 73, 51, 68,129,119, 63,
+101,161, 92, 91,129, 87, 48, 29,230,125,238,168,217,226, 80,155,234,114, 92,128, 80,121,212,229,242,233,105,181,238,145, 85,131,
+113,  6,161, 42, 70,186,194,186, 30, 17, 35, 50, 37,134, 41, 18, 17,212, 41,208, 71,199,202, 59,148, 80, 24,111, 89, 59,139,137,
+145,148, 18,141,212, 76,131,197, 91,199, 80,107,134,192, 50,  6, 14, 85,141, 53,153, 24, 85,107,149,167,  5, 62,160,101, 22,105,
+212,193, 51, 78, 20, 14, 61,151, 66,  5, 67,202, 76, 99, 18,  6,232, 82,204,227,254, 74,210,155,136,237,203,205, 31, 93, 17, 76,
+168,252,117,171,143,189, 54,118, 51,122, 44, 63, 23,229, 77,  9, 69, 81,155,228,246,230,221, 60,232, 54,252, 71, 41,183,209,126,
+ 54, 67,117,127, 44,113,174, 41, 40,193,205,195, 74, 21,145, 71, 16, 31, 41,236,191,250,235, 95,224,248,250,  1, 62, 38,250,117,
+ 30,191, 59,147,245, 12,187, 59, 35,110,237, 78, 74,195,162,105,180,162,106, 84,222, 53, 35,112, 49,146, 82,188,124,206,233,130,
+131,141, 41, 96, 93,192,197,108,187,202, 76,130, 13,140, 41, 79, 43, 68,140, 40,145,168, 82, 94, 45, 57,231,145,198,209,185,236,
+231,118,214, 97,230, 61,177,239,113,171, 53,157,181,204,214,134,185,237, 89, 24,195,105,176,236,191,120,155,157,207,222,226, 43,
+127,254, 13,222,250,139,251, 12,142, 21, 47,220,124,145, 23,118, 26,252,196,240,245, 39,  6, 33, 34,143, 71,112,126, 56,196, 95,
+159, 50, 18,  2,150,  6, 81,107,226,193, 49, 15, 14,199,156,141, 43,  6, 71, 35, 26,169,209,109,141, 58, 24, 50,108, 27, 14,238,
+236,178,127,123,143,118,210,210,122, 24,161,168,155, 10, 85, 41, 70,114,139,207,140, 49, 96, 67,164, 25, 86, 76,198, 13,215,246,
+134,220,220, 27,113,109,119,196,193,116,192,100, 88, 51,110,106,180, 86,249,181,  8,145,152,242,136, 94, 10,201,180,209,236,141,
+242,104,252,134,150,200,121,199,255,246,111,190, 75,112,145,122, 48, 96, 50, 30,241,194,241,148, 59,187, 35, 82, 76,188,253,195,
+ 71, 44,206, 47, 16, 62,112,234, 37,119, 38, 53,235,103, 75, 98, 31,217,213, 21, 55,246,134, 44, 58,207, 98,101,105, 27, 77,191,
+178,200,  8,211,225,128,225,112,192,218, 71,108,200,195,162, 81, 91,241,218,171, 55,240,178,229,251,127,253,221,143, 20,242,191,
+ 79, 65,255,219,254,236,175,254,193,239,242,202,103, 62,203,  7,111,191,253,  9,171,162, 79, 56,164, 14, 91,216,221, 37, 76,134,
+252,236,222,152, 73, 83, 19,132,100,164,  4, 74, 73,146,  8, 60,176, 41,143,203,215, 38,251,213,119,106,142,170, 28,  8,178,142,
+145, 93,173,  8,  4,158, 47,138,255,184,187,  2, 19, 65,111,221, 35,162, 46,162,164, 79, 56,100, 92,213,  4,184, 50,  5, 31, 76,
+144,119,239,114,243,238, 45,210,225, 17,118,178, 83,114,229,107,180,210,153,  1,159, 34,199,117,131, 35,160, 17,168, 20,121,104,
+123, 78,251, 25,166,239, 88, 60, 62,229,236,222,  3,220,114,  1,203,213,143,159,190,109,178,224, 55,154,157,186,216,251, 66,118,
+  4,  5, 41, 88,121,203, 78,221,162,132, 68,136, 92, 72, 66, 12,104, 85, 19, 69, 98,131,126, 10, 82, 49, 44,135,114,155, 68,110,
+ 10,149, 32, 59,234, 36, 65,102,124,240,218,102, 17,108, 42,207, 64, 81,236,136,202,  7,188,144,136, 50,117, 77,198,230,224,167,
+222,129,239, 73,222, 18, 76,143,138,158, 24,115, 98,156, 19,130,228,123,156,207,137,107,222, 88, 76, 74,232,148,  8,201, 51, 66,
+226,125,207, 40, 74,186, 16,169, 69, 34,152, 14,153, 32,218,142, 58,120,162,115,140,200,235,170, 97, 10,196,  4, 67, 85,177,246,
+134, 86,230,152, 85, 73, 22,232,170,242,236, 81,100,194,168, 32,139,182,129,156,248,137,192,166,188,231,246,228,  6, 83,  8,  8,
+ 41, 98, 98,194,246,150, 73,211,240,104,181,162,169, 42,236,198,238, 38, 85, 41,172,113,155, 60, 88, 95, 81,158,214,114, 11,166,
+145,106,155,247,177, 57, 52, 74,145,109,145,155,149,173, 40,249, 32, 27,101, 59,229,227,189,223,254, 61, 81,166,224,179, 85,110,
+ 28,155,186,248,229, 29,136,159,150,250,125, 88,252,122,169,202, 59,131,166,201,113,129, 27,127,173, 42,167, 27,228,149, 19,122,
+218, 34, 38,171, 10,107, 28, 70, 10, 86,214, 16,188, 97, 90, 88,215,  3,  9, 42,  9, 38,194,179,136,129, 90, 72,214,193, 99,202,
+232,109,217,175,243, 69,137, 64,250,142,118, 35,138, 43, 23,243, 68,192,204,244,140,235, 22, 17, 29,201,123,150,222,103,  7,124,
+204, 35,185, 29,157,185,191, 31,190,242, 58,215, 46, 78, 73, 73,226,137,140,145, 88,160, 67, 32, 69,194,186,196, 66,101, 72, 78,
+ 40,202, 79,187, 25,167,  7,159,187,244,166,222,146,134, 40, 86,  6, 10,216,223, 23, 81,157, 43,132, 58,183, 81,  2,151, 55,126,
+227,245, 18, 69,100, 81,169,237, 30,101,179,123,140, 41,119,  8, 27, 59,197,213,  7, 65, 83,127,212, 94,  1,219, 36,162,205,184,
+176,124,224,183,254,201, 63,206, 56,221,144,112, 54, 95, 64,147,209,  0,129, 98,111,119,140,150, 10, 37, 21,141, 86, 72, 33, 75,
+ 87,158,227, 83,157,203,162,176, 90, 73,154, 90,150,162, 14, 62, 70, 58,159,149,236,133,220,139,137,145, 40,178, 47, 85,196,144,
+ 35,143,197,150,123,109, 66,192, 46, 76, 22,  9,245,142,213,202,176,156, 45, 56,159,175,152,245, 29, 51,103,145, 41, 18,157,101,
+109,122, 92, 76,236,190,112,140, 62,222,225,255,253,163,175,113,241,112,201,247,186,142,212,172,  9, 56, 62,115,227, 22,111, 54,
+137, 39,120,254,236,241, 26, 63, 55,156,159,175,169,  5, 48,110, 25,197,196, 99,179,160, 11,129,190,213,204,118, 71,156, 54,146,
+147,169, 34,222, 30,179,216,169,176,149,162, 54,121,100, 41,  7, 53,205,184,166,110, 52, 35, 89, 49,172, 53,173,146,180, 62, 50,
+ 33, 49,110,107,166,147,150,107,135, 99,246, 39,  3,246,166,  3, 70,131, 26, 93,108,128, 90,201,178,126,141, 36,159,213,255, 82,
+  8, 26,173,153, 12, 42,246,234,138,147,101,199, 35,165,248,242,215, 63, 32,133, 28,172,209,212, 53,195,129,226,217,188,103,185,
+116, 12,147,228,116,102,153,205,206,120,180,154, 49, 11,137,111,254,240,251,124,240,236, 62, 39, 23, 39,188,251,240, 62,143, 31,
+157, 48,191, 88, 48, 95,204, 57,123,122,206,163,135, 79, 57,125,126,206,197,197,140,231, 39, 39, 44,214, 29, 85,173,  8,174,167,
+235, 12, 54,  9,  6,187,215,137,202,242,224,189,123,151,  0, 69,254,158, 69,253, 71,125,223,124,187,191,180,124,240,222,  7,208,
+175,255,238,  5, 93,235,220,  1, 31,102,129,220,205,166,166,173, 50,238,116, 32, 37, 90, 87,120,231,240,222, 49, 95,153,188,230,
+ 27,100,178,216, 65,147,115, 35,234,148,232,125, 96,225,115,126,184, 57, 95,110, 35,135,109,233,188,170, 97,238,218, 69, 41,146,
+155, 46,253,147,196,126, 82,228,191, 55,220,129, 23,142,121,243,198, 49,135,211, 67,218,193,136, 51,213,146, 68,158,208,205,234,
+150,167, 40,166, 34,113, 18, 35, 67,239, 56,247, 14, 17, 19,111, 89,151, 31,204,125, 15, 23, 11,152,205,126,124, 66,221,230,245,
+240, 30,212, 32,127,174, 65,102, 71, 64, 44,234,105, 37,  8,206,211, 14, 90, 66,112,104,169,177,193, 51,168,106, 20,153,236, 25,
+188, 65, 11,149,215,103,185, 68, 19,108,160, 86, 50,219,172,109, 66, 40,137,136,  9, 93, 30,105, 61, 80, 33, 72,133,  0, 42, 76,
+204,114,158,144, 15, 83, 90,103, 13, 11,189, 39, 57,159,  5,202,102,141,240, 14, 65,200,196, 59, 34,214,  5, 98,200, 17,170, 85,
+ 57,124,120, 41,192,245, 68,233,169, 19,120,231, 24,162, 89, 70,207,184, 30, 16,189, 67,235,  1,157,235, 25, 75,133,113,150,125,
+ 41,209,128, 70,160,133, 68,138,204, 37,168,164, 32, 68, 79, 85, 38,  9,163, 36,240, 66,228,175,131, 72, 31, 44, 72,141, 38, 17,
+ 81,185,112,147,138, 51, 89, 32, 98, 66,165,136,147,153,247,174,  8,244, 33,177,234, 13, 35, 93,115, 70,164, 74,121,122,145, 68,
+177,153, 41,181, 85,160, 20, 23, 28,141,206, 98, 55, 41,182, 19, 42, 33, 62,122, 77,109,158,219,151, 93,186,222,142,211, 55,142,
+ 37, 23,114,189,  8,108,187,247, 80,108,112,107, 91,106, 72,209, 86,249,248, 83, 42,234, 74,231, 34, 30,200,114,125, 84, 62,177,
+232,156,129,158,199, 21, 41,183,  8, 66,111, 21,130,177,132,164,152, 34,221, 79, 20,123, 67,222, 95, 91,107,105, 73,104,153, 71,
+ 64,144, 72, 41,228, 44,246,222,226,163,203, 14,  2,  2,131,  2,132,217, 67, 48,174,114,150,179, 46, 23, 56, 68,124, 25,239,235,
+ 20,105, 35,204,108,192,133,200, 72,128, 45,121,221,183, 79,159,179, 44,144,148, 81,132, 69,121, 23, 12,130, 25,137,133, 16, 44,
+125,190, 32,214, 65,112,238,242, 41,249, 50,150, 53, 94, 21,192,197,210, 89,171,141, 68, 49, 67,248, 83, 17,187, 37,114, 52,235,
+102, 36, 35,139,176, 78, 94, 17,207,249, 66,170, 43, 88, 81,124, 25,185,200, 43,116,174,116,133,207,189,177, 91,136, 43, 66, 62,
+228,246,128,193,214,162,243,251,255,233, 31, 98,186, 28, 44,225, 92, 32,186,192,238,206, 36,159,193,146,164,109,107, 14,134, 45,
+195, 90, 83,215,217,141, 16,203, 80,161,210, 32,146,160,105,178,133, 45,199, 80, 71, 92, 12, 24, 31,  8, 41, 71,168, 38,145,178,
+133, 80,230,216,220,232,179, 18, 28,  4,222,121, 92,  8,  8, 31, 57, 95,245, 44,214, 22,103, 29,171,222,240,164,235,120,188, 94,
+115, 97,123,214,  9, 92, 37, 56,235, 58,150,214, 16, 43,197,203, 47,189,192,201, 98,205,215,254,215,111, 32,  6,146,186, 18, 52,
+119,246,249,186,142, 28, 72,184, 62,217,227,243,215,111,242, 89,147,247,204,223,127,106,  8, 35, 80,141, 98, 60, 25,179,127,112,
+204, 75,135,199,188,116,227,144,113,165,  9, 90,114,237,230, 14,211,189, 17,207, 47, 86, 72,227, 72,215,166, 84, 71, 99, 70,147,
+134,145, 84, 84, 97, 43,142, 22, 62,162, 67,162,173, 85,254,248,184,165, 29,214, 12,219,154,166, 86,217,238, 87, 28,142, 46,101,
+191,120, 12,161,192,167,  4, 77,165,169,106,133, 20,138,243,147,158,  7,167, 11,118,247,  7,156,156,175, 49,103, 11,170,170,230,
+151,111,236,241,198,241,148,135, 23, 29, 51, 99,120,116,190,224,  7,247, 63,224,157,179,167, 44,187, 30,223,205,232,215, 38, 15,
+ 98, 18,132,228,115,183, 20, 12,203,213,138,179,229,140,179,197, 57, 23,171, 57,103,139,115, 78,215, 51,158,207,207,184, 88, 94,
+240,222,179, 71, 60, 57,125,198,129, 24,146, 82,228,197,151, 94,230,223,252,201,159,254, 72,251,122,250, 49,133, 94,252, 29,138,
+ 61,139, 89, 46,156,159, 52,221,251, 81,140,133,241,  4,142,247, 47, 73, 93,183,171, 42, 91,122,145,116, 36,250,190,207,217,  0,
+120, 30,117,219, 16,142, 78, 40, 38,141,100,110,  3, 41, 69,154,148,144,214,243,238,179,115, 46, 51, 77, 47,177,155, 50,143,224,
+155,122,171, 92, 86,242, 71, 79,193, 54,201, 92, 41,193,104, 10,135,187,220,190,118,147,233,104, 23,163, 52,162, 26, 48,208, 21,
+ 23,190,116,114,222, 17,180, 98,153,224,209,122,141,171, 26,190,231, 45, 31,244,235,124,162,247,174,196,124,174,243, 14,253,111,
+211,199, 84, 58,123,158,147,  7, 74, 38,134, 93,231,102,106,227,190,145, 18, 19,242, 65, 77,132,192,176, 25,210,185, 30,169, 21,
+ 34, 69, 26, 85,147, 66, 94, 51, 58, 23,114,132,181, 84,185,185,241,145, 86,103,129, 43, 34,195,193,214, 33, 18,123, 75, 16,153,
+246,104,215, 46, 11, 92,125, 32,134,132, 36, 18, 58,131, 95,175,243,218,109,221, 33, 66, 79,112,150, 16, 60,193, 58,  2,129,228,
+ 18,142,172,175, 81, 50, 93, 90, 12,125,112, 89,180,236, 28, 49, 69, 26, 50,113,174, 10, 17,157, 32,  9,141,136, 14,180,162,139,
+130,166, 16,  2, 13,130, 70,105,230,209, 83, 41,133, 41, 13, 76, 16,138,  4, 52,222,177,146,154, 58, 88, 92,180, 40,153, 93, 58,
+ 97,147,213, 65,194,136, 76, 43, 13,100,124,109, 37,242, 33, 65,165,242,185,166, 72, 77,100,105, 29, 61, 25,128,165,180,102, 34,
+ 37,149,210,140,128,186,174,104,148,206,221,127, 42, 66, 56, 87,158,223,186, 52, 85,233, 10, 54,124,147, 13,162,244, 86, 32,183,
+177, 76,166,184,213,157,108,224, 67,186,  8,235, 54, 72,114, 85, 72,114,118, 85,252,244,153,191,207,170,251,  9, 23,245,170,134,
+122,152, 11, 77,211,108, 59,197,182,222,  6,202,167, 43,116,164, 13, 98, 79,177, 21,127,197, 77, 23, 26, 47,141,248, 89,168, 16,
+ 57,146,  9, 85, 41,116,244,  4, 23, 80, 49,226, 98,230,100, 43, 41, 89,118, 75,100, 74,180, 41,177,178,134,155,186,206,187,250,
+224,217,211, 53, 34,194,210, 57,166,170,166,143,150,228,  2, 77, 65, 67,  6,231,240,198, 16,146,160, 46,225, 35, 73,194,158,212,
+204,125,126, 19,155,  4, 39,197,114, 23,145, 88, 41,104,149,224,153, 79, 44,125,196,169,172, 88, 78,137,220,145, 75,181, 85,178,
+167,210, 29, 43,182,156,235,203,184, 74, 93, 10, 58,249,231, 37, 41,232,114, 85,177,185, 24,160, 88,221, 82, 81, 12, 23,177, 81,
+239, 33,169,226,111, 47,175,175, 42,212,169, 75,235, 91,  9,153, 73, 42, 95,116,155,220,223, 16,248,204,239,255,  7,124,254,115,
+159,230,226,124,133,174, 43,136, 25, 12,147,130, 96,119, 60,100, 52,108,217, 27,182, 28,140, 26,154, 70,149,125,176,192,167,132,
+136,100,116, 36, 89, 36,183,233,212,125,204, 16, 26, 98,188, 92,253,  9, 41,168, 68, 14,222,169, 68,217,239,  9,208, 62, 18, 67,
+164,235,115, 32,137, 89, 90,170, 69, 71, 88, 25,132,181, 44, 58, 75,111, 45, 74,228,220,251,211,174,103,213,119, 57,132,103,210,
+242,194,155, 47,242, 23, 95,121, 11,255,175, 79,216,105,160,185,214,210, 87,160,158,206,249,225,122,205,119,194,146,163, 73,195,
+241,235,159,226, 55, 62,253, 38, 95,184, 46, 56, 28, 40,102,149,228,177,  8,132,228, 56,237,215,116, 54, 32,146,162, 70,176,190,
+232, 89,156, 46,152, 55, 53,211, 59,135,140,174, 77,208,149, 66, 70,  8,179, 30,177,242,132, 62, 91,212,130, 11, 36, 34,177,146,
+184, 70,163, 27,141,174,213, 37, 77, 48, 21,149,127,138,  9,235,  2,179,222,177,234,242,148, 66, 73,137, 82,146,189,241,128,247,
+159,102,202,156,112,  6, 85,107,174,239,141,104, 22,145,167,203,158,135,103, 51,254,242,222, 51,158,159, 93, 96,157,167,110, 91,
+ 22,231,115, 30,159, 95,100,228,104, 74,204,215, 61, 54,122,198, 74,179,182,129, 85,112, 24,239, 49, 49, 11,150, 58,239, 89,245,
+249, 64,112, 54, 95,241,131,231, 11,124,223, 19, 19,204, 23, 61,251, 42, 59, 19,170,113,203,151,126,251, 55,248,211, 47,255,233,
+223, 40,232,252, 67, 88,241, 31, 47,238, 87, 57,241, 63,142, 25,223, 78,224,230, 33,236,142,178,216,118, 80, 65,128,164,  5, 85,
+204, 29,166,113,129,150,200,147,181,229, 91,103,102, 11,136, 41,207,150,147, 36,120,169,202, 99,230,117,103,121,235,225,156,228,
+ 74,254,244, 38, 17,173, 42, 99,209, 16,202, 90,176, 60,131, 62, 30,125,250,241,157,250,100, 47,  7,172, 92,191,201,231,118,247,
+121, 97, 58,229,246,100, 66, 91,124,226,247,205,106,203,151,112, 22,103,123, 80,138,133, 47,241,157, 17, 88,157,230, 46,219,153,
+252,255,157, 45, 63,  6,136,250,  4,171,176, 32, 79, 66,243,252, 59, 23,121,155, 69,154, 84,242, 18, 84, 21,148,192,200, 72,240,
+185,161,  9,209,163,117,133,148,185,203,148, 34,147,228, 66,240, 52,149, 98,237, 92, 97, 33, 68,214, 38,175,107, 86,189, 37, 57,
+143,174, 43, 98,116, 68,227,179,107,207,122,100,136,  8,219, 35, 41,  2, 97,107,137, 46,107,137,172,237, 72, 27, 93,141, 16, 89,
+ 52,231,109,137,255,149,184,148,133,118,189,207, 59,118,235, 60, 54,250,146,171, 18, 49,174,167, 18,146, 62,  4, 26,145,136, 50,
+ 35, 93, 91,169,168,165,162,139,158, 29,169, 88,199, 44,108, 91, 69,135,143,  1,169,179,224,109,229, 45,161,106, 72,209, 97,144,
+ 68, 33,104, 82, 98, 22, 61, 41, 69, 66,140,116,209,229, 41, 79, 10,120, 66, 57,124,230,103,148, 66, 98,163, 69, 36,129,141,  1,
+169,  4, 38, 36, 90, 37, 25, 11, 65, 43, 21, 83, 37, 25, 40,137, 21,137,105,147, 51, 60, 76, 42,224,154,250, 74, 33,142, 92,201,
+  1,185,146,183, 46, 75,179,235,220,150, 62,154,200,236,252, 65,137, 87,173, 84, 17, 94,151,110, 93,108, 60,242, 64, 23,242,129,
+ 78,144,163, 92,131, 67,255, 68,133,113,170,201,167,197,205, 56,160, 85,249, 11,219, 20,163,171, 39,242, 90,111,189,217,165,225,
+ 68,139,162,236, 43, 76,115, 27,144, 56,134, 90,178, 19,  5,115, 11,199, 98,197,168,110, 51, 76,205, 25,164,108,216, 19,154,167,
+221,146,157,170,162,179,134,144,224, 72,215,216, 16,153,  8, 24,171,154,174,236, 89, 14,116,205,210, 91,118,208,204,177,172, 67,
+ 68,133,136, 38, 43, 42,165,246, 44, 13,184, 74,163, 98,226,185,235,144,149,102, 29, 50,225,105, 71, 42,102,228, 83,145, 36,135,
+ 20, 88, 34,123,173,102,209, 59,162, 86, 89,229, 62,110, 96,105,182,147,139, 80, 96, 49,169,124,157,254,202, 14, 79,149, 31,211,
+ 21, 79,162, 17, 48,186,178,155,217, 16,235, 98,177, 58,216,176,213,189, 13, 11, 41,206,232,252,111,153,152, 39, 35,148, 92,236,
+170,164,106, 73,189,125, 52, 71,113,249,190,189,121,231, 38, 49, 65, 59,108, 16, 90, 98, 93, 32,153,128,115,185, 91, 81,149,204,
+160,147,178,247,174,149, 40, 78,164, 44, 56, 49, 62,162,138,201, 89,108,222,234, 50,136,137, 69,176,185,137,154, 23,136,156, 52,
+152,  4, 82,230, 49,161,244, 33,171, 86, 59,131,155, 25, 84,111, 11,203,191,104, 79, 66,192,  6, 71,159, 18,125,111,176,206, 32,
+108, 32,166,192, 94,219,242,176,115,252,233,187, 15,185,253, 70,197,200, 66, 67, 66,156,172, 56, 57, 26,113,231,229,215, 89,156,
+ 61,225,191,139, 29, 47,135, 57,191,110, 87, 28, 31,222,230, 75,117,203, 23,206,159,243,131,229,115,238,173, 35, 95, 94, 95,112,
+ 18,  3, 79, 42,201,207,238, 28, 51,158, 52,168,107, 19,246, 14,247,152, 30,140,144, 74, 98, 66,194, 45, 58,170,149,195,150,117,
+  4, 54,167,186,  5, 45,112,149, 36, 21, 26,156, 14,  9,225, 35,158, 72, 40,112,165,232,193,185,196,122, 29, 80, 36, 68,157,201,
+ 93, 49, 74,222,190,191, 32,185, 72,171, 96, 58,108,121,218,121,236, 78,205, 63,123,105,194,119,204,138,127,241,116,129,143, 62,
+ 31,168, 26,197,155,159,191,203,247,191,255, 61,238, 61, 95,114,115, 84,241,107,135, 55, 96, 26,249,198,124,206,176,110,217,175,
+  7,220,222,191,198,141,233,148,115,111,121,124,126,142,241,134, 85,183,228, 83, 71, 13,  7,163, 29, 46, 86, 75,158,246, 11,246,
+116, 67, 45, 34,157,  2, 21,  2,194, 68,190,248, 43,175,241, 95,255, 45, 29,122,250, 17,123,247,159,152,  5,174,109,217,185,123,
+141, 52, 26, 35,134,  3,122,173,241, 41, 17,130,227,161, 75,220,174, 61,206, 67,231, 28, 30, 79,146,101,229,197, 71, 57, 16, 17,
+248,234,188, 76,  2, 93,159,159, 47,178,192,155,218,  9,248, 46,239,215,171,186, 60, 92, 55,172,  8,121,217,204,255, 77, 21,190,
+206, 35,247,107, 59, 48,157, 66, 91,115,176, 59,101, 58, 24, 34,133,228,184,170,232,206,230,249,243, 89,207, 11,167,163,221, 10,
+135,165,132,174,227,118, 93,113,214,238,178,182, 43,234,182,194, 74,  9,135, 83,120,210,125,242, 42,162,169,175,156,144,178, 32,
+ 12,116,  1,159,100,245, 51,115, 67, 14, 68,175, 97,217, 97,125,228, 98,144,223,161,131,225,148, 69,183,196,200,142,189,241,  1,
+189, 89,210, 52, 67,132, 23,172, 18,168,186, 97, 57,207,182, 71,173, 43,250,232, 81, 73,210, 69,143,181, 61,131, 74, 99,157,165,
+ 81, 67,186,213, 18,165, 21,237,176,194,175, 59,162,179, 72,145,240,214, 33,149, 36,164,128,  3,188,181,101,  5,144,175,152,222,
+ 25,180,200, 90,136,149,235,240,222,145, 80,116,209,160, 82,142, 16,237,172, 97,208,140,  9,101, 84,190, 38,209,  6, 11, 85,139,
+148,208, 91,195,245,193,148,179,110,206,158,144,172, 98, 96, 32, 20, 94,128,179, 61, 75,165,217,169, 26, 30,117,107,118,155, 66,
+243, 75, 48,147,  2,233, 61, 81,105,188,136,248, 62,215,  0, 71,194,199, 72, 93,215,152,148,178,255, 30,193,146,148,209,204, 74,
+ 81,167,200, 16,113,169, 37,104,154,124,184, 59,239, 35, 71,117, 13, 82,226,101, 96,169,134,  4,105,179,253,176, 41,  5,217, 95,
+205, 89,151, 91,139,166,247, 31, 93,169, 92,118,249, 62, 83, 70, 55,251,246,141,152,122,115,237,106,153, 39,189,227, 97,190,134,
+157,253,136, 44,250, 39,243,173, 46,133, 56,216,140, 36,213,117, 25,161,139,143, 65, 25,202,233,164,119,249, 11,118,229,215, 38,
+ 92, 25, 71,196,178,128,245, 68,217,162,116, 69,178,145, 29,237,104,172,162,247, 29,187,186, 34,106, 65,111, 87, 64, 98, 42, 20,
+143, 86,107, 14,116, 22,125,116,166,131, 42, 39, 13,137,166, 98, 32,171,242,224,137, 52, 90,208,123, 71, 29, 35, 78, 64,231,125,
+ 14,134,145, 18,150,134,117,163,209,192, 89,128,161,208,168, 16,168, 10,157,163,147, 10,161, 21,  9,193, 72, 87,132,  4,159,169,
+106, 46, 66,224,212,184,172, 20, 29, 54,249,164, 54,172,179, 26,119,163,162,189,138,105,213, 34, 23,225, 88, 66,  0,130,206,150,
+154, 77, 97,151, 41,167, 59,169,226,139,244, 97,235, 93, 44,118,176, 75, 76,108, 36,191,222,182,252,219, 67,189, 45,248,151,  1,
+ 26,155,255, 75,111, 11,122, 57, 83, 93,187,125,227,242,115,202, 18, 18, 81, 38, 83,249, 66,148, 81, 18,124, 22, 31,110,180, 67,
+ 66,228, 63,171,149,184, 76,221,173,149,200, 16, 37,178,117,205,167, 88,  2,177,242,  9, 53,164,148,247,237, 72,162,207, 73,122,
+193,  6,154,148,149,238,110,237,208,197,121, 96,  0,227, 29,198, 88,214,125,199,172,235,145, 36,132,179,  4,235,145, 36,130,150,
+ 12,199,  3,190,255,193,  3,150, 95,153,243,149, 99,201,254,169,229,215,247, 26, 94,126, 97,200,226,241,130,123, 23,223,224, 66,
+193,162,210,236, 69,248,111,215,107,126,121,239,144,234,180,227,101, 85,243,185,163,215,249,247,142,111,242, 79,102,167,124,227,
+102, 67,251,230, 13,142,238,238,229,123,208, 37,116,165, 17, 62,208,135, 60,102, 84,  2,210, 40,147,181, 36,  2,233, 50, 75, 32,
+200,124,125, 87,100,155, 86, 21, 34,149,143,216,232,115, 98, 96,217,217,133, 62,226,109,158, 56, 33, 37, 33,230,108,131,211,251,
+107,162,244, 60,239, 61,222, 59, 30,159,207,184,251,133, 23,137, 55,119,184,247,214,135, 92,172,151,  8,  1,163,166,229,104,111,
+143,221, 81,195,209,222, 17,191,249,233,138,100,214,236, 79, 15, 56,237, 46, 88,167,196,163,231,103, 44,141,231,165,211,231,188,
+118,237,144,233,222, 33,203,126,193,186, 55,220,222, 61,224,213,163,235,188,124, 48,226,193,197,138, 47,255,240,175, 88, 44,102,
+188,176,183,199,139,251,135,220, 58, 56,228,240,250,148,187,135, 19,254,229,255,244,207,249, 79,254,179,255, 28,212,  0, 49, 26,
+195,225,136,116,112,200, 63,190,113,196, 31,175, 86,172,159, 61, 39,157,156, 34,158, 94,128, 89,126,180, 99,223, 57, 34, 29,236,
+192,221, 87,152,142, 15,153, 47,158,230,103,195,226, 28,206,230,136,211, 11,146, 89,253,232,226,165, 53,140, 39,164,209,152,235,
+147, 17,170, 25,162,129,185,115,124, 24, 18, 67, 25, 89, 88,203,164,146, 84,193,241,212,194,131,133,217, 10,143, 98, 42,211,171,
+152,243,202, 77,202,247,150, 47, 72,207,203,123,178, 20,207,166,222,118,237, 27, 56,147,214, 63,218, 68,162, 91, 24,239,194,241,
+ 97,193,211, 14, 25, 55, 99,  8,142,224, 61, 86, 64,139,100, 32,122, 88, 92,228,117,195,168,133, 33, 48, 57,  6,215,241, 11, 56,
+154,233,132,199,243, 57, 71, 85,102, 21, 84,214,242,221, 90, 93,106,  1, 62,241, 91, 40, 48,169,148,242, 93,162, 54, 63, 47, 33,
+ 80,107,155,153,226,203,242,111, 52, 26,172,193, 84,146,147,144, 88, 37,207,141,122,138,175,107,116,183,160,210, 53,201,174, 24,
+ 84, 99,122,215,209, 70,143, 80, 21,189, 51,180,117,  3, 66, 50, 95,175, 51, 11, 62,130, 49, 29,109,221, 98,102, 39,212,170, 66,
+167,200,234,124, 65, 91, 85, 16, 61, 94,120,208,224,173,199,135,136, 23, 57, 26,123,105, 13,149,140,244, 33,101,107,170,144,120,
+ 99,208,  2,214, 49,139,102,149,172,177,193, 18,173,103,183, 25,211,187, 53,168,134, 54,145,117, 57,101,135, 46,128, 97, 51,228,
+172, 95, 49, 84, 21, 42, 37, 66,232,216,169,  6,244,174, 39,169,154, 67, 41,121,226,179,102,228,  3,179,102, 87, 41,198,213,144,
+222,245, 72,221, 16,146,197, 27, 79,163, 21,  3, 33, 24,164, 68,175, 53,203,228,233, 99,  6, 64, 61,245, 57,155,161,119, 33,247,
+156, 74, 80,213,154,129, 74,232,242, 30,117, 40,174,143, 91,158,216, 28, 46,165,133,160,209,146,245,160,212,191, 88,220, 80,161,
+216,208, 54,220, 17, 95, 66, 88, 16, 91,167,211,149,237,108, 22, 81, 39,104,138, 48,206, 22, 58,233,230, 97,107, 74, 30,251, 16,
+ 88,235,143,220, 71,250, 39,214,165,235, 42, 95,240,114,131,195, 43,224,251, 13,150, 81, 95, 17,108, 41,149,139,212,166,160,199,
+114,  2,217,132,204,199, 50,158, 42,187,136, 42, 70,218, 20, 24,  7, 65,165, 36,131, 24,136, 62, 65,144, 25, 50, 32,  4, 34,244,
+ 84, 41, 34,131,160, 22, 42,243,199,147, 97, 52,152, 32,172,101,210, 14,153,247,107,122, 60, 45,249,180,219,165,200,210,  5,180,
+150,224, 36, 38, 56,168, 36,195, 16, 89, 58,193, 72, 75, 98,202,221,110,160,198, 43, 50,208,161,124,205,193, 39,218,170,198,132,
+132,142,240,218,209, 30,223,158,173, 89,251,  8, 85, 81,165,143, 70,208, 25, 96,  8, 39,167,249,141, 33,150,132,182, 43, 29,187,
+240,101, 98,225,183,158, 93, 87, 70,246,233,138, 48,103,211,161, 75,181,101,206,203,  2,248, 31,214,249, 71,239,182,135,136,232,
+ 63, 86,220, 47,211, 92,138,186,210,211, 12, 27, 86,171, 14,129, 32,132,136,148, 18, 93, 85,236,239,141, 57,156,180,  8, 20,139,
+165,101,111,218,208,200, 68, 72,130,222,101,194, 94, 45, 36, 82,201,156,208, 86,171,  2,224, 74,248,152,  5,144, 98,227,212, 75,
+  9,173,  4,141,148,185,179, 21,121,196,143,150, 44, 66,192, 11,129, 41,125, 94, 21,242,158, 90,250,192,220,121, 22,222,229,235,
+ 64,128, 23,162,164,210, 38, 26, 33, 57, 24, 79,248, 63,191,254, 13,190,141,135,168,120, 42, 96,231, 73,207,219, 11,135,172,  4,
+183,251,196,235,119,134,132, 23,135, 60,141,134, 83, 60,127,254,244, 41,175,190,112, 23,185,127,141,231,131, 49,191,220, 56,210,
+221, 99, 62,247, 75,183, 25, 76, 26,164,202,236,233,229,220, 18, 66,192, 46, 45, 62, 69, 42, 93,132, 69, 77,118, 17, 68,178,207,
+ 55,166,148,  1, 81,229, 44, 38, 67,162,242,137,202,231,151,184,243,  1, 73,202,160, 64,  9, 52, 32, 43,129,247,145,206, 68,158,
+252,245, 41, 73,192,169,243,172,141, 35,120,199, 98,214,115,255,225, 25,221,221,  3,228,189, 39,  8,225,144,149, 98,160,106,142,
+ 71, 53,196,196,181,227,  3, 30, 61,126,192,151,127,240,152,127,181,250,  0,166, 21,105,238,192, 68, 82, 31, 56,101,201,215,213,
+ 51,196, 72, 80,239, 84, 12,106,193,236, 91,239,103,152, 73,163,152,214, 10,173,  5,183,246,106,174, 13, 70,  8,235,216, 25,213,
+ 52,195, 10,223,123,126,254,149, 91,136,207,126,  6, 66,  5,147,154, 52,154,240,251,215, 95,228,165,155,251,252,202,179,115,254,
+120,176,139, 60, 56,130,151, 61,156, 60, 37, 61,155,195,222,  8, 14,143,224,213,207,209,220,125,145,255,242,103,142,233,164,226,
+191, 57, 89,177, 62, 93,192,179, 25,156, 63,207, 66,185,147,247, 51, 94,117,118, 10, 31,220,223, 10,196, 84, 11,215, 15, 17,109,
+205,180, 25,114, 52,174,121,190,182,188, 60,104,152, 42, 65,237,123,  4,154,181,113,156, 57,120,104,220,182, 40,199, 84,208,170,
+ 62,251,207, 29,127,147,162,216,212,249,255,218,216, 65,175, 10,211, 54, 31,251,248, 97,163,169,115, 76,241,222, 46,236,142,203,
+122,113,  8, 82,114, 84,122, 20,210,154,189,170,162,119, 61,181, 93,100,117,253,201,  9,248,105,102,212,175, 78,184, 59,222, 71,
+ 72,201,249,252,156,170,105,153,154,142,211,  4, 66, 68,126,161,213,188, 53, 30,100,219,106,138,159,220,173, 39,147,119,233,212,
+ 32, 29,196, 10, 82, 93,148,252, 85,214,238,200, 30,150,  5,104, 82, 87,176,232,  8,181,163, 75,  3,238,185, 51,110,178,203,194,
+ 44, 57, 30,237,230, 46,218,  5,  6,109,131, 15,158,196,146,182, 26,229,144, 19, 20,109,221,210,151,204,119, 85, 85,244,235, 37,
+ 33,121,146,242,248, 24, 24, 15,  6, 56,211,101,177,172, 86, 88,111, 73, 49,147,229, 36,176,234, 87,232,130, 76,207, 26, 40,240,
+193,210,199,136, 45,224,175,144, 34, 43,211,179, 87, 55, 80, 43, 46,130,161,173,134,156, 23, 68,110,171,  5, 93,136, 92, 75, 61,
+ 67,165, 57,214, 48,168, 26,162, 51,172, 83,228,238, 96,135,123,221,140, 93,221,208,  0,139,224,178, 94, 39,  4,214, 66,225,132,
+100,238,214, 52, 74, 65,114,204,141,  5, 33,104,125, 98, 34, 68,225,115,  4, 36,138,152,  2, 39, 33, 49,172, 20,115,227,209,165,
+ 41,233, 93,224,168, 85, 12,148,102, 21, 34, 73, 43,134, 72, 28,112, 60,168,232,188,192,  9,197, 17,145,199,194, 97,199,  5,243,
+109, 77,110, 96,253, 21,  6,131,190, 98,125,107,175, 76,178,117,181,117,100,196,144,175,177, 88, 30,126,151,126,119,  7,163, 42,
+ 23,253, 72, 78, 40,116, 91, 56,210, 79,102,167, 94,215,249,147,145,  5,111, 23, 74,145,222,200,253, 55,  5,168,100,173, 99,220,
+ 71, 99, 68, 55,157,251,229,136,126,115,106,206,  6,192,253, 86,115, 80, 73,  6, 82,179,171, 96,164, 52, 62,198, 60,194, 41,151,
+119,159,114,186,215,133, 15, 12,180,102,183, 82,132, 16,  9,206,208, 42, 77, 42, 59,197,113, 85,115, 98,214, 52, 73,177, 32, 17,
+ 83,226,220, 71,162,138, 12, 19,184,152,112,192, 48, 38, 42, 20, 49, 70, 98, 76, 24, 18,170,  4, 14, 36, 37, 49, 82,177,142,  9,
+ 47,193, 75,208, 40,214,222, 49,173, 43,102, 73,176,211,182, 24, 41,168,218,150,144, 34,114, 48,202, 67, 11,145,133, 51,200, 66,
+ 18, 74,155, 99,153, 36,135,  9,151,179,150,204, 69, 42,219,221, 74,184,203,134,229,185,121,120, 73,145,145,131, 66,228,  3,148,
+139, 91, 27, 68, 42,188,104,121,165,160, 95,198, 18,114,169,156,127,233, 75,191,205,111,254,234, 27, 88,159, 48,198, 17, 93,194,
+152,140,214, 77, 81, 48, 29, 15, 81, 82, 34, 81,140, 91,141,143, 57, 64,199,135,236,237, 20,  5,214,162,181,100, 84,201,178, 42,
+ 74,244, 62,251,211, 33,149, 21,126, 22,183, 84, 50,211,  4, 19,153,190,167,138,237,205, 27,207,197,210,176,234, 45,157,179,156,
+116, 29,235, 62, 35,132,141,181,216, 34, 44, 75, 49, 11, 26,155, 16,184,241,210, 29,186,221, 17,255,226,255,250, 43,208,240, 51,
+ 63,191, 79,115,179,225,161,177,124,127,230, 89,107,248,208, 37,218,169, 98, 48, 81,180,131, 38,187, 37,  4,200, 97,197,  7,222,
+242, 78,116,252, 69, 35,153,221, 28,179, 35,  4,235,185,207,228, 80, 23, 48,198,225, 59,139,232, 29, 77,163,169, 43,133,174, 43,
+164, 86,164,178, 31,139,  2,108, 74,185,  3,137,153,161,160,108, 96, 16,160,  9, 57, 93, 14, 27,144, 49, 80,  9, 73, 43,  4, 35,
+169,104,170,124, 48,248,224,201,140,175,127,235, 67, 22, 11,143,136,137,241,168,193,244,134,139,211, 83,158,127,248,152,250,238,
+ 33,107, 47,169,147, 38, 73,141,241,134,139,222, 49,190,190, 71, 88,246, 16, 61,223,254,230,  3, 88,120, 68, 35,248,204,157, 29,
+222,120,241,128,134,187, 93,191,  0,  0, 32,  0, 73, 68, 65, 84,209,181,  1, 95,248,185, 59,252,230, 47,191,201,235, 71, 67,134,
+201, 51,214,130,179,148,168, 43, 73,248, 97,143, 59,247,152, 29,201,201,204,241,108,181,224,162,159, 49,115,142,123,114,194, 55,
+ 58,199,183, 87,142,112,227, 85, 30,174,122, 24, 76, 65,183,188, 60, 30,209, 74,193,247, 47,230,156,186,132,208, 45,236, 28,194,
+120,138, 56,190,142,248,165,223,134, 47,124,  1,174, 95,227,159,222,217,231,119,247,107, 34,130,175,158,172, 89, 93,172,115,129,
+ 57, 62,128,155, 55, 33,141,225,229,207,242,123,199,183, 16,119,238,114, 54,191, 40,137,107, 35, 24,104,118, 39, 19,142,106,205,
+194, 69,142, 42,197, 60,194,142,244, 12,  8,236,198,196,158,150, 28,214,130, 51, 23,232, 72,217,218,149, 34,204,215, 96, 75, 84,
+102,252, 17,251,233, 31,103,  1,253,248,199,154, 26,244,  0,142,246,225,230, 81,238,164,  7, 99,168,219,203, 17,248, 69,112, 28,
+235,138,107, 42,130,235,168,157,225,251, 39,143,120,244,195, 71, 48, 63,207,247,243,176,134,166,229, 77,145,152, 11, 73, 31, 35,
+199,209,115, 46, 20,187,193, 48, 77,145, 69,136,156, 44,139,255,248,147, 44,109,151, 24,209,  2,189,145, 37,135, 23, 85,244, 51,
+114, 75, 41, 35, 71, 18,231, 17, 48,224,  3, 73, 38,  2,145,117,200,217,235, 43,219,163,164,166,247,166,208, 53, 45, 90, 10,172,
+235, 50, 56,  9, 79,103,123, 20,  2, 19, 12, 34,230, 88, 87, 31, 13,117,221,178, 54, 75, 82,140, 24,223,229,251, 58, 37,124,176,
+ 56,239,113,201,209, 23,226,219,202, 57, 86,166,195, 16,233, 92,207,154,136, 66,210, 71,207,202, 90, 22, 41, 33,163, 96,229,243,
+ 24,125, 80, 55,116, 54, 79,122,171, 70,115, 97, 35,149,212,172,146,192,104,205, 68,130, 18, 57,175,189, 18,130,101,140, 28,170,
+138, 62,197,156,110,167, 52, 30, 65, 39, 53, 22,232,149, 68,232, 26, 39, 20,125, 10, 56,173, 56, 11,145,186,174,120, 28,139,210,
+ 93,105,206, 80, 56,169, 17,186,162,139,137, 74,107,100,211, 48, 80, 26, 41, 21, 38,229,120,112,173, 21, 90, 85,212, 85, 69, 82,
+ 16,189,166,170,242,223, 75, 33,242, 60, 93,  9,241,146, 34, 95,  3,133,160,122, 41,204,220,172, 99, 55,190,245,206, 22,213,113,
+ 17, 51,167,114, 77, 75, 89, 18,255,202,239,233,162,181, 18, 50,231,131,164,242,140,239,186,159, 80, 81,223, 40,218,235,225,182,
+216,140,155, 60, 66,175,171, 92,172,140, 47,157,119, 17,107, 85,165,176, 95, 21, 11,144, 50,174,177,239,243, 39,105,182, 97, 48,
+243, 32,120,161,150,140,100,  6, 56, 16, 35,141, 84,244, 49, 20,225, 85,182,152, 61,237, 61, 85,157,199,239,  3, 89, 35,131,207,
+158,202,152,199, 55, 67, 37, 88, 57,207,173,175, 62,224,244,246, 20, 68,226,129, 11,104, 33,136, 73, 82, 75, 24,132, 92,164,100,
+217,177,  8, 41,177, 41, 49,212,249,112,146,164,196, 39, 65,  7, 24,157,139,157,148, 26, 27, 35, 97, 48,160, 82,217,242,229,128,
+ 65,173, 17, 49, 50, 26, 12, 88,123,143,108,106, 82, 83,109, 71,131,170,236,182, 85,241, 65, 92, 82, 40,227, 54, 70, 53,168, 60,
+177,144,234,146, 35,158,105, 68,122, 27, 52,176, 41,212,155,172, 93, 91,156,  4, 50, 94,  9,136,217,180,255, 27, 47,125,238,102,
+ 94,121,227, 13,222,124,243, 21,186,222, 98,251,128,119,129,126,109, 25,142, 91,130, 73,212, 77,205,164,174,185,190, 55,160,174,
+244,101, 67,180,185, 88, 99, 74,200,  4,149, 18, 52, 58, 99,119, 67, 76, 24,159, 21,199,130, 12,116, 80, 50, 83,230,148,206,244,
+ 57, 17, 83, 22,168,148,233,140,142,145,100, 60, 43,235,112, 46,176,114,158,182,136, 67,102,166, 99,101, 13, 85,240,212, 33,145,
+ 20,168, 65,205,141,215, 94,226,249,147,231,124,253,171, 15, 80, 93,226,217, 69,199,252, 81,135,185,  8,224, 18,171,161,132, 93,
+201, 91,239,244,252,127,125,199,100,209,241, 90,130,131, 70,243, 43, 14, 62, 53,222,225, 83,215, 14,217,215,146,  7,167,115,190,
+118,178, 96,120, 52, 36,106, 56,233, 13,231, 93, 30,169, 78,  7,117, 70,186,214, 21, 82,203,140,218, 20,224, 73, 57, 38,213,101,
+145,159,179,249, 33, 90,155,136,238, 29,218,120,164,241, 25,125, 27,161, 65,210,232,138,193,160,162,109, 20,111,157, 44,121,248,
+151, 15,243,219,227,160,173, 43,  6,195,138,174,179, 68,227,152, 45, 46,120,244,188, 35, 13,224,173,119,223, 99,237, 12,149,206,
+235,152,195,187, 71,188,112, 48,228, 83,135, 59,220,251,171, 31,240,248, 91,115,196,163,200,231,126,238,128,189,241,132,167,231,
+ 75, 94,216,221,229,230,193,117,  6,205,136,215,175,221,224,223,127,225, 21, 94,220,155,242, 95,253,206, 23,185,117,171,165,211,
+ 75, 94,191, 62,101,181,178,156, 34,153,254,236,231,208, 59,215,185,254,153, 91,248,113, 11,173,198,116,134, 31,222,123,  8,103,
+207,192,116,172,237,130,238,244, 25,223,126,250,  4,218,125,120,241, 53,196,203, 47,193,249,138,223,189,251, 10,191,189, 51, 64,
+ 41,201,195,247, 30,241,215,127,252,255,176,227,134,252,239,127,242, 53,222,255, 55,127,  4, 15,239,193,  7,223,133, 39, 15,225,
+241, 83, 24, 78,248,252,157, 99,110, 29, 31,240, 84,142, 56, 25,142,242, 56, 81, 10, 24,143, 56, 84,154, 86,105,116,130, 69,140,
+204,186, 53,187, 10,110, 10,193, 68, 72, 38, 90, 49,214, 26,131,231,241, 34, 67,103,152,247,121,199,216,123, 62,121, 41,254,119,
+209,  7,105,216,221,133,221,157, 92,204, 15,246,114,119, 62,154, 22, 43,220,230,123,190,175, 30, 44,206,137,235,  5,179,229,140,
+239, 63,123,194,119,190,249,126,222,167, 27,123,249,245,220, 29, 12, 49,192,216,173,184,214,182,188,103, 58, 38, 49,235, 71, 30,
+ 59,199,190,148,188, 62,150,116, 82,179, 58, 93,125,178, 96, 78,136,210,202,216,252, 99,148,121,194,167,171,252, 60, 73,174,164,
+124,153, 92, 68, 76,200, 98,229, 77,100, 44,130, 96, 45, 29,129, 36, 96,105, 59,148,136,184, 20,177,222,210, 59,203,194,245,164,
+ 20, 48,206, 97,189,197, 38, 71, 76,240,193,249, 35,140,239,233, 76,199,217,242,130, 16,  3,115, 51,167,213, 89, 68, 55, 91,207,
+145, 66, 49,239, 23,216, 82,208,151,102,141, 11,129,117,244,172,157,199,166,140,141, 62,247,142,189,186,225,190,143, 84, 90,243,
+190,144, 28,212, 53, 78, 10,164,172,216, 27, 15, 89, 38,201,220,123,218,170,166, 71,208, 75, 77, 35, 36,170,174,217,209, 53, 21,
+ 16,148, 68,145, 88,136, 68,171, 43,140, 82,172, 98,164, 43,137,115, 65,  8,134,237,128,170,  4, 81,  5, 85,179,138,138,132,226,
+ 89, 72, 28,140, 70, 60,240, 18,161,234,236,203,175, 42,246, 70,  3,246,135, 35,166,163,150, 86, 87,  8,169,233,147, 98, 41,  5,
+136,138, 97,219, 18, 85, 77, 18,146, 65,213, 96,138,  5, 41, 74,193, 34, 74,106, 37, 89,167,132,212, 13, 73,203, 44,156,214,242,
+138, 56, 83,228,203, 51,165,178,103, 87,185, 94,250, 43,161, 64, 27, 16,205,230,251,165,112,165, 60,215, 71,131,124, 16, 24, 15,
+243, 97,116, 58,253,  9,193,103,218, 77,151, 46,183,157,186, 13,249,228, 32,203,130,191, 45,187,  3,185, 41, 74,229,  4, 19,202,
+206,221,150, 46, 61, 27,  9,183, 88,198,162,146,191,181,215,112,189, 82,236,169,138, 70, 10,132, 84, 68, 18,163, 74, 97, 98,202,
+136,209,  4, 81,  9, 92, 72,200,148,176,214,100, 75, 81,132,206, 90, 70, 74,211,165,196,218, 58,254,249,241,148, 95,208,154, 83,
+107,217,169,242,233,110, 82,105, 22, 73,208,200,204, 20, 94, 23,161, 22, 54,135,199, 40,221,208,199, 98, 37,168,170,156,199,142,
+196,107, 77,165, 52, 15,173,167,213, 53, 74,231,155,108,169, 51,112, 66, 21, 47,207, 88, 43,218,182, 65, 43,133,241,101,191,151,
+194, 21,107, 91,121,253, 54,184,216,164, 41,225,184,133,243,190, 73,228, 17, 91,202, 80, 74,249, 66,216,172, 60, 76,  1,102,184,
+ 50,206, 55, 87, 64,  5,206,110,109,118, 73, 92, 62, 48,126,237, 55,126,141, 91, 47, 94,231,244,100,133, 53,174, 12,  0, 36,135,
+187, 59, 84, 72,170,170, 66, 42,193,241, 94,139, 86, 42,199,224, 74,177,  9,222,  3,  1,109,165,168,107,133,146, 89, 33,103, 67,
+ 86,150,250, 13,127, 64,230,112, 23,165,179,157, 77, 36, 72, 62, 18,173,203, 29,108,130, 36,242, 65,224, 98,237,104, 98,194,164,
+192,220, 24, 22,235,158, 89,103, 50,198, 23, 88,120,143,175,  5,131,189, 29,118,111, 30,241,189, 63,253, 38, 60, 49, 92,219,211,
+ 60, 63,241,176,220,172, 54,128,219, 45,175,189,113,141,120,183,230,248,238,132,111,181,146,217, 78,195,123,181,230, 94,114, 44,
+136,236,118, 61,215,214,142, 55,215,158, 21,137, 46,  6,206,231, 29,170,213, 84,149, 66, 41,197,100, 80,163,155, 10, 93,105,146,
+146, 89,140,227,  3,193,  7,156,245,244,107,139, 95,187, 60,233,176, 17,209,123,228,202, 94, 22,117,233, 98,222,183,105, 69,213,
+214, 84,163,  6, 89, 73,190,119,190,226,247,133,226, 78,210,188,123,209, 33, 85, 62, 52,121, 27,152, 45, 45,122,103,151,207,238,
+ 13,  8,195,150,119,238, 61, 99,103,178,195,171, 47,189,198,139,215,110, 48,104, 36, 39,193,243,205,127,253, 45,222,126,126,193,
+108, 79,193, 99,207,123, 99,203,237,151,174,115,182,187,207,129, 89,242,103,127,241,109,158,199, 14,221,140,152, 12, 71,188,127,
+246,156,217,233,156,221,221,  3,238,254,193,239, 48,112,  2, 87, 89,174,255,234, 63,226,181, 95,124,157, 95,249,244,173,156,108,
+ 54,106,  8,179, 57, 95, 60,108,248, 63,254,232,203,112,255,  1, 60, 63,103, 33, 60,143,134,  7,252,199, 95,252, 18,255,225, 23,
+127,142,191,220,157, 98,  3,136,199,207,248,244,160,101, 80,105,212,108,198,219, 31,190,  3,207,239,243,245,175,124,133,103,223,
+254,183,240,193,135,112,239,125,184,127, 31,222,125,  7, 30,124,  8,181,231,129,209,160, 42,254,218,  3,178,134,106,  0, 50,128,
+ 51,204,164, 96, 12,116,193, 97,189,199,132,192,126,138, 52,193, 51,208,154,186, 76,138,130, 49,188,179, 48,136,101,135,176,203,
+156, 29, 16,255,129,  5,189,157,192,116,  7,142,142,224,112, 15,118,167, 57, 17,174,170,243,189,169,212,118,146,232,201, 35,254,
+245,138,116,118,206,179, 39,167, 60,252,225,  3, 78,159, 62,207,113,198,155, 78,123, 52,229,238,141,125,166,193,177, 55, 28,240,
+204, 89,172,115,104, 33, 24,  9,120,102,122,106, 33, 24, 70,199,189,222,179,114, 14, 35,225,165, 95,124,147,139,247,239,127, 66,
+ 72, 83,  4,217,148,117, 93, 68,196, 10,145, 28,162, 82,136,122,128,232,  3,162,213,  8, 41,179,218, 60,  8,132, 22,136, 68, 62,
+100,134,128,  8,  1,239,  3, 54, 58, 58, 18, 43,223, 97,188, 35, 68,143, 18,146, 69,183,196,147, 29, 42,243,245,146,181,239, 49,
+222,240,116,181, 98,110, 12, 51,219,241,112,117,206, 78,221,242,108,118, 74, 76,  1, 37,  4, 15,206, 79, 25, 85, 13, 11,211,179,
+ 48, 29, 11,235,152,185,158,153, 49,184, 36,120,152, 34, 70, 86,236, 53, 19,118,171,  1,175,238, 29,209,161, 57, 26, 14,249,161,
+210,200,186,197, 70,152, 69, 65,211,180,120,161, 89,  8,205,209,112,196,181,166,230,238,206,  4, 89, 85,172, 82, 98,183,105, 72,
+229,223, 51, 49,160,149, 98, 17,  3, 81,215,204,137, 56,169, 56, 24,142, 25,214, 53,149,168,104,155, 33,171, 24, 89,196,196,185,
+174, 24, 75,201,  7,214, 51,210,154,147, 20,177,186,230,184,170, 57,108,235,204, 50,145, 85, 78,252,211,154,251, 33,224, 84,197,
+169,170,168, 18,  8,149,  1, 72,125,146, 76,235,  1,231, 36, 90, 33,137, 90, 51,208, 21,161,110,242,189,228,  2, 76, 38,249, 61,
+171, 84,169,119,  5, 76,227,227, 86, 72,157,210,150,105,210,151,131,217,198,158,188, 73,120,187,244,176,151,213, 74,219, 20, 65,
+ 83,147,107,234,112,248, 19, 40,234,149,206,212, 56, 89,216,180,155,136,186, 90,230,177,252, 64,103,146,220,160, 64, 79,122, 83,
+186, 75,185,245, 91,127,100,180, 84,124,236,155,110,176,213,  4,155,184,211, 84, 52, 82,102,177,130,148, 52, 72,156,204, 78,176,
+ 70, 72, 66, 74,172, 66, 98,230,  3, 35,  1, 71,131, 33, 51,231, 88, 24,203, 81, 51,224,162,239,105,165,100,208,182,124, 38,101,
+ 11,146,214, 21, 54,  5,166,186, 97,149, 18, 90, 43,214, 33, 17, 93, 96,168,  4,201,120,124, 85, 80,130,189,161,105,106,170,166,
+ 37,166,128, 67, 32,154,  6, 23, 28, 23, 49,113,125,178,203,179,181,161,214, 21, 85, 57, 13,207, 75, 64,140, 75,129, 90,215, 56,
+235, 72,  8,140, 42,106,  8, 31,182,150, 62, 45,182,157,123,173,182,142,  0,138,143,189, 45,147,144,226,223,207,227,151,114,112,
+ 74,177,  0,108,202,  9, 14, 87,224,  4, 27, 95,100, 25,213,139, 34, 79, 23,197,211, 24,  2,191,243,207,254,128,241,116,200,217,
+243, 25,198,250, 34, 66,203,118,172,182,105, 24,181, 21,215, 38, 67,246,134, 21, 82, 40, 72,121,114,145, 16,217,171, 94,176,139,
+147,129,190,196, 97,251,148,215, 26, 41,165,252, 22, 42, 65,173, 36, 18,121,137,171, 36, 68,116, 17, 68,198, 16, 49,  9, 86,214,
+179,232, 44,117,  8,244, 93, 46,232,115,103,241,206,161, 73, 44,100,226, 73,231,105,106,201,241,222, 62,231,167,103,252,203,255,
+241, 93,150, 83,120, 98, 34,141,137, 12, 10, 96,139, 62,194, 58, 48,184,213,240,250,193, 46,135, 77, 11, 66,112, 56,157, 48, 29,
+143,184,243,234,235,196,227,107, 60,105, 27,222,183,134,209,254, 14,225,238, 62,119,111,239,113,112, 52,101, 48,108, 80, 82,178,
+ 51,106,208, 77,141,174, 20, 66,231,208, 26,159, 34,174,115,196,149, 37,174, 12,126,222,145,150,  6,107, 60, 51,239, 48,107,143,
+180, 17, 21,  2,202,165, 12,179, 16,217,242, 71,163,145,173,102, 69,228,222,202,113,227,133,  9,213,237,  9,103,227,134,106, 82,
+227, 67,226,230,235, 59,124,246,223,125,129, 63,252,252, 29, 94,121,237, 24,127,180,135,221,191,193,209, 11,183,248,210,231,110,
+241, 75, 47,237,243, 76,104, 46,230, 11,222,249,193, 61,186,241,132,223,250,167,191,129,255,212, 46,253,222, 46,255,253, 43, 47,
+240,250,193,148,231,159,122,137,119, 30,126,192, 95,255,223,143,184,111,159,177,236, 79, 89,137,200,159,127,233, 55,105, 63,117,
+ 11, 53,172,241,175,221,193,188,241,  6,135, 55,247,249,229, 91, 83, 94,155, 84,164,139, 37,255,203,255,240, 63, 51,121,248,136,
+201,206, 17,235,135,239,240,224,  7, 79,224,198, 62,124,246,243,252,225,175,254, 10,255,197, 63,186,195,167, 38, 21,223,123,239,
+140, 15,254,237, 55,225,222,183,248,225,122, 78, 67,205,215, 58,135,  9,  1, 49,154, 66, 43,243, 14,127,181,248,168,122,222, 89,
+196,253,251,136,217, 41, 23,201, 49,244,129,107, 90, 82,251, 14, 84,141, 75, 57,186,249, 52, 70,186, 16,208, 49,210,117,  6,133,
+103, 95,101, 65,146,117, 54,243,199,173,227,195,139, 53,110,113,145,149,236, 49,254,195,176,182, 59, 59,176, 59,229,238, 43,183,
+217,191,126,157, 52, 26, 97, 54,177,152,226,138,208, 53,138, 18,  4,211,193,249,  2,158,156,192,249,  9,204,231,217,131,255,241,
+ 17,190,247,204,116,195,206,160,166,149, 10,  3, 88,103,216,197,243, 36, 36,174, 87,154, 41,145,115,107, 57,104, 53,149,245,156,
+173, 58,226,176,198,232, 17, 92,156,255,205,102, 93, 74, 68,242,  8,106,132,220, 88, 85,213,150,113, 81,235,252,241,148,138,147,
+ 74, 34, 76,143,208, 10, 17, 74, 81, 71, 32,156, 71, 24, 79,212,255, 63,105,111,246,107,105,118,158,247,253,214,248, 13,123, 56,
+243,169, 83, 85, 93, 93, 93,172,174,158, 56,153, 45,137, 10, 41, 51,178, 33,193,130, 36, 35,145, 97,192,210,133, 12, 36,200,159,
+146,155,228, 46,119,  9,144, 32, 72,174,236,  4, 50, 34, 40,242,144, 72,182,168, 33, 20,105, 81,162, 68,145,236,185,217,213, 93,
+243,169, 51,236,233,155,214,148,139,245,157, 58, 69,138,162,100,251,  0,141, 70, 55,186,107,239,179,135,245,190,235,125,159,231,
+249,  9,252,186,167, 75,145,158,192,178,239, 88,199,129,197,208,240,120,185,100, 29,  7, 78,251, 53,139,211,  5, 67, 18,244,109,
+ 79,127,182, 33,124,252,132,199,143, 31,211,214,  5,235, 97,224,254, 98,201,188, 40,120,176, 94, 48,196,200,241,224,120,216, 14,
+156,119,129,141,146,172,148, 38,152, 10,165, 43,190, 48,219,195,214, 51,122,169,216,155,206,241,170,192,235,130,199, 33, 81, 84,
+ 53, 66,107, 30,247, 29,167,194,176, 37,224,106, 89,241,210,116, 66,101,242, 69,170, 46, 74, 58,151,215,114, 46, 69, 74, 41, 51,
+162, 59,193,134,200,160, 13,115, 99,159, 89,248,148, 49,164,148, 24,132,160, 11, 18,133,224, 81, 74, 76,164, 98,153, 18,103,202,
+160, 99,224,192,150,204,170, 10, 63,154,219,210,200,182, 40,147,226,254,152, 26,249, 24,201, 92,192,169,208, 76, 77, 73,212,138,
+ 90, 91,162, 52,204,109,201, 32, 52, 93, 20, 76,116,137, 85,  2, 35, 21,190, 40, 17, 66,147,252,144,207,237, 62, 60,103, 87, 22,
+151,235, 81, 57, 94,116,195,184,254,185, 72,103, 29, 87,121, 25, 42,147,158,241,211,233,250, 49, 42, 88,193,164,248, 17, 66,185,
+ 11,203, 68,248, 49, 66,141,231, 23,253, 33, 94,230,209,198,209,195,105,213,248,224, 64, 61, 25,159,116, 28,119,228,234,178, 51,
+ 49,227, 46,193,143, 41,107, 23,202,213, 66,231,241,124,140,208, 12,212,219,  5, 49,  4,202,162,192,142, 35,185,141,136,153,181,
+173, 52, 33,  4,124,138,148, 35, 23,253,220,123,226, 38,113,213, 26,122,163,184,223, 52, 92, 43, 13, 78, 66,215, 52,217,163,143,
+ 68,141,120,155, 53,  1,161, 20, 93,204,106, 72, 10, 69,179,118, 56,171,168,186,142,  6,216,169,106,150, 67,207, 68,102,155,158,
+181, 10, 57,120,142,173,196, 72, 75,231, 58,174,204,107,150,173,103,  9,180, 74, 82,203,188,195,201,147,  9,143, 49,138, 74,192,
+ 12,203, 61, 95,228,219,132, 43, 51,129,169, 24, 45, 11,197,197,222,123, 28,193, 91,147,247, 99,155, 54, 91,  4,149,189,108,128,
+226, 56,126,187,236,  0,198, 46,126,180, 21,170,254,185,200,247,113,255,166,100,110,  0,100,238,  0,165, 54,212,165,193,150,  5,
+206, 53, 12, 33,210,119, 13,222, 11,246,111, 79,241, 33, 17,197, 40, 16,148,163,109, 45,137,156,229, 78, 78,111,138, 49, 71,196,
+ 94,172,137,196, 24,177,120, 17, 56, 18,158, 77, 13,199,226, 54,138,221, 32,162,165,192, 27,149,227, 98, 35,249,182,236,125,238,
+234,157,207,116, 52, 45,104,122,207,208,123,102,209, 83,171, 18,167,224,183,126,239,109,184, 62, 82,186,250, 72,159, 18,189,146,
+212, 34,177,159,224,245,168, 88,252,155,167, 60,184,125, 78,115, 84,115, 62,209,220,222,154,115,104,167,108, 25,139,173, 42,142,
+174,237,211, 41,193,244,234, 22,187, 19,203,238,188,162,117,158,224, 19, 58,197,188,222, 82, 57,137, 42,250,172,234,239, 58,143,
+223,244,132,243,  6,183,106,  9,231, 93, 14,242, 16,153,210,244, 84,104, 90,155,113,141,170,200,116, 41,161,198, 23,164,243,180,
+ 70, 50, 36,201, 79,207, 74,254,197,147, 13,167,107,207,237,195, 57,183,141,224,177,145, 92,157, 27, 10,169, 57,237, 60, 79,124,
+226,113, 18,232, 74, 17, 62, 94,242,218, 43, 87,216,149,154,  7,149,226, 65,167,249,142, 87, 60, 57, 59,165,251,246,135,184,193,
+243,107,175,189,194,230, 51, 91, 20,127,244, 93,222,191,255,152, 95,249,213, 95,230,119,204,255, 67,247,203,255,152,111, 61, 56,
+ 97,251, 11,159,226,  5, 35, 48,117,102,220,171, 62,112, 48, 51,124,244,212,241,251,159,172, 49,181,160,148,112,171,168,232,154,
+158,170,180,188,250,226,171,124,237,168,131,207,253,  4, 92,187,193,111,173,122,190,240,237,  7,124,252,209, 61,190,250,141, 63,
+ 64,188,245, 33,105,113,  6,243, 45,190,254,218,  9,236, 94,131,249, 30,136,  9,226,232, 54, 76,102,164,191,  0,158,220,191, 44,
+182,133, 37,109, 29,192,222,156,157,232, 56,220,156,113, 93, 12, 28, 39,193,188,208,252,222, 96,115,115, 58, 56,218,206,115,191,
+235,192, 37, 78, 54, 17, 49,145,188, 94, 22, 20, 50,127,250,223, 93,173,105, 78, 79,114, 24,199, 15,121,226,255, 86, 22,187,194,
+230,209,250,209, 21,174, 95, 59, 98, 94, 84,188, 52,219, 70, 73,195,  7,205,146,191,236,154, 49, 23,194,141, 65, 89,125, 46,232,
+ 79, 22,176,218, 60, 83,254,255,181, 63, 41, 66,223,241,193,202, 48,  0,243,233, 20, 33, 18,203,  0,187, 42,210, 12, 29, 70, 23,
+148, 69,129,118, 29,239,133,  0,147,146,229,119, 63,204,254,245,209,238, 36, 46,206, 93,123,121,108,139, 64, 22,202,217, 81, 51,
+163,244, 88, 27,100, 22, 46, 63,107, 44, 58, 64, 34,214, 93,118,202,248, 46,143,110,209, 48, 47,225,120,  1,147,154,212,247,184,
+145, 50,150,146,200,254,105,171, 25, 78, 61, 41,102, 49,150, 96,153, 85,247,139,243,188,167,247,158,230,207,207,104,182,247, 96,
+ 94,179,120,188,130,249,  4,140,203, 83,179,114,108, 54,172,  1, 85,242, 70, 57,227,139,135,  7,232, 50, 43,253,159, 58,201,147,
+ 20, 81,198, 64,211, 82, 87, 51, 30,187, 22,133, 34, 20, 19,  8,  3, 94,104,142, 38,134,165,207, 72, 85, 77, 36,197,108,185,117,
+ 73, 97,147, 35,197, 64, 45, 37, 70, 74, 66,244, 20, 72,132,200,185,246,  3,  9, 31,  3, 86, 42,246,100,129, 65,240, 81,227,216,
+ 37, 67,112,172,148,196,224,169,139,  2,157,160,247, 30,173, 84, 94,112, 40, 77,240, 30,161,  5, 97, 32, 51,214,129,119, 82,100,
+ 27, 48, 90,179,173, 20, 66, 42,100,130, 38,122,118,202,  2,161, 13, 11, 55, 80,150, 59, 48,244, 76,221, 64,168, 21, 46, 57,220,
+217, 41,241, 98,172,126,177,197,121,150,221,226,243,100, 85, 91, 88,119, 80,155,108,143, 30,  5,186,153,246, 57,134,142,197,144,
+111,235,253,144,255,157, 16, 63,116, 83, 47,198,253,204,133,  2, 42,134, 31,159,237, 30,227, 24,214,160,242,200, 76,219,203,226,
+ 93,154,252, 38, 22,118,140, 36, 29,201,100, 70, 94,198,221,121,127, 73, 29,187, 16,210,149,227, 23,172, 52,249,  3, 17,  3,141,
+ 84, 28,213,134,235,117,222,111, 12,249,227,137, 85, 26, 41,  4, 67,140,204,140,101, 17,  2,143,250,129,137, 50,184,193, 83, 90,
+133,  1,134,224,113, 62,142, 35, 19, 16,163, 13,162, 77,144,164,200, 65, 41, 49, 82, 22,  5,231,206,161, 98, 96, 45,198,238, 47,
+ 74,210, 40,244, 48, 73, 32,173, 33,218, 12, 80, 88, 43,141, 87,154,101, 31, 16,202,176,244,145, 82,105, 22,163,173,192,  9, 80,
+ 34, 97,133, 38,198,200,148,200,126, 97,232, 99,228, 70, 33, 89,123,184, 54, 55, 44,252,184, 87, 49, 69,126,205,211,  5,  8, 96,
+228, 61,219,  2, 98,159, 85,193, 50, 93,134,244,168,209,187,142, 24, 51,244,229,101,166,188,240, 16,117, 94,105,164, 52,222,210,
+ 71,167,129, 22,207,156,  8,255,248,159,254, 23, 12,222,179, 90,118,128, 96,107,107,130,182,  5, 90,105, 68,202,227,187,137, 45,
+217,223,158, 80, 24,  3, 40,204, 40,120, 19, 36,196,184, 47, 55, 58,135, 88, 36,192,143, 52, 54, 57, 42,222,165,202,169,124, 82,
+228, 36, 57,141, 64,250,128, 28,124, 30, 63,197,113,229, 50, 56, 54,103, 13,195,186,161, 89,119,104, 63, 32, 99, 34,117, 14,239,
+ 50,208,165,176,134,195,195,109, 78,151, 11,190,246,135, 79, 71,229,232,152,214,151, 98,230,103, 55,129, 69, 72,124, 52, 36, 62,
+155, 36,111,244,146, 79,249,196,108,227,136,235, 13,199, 97,197,251,199, 79, 40,148,197,163,168,102,  5,  7, 91, 37,193, 74, 86,
+157,227,100,209,177,233, 28, 69,  8,204, 71, 11, 97, 24, 60,125, 63,176, 90, 15, 52,171,142,245,241,154,254,100,195,234,201,138,
+205,249,154,184, 25, 80,157, 71,251, 72,223,123,150, 74, 83, 86,134,114, 98, 81,181, 33, 21,138, 88, 72,156, 20, 44,181,226, 79,
+ 31,119, 60, 58, 93,227,155,129,147,143, 22, 28,157,183, 44,134,196,199,117,193, 50, 65,209, 58,110,198,192, 31, 55,158,150,200,
+102, 24,248,179,251,107, 14,118,106,206,159,182,124,175, 13,116,198,112,243,133, 43,188,118,235, 26,119, 23,  3,183,203,  9,127,
+119,119,194, 55, 79, 26,126,251,172,229,219, 31, 63, 96,239,214, 45,236,207,254, 44,211,237,146,159,120,229,144,151, 42,205,237,
+185,161, 52, 18,221,  5,132, 15,252,230,127,255, 63,243,254,255,254,239, 40,223,124,131, 23,125,196,  8,201,222,203,183, 25, 40,
+ 57, 57, 94,114, 79,150,184,107, 55, 88, 40,141,120,112, 23,222,251, 14,127,242,173,111,242,239,191,241, 53,120,235, 61,232,187,
+ 92,112,250, 13,220,191, 15, 67,139,152,150,136,233, 54,162, 40, 97,235,  8,113,116,132, 40,  4, 98,136,136, 43,215, 16, 47,221,
+130,163, 35,196,214, 54,251,229,156,219,211, 25, 34, 70, 14, 38,  5,195,232,120, 57,189,136, 80,245, 62, 31, 90,237,  0,  9, 30,
+111,  6, 94,180,128,115,188,127,186,224, 27,143, 22, 99,196,178,255, 43,226,178,191,241,198,110, 44, 76,199,189,249,124,202, 11,
+ 59,  7,124,250,240,136,169, 45, 16, 70, 50, 23,134,123,174,103,240, 29,172,155,204, 49,127,122,158, 85,237,205, 58,143,217,255,
+ 54, 28,140, 32, 73, 74,115,115,103,134,240,158, 46,146,209,171,  2, 74,109,  9,222,115,104, 60,223,216, 12,132, 16, 97,213,102,
+ 43, 92,159,109,174,194, 94, 68, 55, 22, 16, 37,162, 48,  8,165,161, 40, 17,133, 69, 76, 42,132, 80,200,210,230,219,120,204,107,
+ 68,145, 98,182,130, 42,131,  8, 14,169, 12,194,245,185,225, 30,134,252, 29,238,  6,196,102,200, 24,212, 38, 34, 86, 77,190,201,
+175, 55,136,193,195,166, 69,156,158,229,191, 55, 61, 98, 61,254,222,189,  3, 53,142,251,117,157,181, 82,166,132,157,233, 24, 40,
+118, 33, 16,172,242,164,177,172,184, 53,219,230, 43,123,115, 76, 97,217, 41, 70,124,110, 18, 60,118,129,101, 28, 56, 13,137,117,
+200,122,171,228,134,103,231,219,171, 90, 81, 68,129, 45, 50, 53, 51,166,200,150, 86, 68,159, 11,160,140,158, 73,138, 20, 74,178,
+114, 61,101, 18, 88,149,107,203, 38,  6, 80, 22, 73,194, 74,131, 78, 33,143,223,125, 36, 42, 69, 76, 89, 56, 56,144,216, 33,178,
+ 91, 25,132, 72,104,161, 81, 66,228,210,229, 19, 90, 37, 62,232, 29, 33,196, 44, 10,148, 10, 33, 36, 47,149, 37,  9,112, 49, 18,
+165,196,142,154, 42,167, 12,171, 20,113, 72,138, 20,145,  9,250,232,169,149,193,248,  1, 69, 98, 75, 68,194,168,119,146, 74,230,
+193,181, 20,185, 14,111,150,227,216,113, 76,165, 51,230, 50,247,196,152, 92,  7,244,232,131, 23,227,133,109, 24,158, 43,234, 90,
+143, 51,252,231,162, 37,148,248,155, 35, 11,165,204, 99,224,194, 94,142,127, 43,123,201, 12,103,140,109, 92,143,193, 15, 73,102,
+ 53,230,197,152,232, 34,194, 34,230,113, 27,117, 49, 62, 65,149, 71,105,227,174,254,213,210, 48,173, 42,144, 18, 35, 50, 47,216,
+201,156, 57,174,148,166, 13,142, 90,105,254,112,209,210,118,142,235,181,230, 60,120,116,128, 74, 74,218,222,129,200,145,156,143,
+219,129, 82,231, 78,103,209, 57,148,209,217,182, 16, 19,149, 82, 56,  4,201,  5,246, 73,156,105, 73,236,122,124,140,172, 72, 20,
+ 36,144, 26, 95, 85, 56,239, 40,116, 65,135,162, 75,153,108,118, 38,192,167,144,149,222, 33,  3, 51,134, 20, 40,165, 98,187, 16,
+180,189,163, 82,145,160,  4,123, 82,240,184,201, 98,191,225,162, 75, 75, 33,107, 20,194, 40,124,209, 58, 31, 86, 23,175,101, 84,
+185, 99,144,207, 29, 89, 23,169,115,105, 76,123,  9,227,205, 93,143,111,188, 26, 95,227,174,203, 77,216, 56, 97, 81, 63,249,101,
+126,233, 75,159, 97,213,246, 44,158, 46, 73,200,188,186, 81,153,133,190,183, 51,165,180,  5,243, 89,193,188, 42,145,163,210, 84,
+ 34, 32,141,164, 35,149, 85,168, 86,103,113,136, 72, 41,  7,173,140,141, 68, 26,189,155, 82,200, 49,152, 38,131, 10, 98,200,196,
+187, 97,240,153,130,231,  2,237,224, 56, 61,223,176,105, 58,220,224,113, 62,143, 87,205,248,103,201,  4,251,123, 83,138,157, 45,
+254,240,123, 31, 51, 91,123,206, 69,204, 13, 99, 28, 87, 16,110, 20,107,142,222,240,247,  8,124,107,136,148,  7,138, 67,171,248,
+194, 65,197,203,147, 25,135,  9, 68,116, 68, 31,112, 62,225, 18,172,218,129,229,170,101,209,244,136,224,217, 45, 12,211, 50,231,
+ 27,120,151,247,231, 67,215,211, 54, 61, 67,219,179, 92, 54, 60, 89, 55, 44,186, 30, 98,196, 36,129, 34,145, 72,180, 49,145,148,
+194,100,  3, 63,201, 72, 82,169,112,243,130,149, 86,188, 88,192, 23,107,195,225,142,229,212, 42,238, 46,  7, 78, 14, 39,204, 39,
+150,193,  7,134,179,142,173, 39, 75,222, 30,  9, 78,201,193,103,125,224,231,118, 43, 30,118, 29, 77, 10,236,213,  5,213,149, 57,
+219,251,115,234,170,230,211, 51,195,235,237,192,187,239,221,229,119, 99,201,245,175,124,133,151,175,237,179,175,  4,  7, 90,112,
+ 85,195, 47, 76,  5,247,158,174,184,251,135,111,243,245,255,237,255,228,247,255,135,127,203,209, 52, 81, 87,146, 15,255,199,175,
+ 82,117, 31, 49,125,245, 53,206,128,191, 76, 80, 29,204,120,241,149, 67,142,136,124,251,155,127,  8,127,241, 29,120,114, 31,119,
+255, 62,226,116,253,  3, 80,160,252,201,144,136,197, 89,222,111,207, 10,196,214, 17,170, 40,249, 71, 55, 95,224,239,221,121,157,
+171,135,215,120,239,251,119, 17, 33,241,147, 71, 59, 28, 23, 91, 28,104,205,142, 18, 24, 99,209, 41,175,116,154,224, 56, 30, 28,
+196,  1, 81, 76, 16, 59,219,121,106,178, 92, 34,218,200,251,167, 75,222,122,248,148,251,103, 27, 68,212,136, 43,123,136,214,255,
+ 64,244,241,143, 23,194,217, 44,130,187,114,  0, 71,251,176,181, 13, 69,137,179, 83,238,204,166, 40,173, 48, 82,161,  8,232,190,
+225,254,201, 73, 46,226,143,206, 96,125, 14, 87,175,194,147,167, 63,158,140, 88,215,207,133,130, 36,152, 84, 60,238, 61,135,211,
+154, 46, 69, 62, 51,181, 60,241, 16,195,192, 65, 33,121,212,229,203,195,208,182,163,104, 42, 55,240, 66,171,204,105, 40,107, 68,
+ 85, 32,172,201,227,244,249, 12,153,  4,162,178,200, 20, 17, 69, 46, 92, 66,  8,132,136, 72, 45,145,214, 34, 92, 14, 45, 82, 49,
+ 34,147,207,134,164,  4, 50, 70,228,186, 65,246,153,167, 32,124, 64,182, 77, 46,238,155, 14,209,118,185,240, 55,185,105, 19, 62,
+ 32,100,  1, 87,174,114,227,104,135,163,107,123, 28,237,205, 41,107,195, 82, 87,136,178, 64,236, 76, 17, 91,219,168,249,156,106,
+107,155, 80, 22,164,162,120,246,154,191, 86, 88, 14, 38, 53, 82, 42,134,144,198,115, 56,129, 75,156,134,200,189,161,203,151, 62,
+ 55, 18,244,136,144,  2,109,130, 59,181, 65,199,156, 24, 90,  8, 40, 83,196,117, 13,237,208, 97, 99, 64,165,196,208,247,204,132,
+160,  0,108,244, 84, 66, 50,144, 24,162,103,199, 88,124, 12, 56, 33,184,219, 39,206,156,199,227, 51,161, 14,232,  7,199,  3,239,
+216, 79,145, 93,107, 41,165, 70,166,152, 97, 48,  4,158,180,  3,167,206,225, 66, 32, 41,137, 82,154, 47, 84, 21, 37, 89,255, 85,
+168,156,216, 87, 22, 19, 42,169, 24,156, 67,217, 60,105,216,160,152, 25,141,140, 48,179, 53, 41,180, 28,136, 64,109, 21,251,165,
+101,207, 74,162, 80,244, 62,145,252,152, 65,146,252,152,210, 55,214, 70,173, 70,173, 90,186,140, 10, 30, 70,132,112, 14,236,135,
+162,120,174,168, 95, 40,238,210,115,217, 80, 63,142,109,252,188,  5, 68,141,183,113,165, 47, 11,186, 85,227, 19, 10,121,167, 22,
+195,229,168,190, 40,176, 55,174, 19, 86,203, 17, 88,114,193, 88, 38, 63,190, 26, 21,219, 77,151,159, 71, 81,112,125,103, 70,141,
+ 96, 90,228, 49, 85, 31,  7, 10, 12, 46, 69,172, 22, 88, 20,143,188,195,137,192,227, 33, 98,100,226, 69, 85,176,118,158, 46,  4,
+172, 16,  8,149,133, 86, 59,133, 97, 25,  2,141, 11,204,166, 85,142,241, 84,138, 66, 10, 54, 41,209,135, 64, 73,162,213,  2,235,
+  3,105,200,183, 92,149,  2, 58, 10,158, 36, 79, 82,  2,165, 13, 31,244, 30, 33, 21, 15,135,158, 94, 41,206,164,204,190, 71,160,
+ 25,195, 86,124, 76, 28,105,141, 78, 17, 37, 34, 69, 76,148,192, 58, 69,174, 25,197, 11,219, 53,247,125, 34,117, 67, 46,196, 23,
+ 54,136,139,244, 33,153, 35, 31,145, 41, 23,118,105,242,107, 27,199, 27,119, 26,111,235, 23, 35,246, 36,126, 16,109, 43,121,  6,
+202,201, 34,186,252, 33,124,253,211,175,241,147, 95,184,195,211, 39, 27,154, 77,135, 82,138,174,113,184,198,209,181,158,201,180,
+230,214,254, 22,187,149,165, 48, 38, 55, 42, 58,119,174, 81, 36,122, 23,241, 49, 97, 20,148, 54,243,212, 99, 74, 12, 99,164,156,
+ 18,185, 24,199,139, 29,224, 40,242,115, 62,211,152, 92, 12, 52,206,103,158,186,143,244, 93,207,226,188,165, 25, 28, 68,207,224,
+ 60, 93, 55,228,141,142,200,  1, 14,251,187,219,172,207, 23,220,251,131, 39,168, 82,112,220,197, 60,141,136,  2,218,231,242,236,
+159,159,187,238, 42,238, 29, 89,222, 42,  4,195, 78,201, 83,  1,167, 34, 51,220, 85,240, 20,194,160,133,162, 64, 96, 84,166, 85,
+ 29,108, 85,236,110,215, 20,165,205, 72,202, 68,166,170,141,152,198,204,216,137,156,183, 89,205,155,  4,168,148, 70, 68,120,110,
+ 98,156,148, 56,161,  8, 42,191, 15,186,208, 24, 37, 41,140, 96, 57,102,227,123,145,216, 19,137, 15,143, 55,188,110,  3,219, 49,
+208,  5,136, 66,176, 16, 18,171,  4,125, 76, 92, 73,240,138, 17,184,110,224,107, 70, 49, 49,134, 55, 15, 74, 14, 38, 26, 81, 20,
+ 76,247,167,124,254,250, 14,179,171, 51,222,155,238,243,237,233, 54,147,189,  9,159,214,137,185, 27, 48,109, 71,179,110,120,122,
+182, 70, 60, 94,112,179, 86,184,205,154,117,179,102,209,  4, 78,222, 31, 16,175, 78,248,169,191,115, 19,117,125,143, 43, 47, 31,
+ 32,164,224,222,247,143,249,232,253,  7,156, 63,124, 72,124,248, 33,203,  7,199,136,126,200, 99,217,  8,130,248, 67,240, 22, 63,
+202, 54, 92, 46, 10,201,129,173,249,197, 59, 55,216,169, 11,254,217,160,240,135, 87, 16,187,219, 60,146,  5,164, 64, 37, 13, 83,
+109,184, 58, 41, 41, 68,164, 16,  1,209, 59, 62,218,172, 16,218, 34,182,246, 96,114,128,216,158,163,106, 11, 50, 33,154, 11,128,
+209,152,203,208,244,192,128,248, 17,103,150,184,208,254, 76, 39, 57,218,245,224, 16, 14,247,178, 77,109,103, 43,219,211,138, 18,
+180,166, 87,150, 79,  9,137,148,121,122, 38, 82,226,244,252,152,251, 79, 78,224,238,147, 28,158,227, 60,156,158,253,248,130,190,
+189,199,252,179, 47,209, 47, 54,121,202,160, 68,214,121,204, 38, 68,149, 49,167, 31,246,  3,  3,217,122, 26, 19,156,247, 61,125,
+ 31, 16,198, 16,156,  3, 23, 16, 86,231,255,183,158, 34,234, 18, 68, 68,212,249,134,107, 10,139,157, 90,180, 15,204, 39, 37, 59,
+ 66, 80, 72,197, 16,  3, 90, 10,132,144,200,110,200, 43,175, 24, 81,147,  2, 57,228,226,167,  0,213, 69, 84,148, 40, 76,182,173,
+186,132,114,  9,233, 61, 50,133, 92,244,131, 64, 42,141, 40, 45, 98,178,141,216,218, 98,111, 86,240, 51,219, 21,183,108,193,157,
+121, 77, 97, 44,161, 44, 56,223,223,167,158,239,176, 85, 87,236, 84, 53, 62,121,164, 52,227,170, 77,160,132,230,166,209,236, 21,
+ 38,163,175,147, 64,132, 72,146,146,227,182,227, 27,235, 53, 41, 14,224,218,172, 77,232, 86, 99,124,238, 64, 43, 18, 47,  6,207,
+158, 86, 36,223, 81,199,132,107,214, 44,134,142,171, 41,103, 59,216,152, 87,176,132, 76,127, 44,  0,235,  7,180,202,142,149, 97,
+ 20, 94,159,196,200,159,175,215, 52, 82,147,146,224, 65,223, 81,168,130,227, 24,242, 20,163,239,216,150, 17,225, 29, 49, 56,226,
+208,211,224,249,214,217,146,110,252,188, 79,149, 66,  1,187, 66, 81, 26,149,203,154,212,  8, 33, 33,120,130,174,208, 35,108,204,
+105,139,141,142,101, 20, 76,132, 64,132,129,153, 45,136,110,160, 84,144,198,122, 87, 40, 40,149,196,106, 73,144,138, 96,116, 22,
+204, 73,159,235,231,152,240,137, 24,217, 42, 93, 51,  6,190,141,122, 54,149,243, 74,126,112,252, 30, 46,114,216,185, 76,189,249,
+ 91, 89, 64,200, 35, 22, 57,222,192, 47, 30, 68,140,129, 41,221,152,166,211,249, 60, 82, 10,145,176, 89,229,142,204,135, 75,114,
+155, 27, 50, 39,118,221,193,122,117,169,  6,175, 75,182,167,  5, 59, 69,145,  5,108, 72, 10, 85,176,137, 61, 70, 10,140, 52, 36,
+ 18,231,222,177, 14,142, 70,  8, 92, 23,209,210, 51, 55,146,117,140, 44,187,241,131,170, 37, 49,101,244,101,101, 77, 30,205, 11,
+193, 68,105,150, 49, 32,200, 59,228, 42,101,171, 28, 33, 80,196, 64,138,153,237,221, 39,193, 32,243,248,229, 97,132, 61, 45,249,
+190, 11,120, 83,114, 50,244,184,232,113, 73,162,136,180, 49,162,147,224, 64,129,213, 17,145,  2,115,  1, 83,107, 96, 24,152, 75,
+  5,  8,206, 18,124,170,182,116, 74,209, 92, 88,253,144, 63, 56, 59,212,242,146,102,119, 33, 46,212, 35,201,229,194,218, 38,198,
+155,186,146,185,240, 95,  8,242,146, 24,173, 46,126,132,188,100,242, 67,177,176,  0,  0, 32,  0, 73, 68, 65, 84,171,216,237, 87,
+ 95,229,149, 87, 94,100,189,238,243,205,184,207,169,105,222,  7,124,151,168, 39, 37,175,223,216,101, 90, 91,172,214,  4,145, 15,
+138,156,155, 76, 30,177, 75, 40, 68,246, 62,167,209,206,230, 99, 32,196,244,236,105, 10,153, 15, 49, 59,178,141,  7, 23, 17, 33,
+ 16,198,176,149,228,  2, 67,231, 56,105,  6, 78,154,158, 85,223,115,188,110,216,120,135, 31, 60, 25,101,223,227,165,100,182,187,
+205,253,183,238,145,214,142, 91, 42,115,  1,174, 32, 88,196, 68,120,158, 29,112,193, 55,190, 83,192,142,201,130, 45,163,184,215,
+ 37, 62,238,  2,107, 19, 88,  9, 40,167, 19,236,124, 11, 61,159,176,189, 93, 51,159,150,204,107,195,254,180,100, 54, 41,209, 70,
+227,147,192,187, 72,219, 13,217,187, 30, 99, 14,149,  9,145,206, 69,186,206, 17,124,198, 90,202,152, 50, 40,104,116,  8, 12,128,
+ 83, 25, 91,151,164, 96,183,233,169, 63, 58, 33,189,245,  9,233,235,239, 48,251,179,143,216,187,191,224,197,162, 96,103,171,226,
+228,147, 53,205,163,  5,161,113,116, 10, 82,145,227,104, 95,148,138, 69, 76,252,249,137,167,209,130,182,115,148, 90, 96,218,200,
+253,214,243,193,202,241,241,144,248,176,135, 79,148, 33, 86,150, 97,  8,220,238, 59,118,154,158, 97,177,225,227,227,117,182,218,
+101,172, 32, 46, 86,172,194,130,122,191,224, 75,191,252, 38,191,254,243,111,242,223,124,254, 53,182,174,110,225,172,102,249,222,
+ 35, 62,249,224, 33,215, 53,124,110, 82,241,133,249, 54, 47,204, 20,223, 93,  5,104, 55,136,232, 17, 38,219, 19, 47,139,122, 68,
+212,183,145,111,126, 30,113,243, 14,226,250,203,136,217, 14, 87,183, 38,204, 69,226, 74, 23,120,176, 92,243,139,  7, 87,184,187,
+ 94, 66, 72,108,136,188,161, 53, 59, 50, 97, 83,160,242, 30, 25, 91,222, 58, 59, 71,110,214,136,178, 66,216,  2,129, 34, 13, 27,
+ 68,223, 32,106, 11,123, 51,132,169,248,213,215,142,184,179, 59,225,237,167, 13, 12,221, 95, 29,185, 23, 83,120,225, 42,236, 29,
+192,213,189,188,239,221,154,230,208,142,162, 26,225, 40,105,252, 30,121, 30, 56,199, 81,136,152, 52,112,126,246,152,175,126,114,
+ 31, 30, 62,201,222,247,191,233,146,243, 12,153,236,232,165,133,179,179,124,174,198,139,232,102, 69, 83, 88, 86,206,211, 39,104,
+218, 64,167, 18, 27, 31,233,135,192,  6,143, 31, 28,116,  1,107,243,249,144,180, 65, 16, 80, 42,239,165,139, 82, 19, 29, 28, 78,
+205,232, 26, 82,185,200,133,200,220, 42,218,148,115, 33,235, 81,232,162,146, 66,181, 29, 42, 73,180, 11,104,105,208,  4,246,109,
+193, 63, 60,156,241,230, 94,205, 11,181,229,227, 38,162,  2,168,120, 97,213, 53, 72, 99, 17,214, 32,117,133,212,185,153,248,233,
+173,130, 29, 83, 80,105,205, 34, 38,116,105,169,103,115, 30, 71,129,214, 37,133,204,194,229, 76, 18, 21,244,126,  0,105, 72,113,
+ 96, 11,184, 94, 20,  8, 55, 80, 11, 73,232, 91, 78,219,134,223, 61, 57,165, 27,214, 57,133,175, 89,193,226, 41,180,163,173,111,
+232, 32,244,152,232,217, 52, 27,186,161,165,239,214, 12, 67,199, 86,191, 70,186,128, 13,137,105,200, 23,132, 42,  9,118,132,196,
+ 39, 48, 33,210,251,142,132,228, 81,240,172,147,224,173,229, 26,107,167, 36,223,147,144,212,202,176,246, 29,219, 74,179,118,142,
+208,110,104, 86, 13,222, 53,  4,153,120,178, 94,114,127,221,177, 28, 28,173,115, 36, 18,221,208, 51, 16,216, 54,  6, 43, 50,251,
+194,146,176, 66,146,180, 33,  6,207, 41,146,227, 48, 48, 17, 32,117,137, 26, 28,115, 35,144,193, 67,215, 83, 88, 75,240, 45,117,
+  2,111, 20,201, 71, 42,149, 47,212,165, 21,153,211, 82,216,231, 44,201,  2,250,238,178,102,106,149,195,134, 24, 51, 11, 98, 78,
+116,253,171,234,247, 24, 47, 63,132,127, 93,  1,151,250,  7, 49,159, 66, 92, 42,241, 34,151, 66,185, 11,216,251,133, 71,218,218,
+203, 28, 91,247, 67,143,225, 70, 41,127, 24,159,112,235,114,178, 82, 85, 66, 93, 82,138,200, 81, 97,152,154, 18,129,100, 21, 28,
+ 83, 93, 18,162,160, 79, 16, 68,192, 10, 88,184,200, 39,141,231, 90, 37, 25, 66,224, 44, 68,204, 16, 88,201,172,202,143, 46,199,
+196,182, 73,228, 24,117,165,242,196, 54,146, 83,191,144, 20, 66,210,199, 72, 17,  3, 67, 18,116, 74, 33,164,196,143,201,125,149,
+135,115, 45,153,134,200, 67, 15, 75,165, 88, 71, 55, 22, 85,129, 75,129, 77,136, 52,209, 35,146,103,146, 18, 83,  9, 53,185, 24,
+ 22,193,161,165,194,199,200,164,180,108, 27,205,169,200,138,218,149, 45,242, 37, 83,141, 10,179,231,221,  1, 41,230,155,188,139,
+121, 23,200,  5,185, 45, 94,194, 99,226, 69,214,251,120,180,153, 81,189,102,244,200,219,189,  8, 67,128,159,249,202,207,176,123,
+101,155, 16, 35, 67, 31,104, 22, 13,235,245,  6,107, 11, 78, 78, 87,104, 59,225,229, 27,187,148, 54, 51,212,165, 84,132,152,242,
+ 91, 68, 64,164,236,213, 45, 74,133, 30,195, 88,252,152,177, 28, 71,155,218,  5,232, 69, 32,198, 36,169,152,  5,112,206,209, 53,
+ 61,193,121,196, 16, 88,121,207,113,235, 88, 53, 29,184,192, 89,219,225,130, 99, 19,  3, 27, 96, 45,160,222,154,178, 17,137, 63,
+125,235, 17,111,117,249, 80,148, 74,242,229,160,248,251,104,254,126, 97,120, 67, 73,222, 43,  4,189, 25,111, 70,175,207, 96, 90,
+141, 47,166,  6,145,  8, 14,180, 85,212,133, 97,111, 58, 99, 50,155,161,203,146, 80,228,195, 72, 11,193,150,177, 84,133, 65, 42,
+ 69,240,137,166,117,156, 44,214,156,158,183,108,250, 17, 11,219, 57,214,155,129,245,166, 99,221,117,185,  1,145, 18, 45, 37,133,
+145, 24, 96, 82,106,182,119, 10,230, 51, 75,112,142, 39,247, 31,176,127,218, 33,124,226,129,244, 57,203,190,239,153,111, 58,246,
+118,118,  8, 50,241, 72,129,216,169,209, 86,209, 38,193,118,130,166, 79,220, 95,  5,214, 49, 81, 78, 44,122,183,230,212, 11, 30,
+184,196,162,143, 60,237, 60,199,  3,120, 33,179,251, 66, 64,104,  3,251,131,203, 97, 56, 72,206,238, 29, 83, 27, 69,187,104, 49,
+ 51,139,220,169,217,189,118,157, 95,248, 71, 95,230,205,159,124,153,159,191,177,203,180,214,252,243, 63,249,128,111,125,245,235,
+ 60,125,255, 67,110,148,130, 89,105,153,134,132,145,  5,201, 88,222,242, 61,190,139, 99, 97, 79,185,176, 43,133,188,253, 58, 63,
+247,139,191,194,111,255,183,255, 21,159,253,244, 27,252,235,165, 69, 62,249,  4,249,206,159, 35,131,197, 37,195,106,211, 96,165,
+228,108, 24,104, 99,142, 66,150,209,113,147,200, 92, 38, 84, 28, 48, 41,178,105,214, 60,238,123,220,147,115,196,189,251, 89,251,
+169, 20, 82, 36,132,212,224, 59,196,131, 83,254,201,157, 67,126,253,181, 79,243,217,253,  3, 22, 69,226,131,133,131,144, 16,113,
+140,225,156, 78,224,230, 17, 95,186,253, 41,234,157, 93,202,233, 22, 43, 61,238,126,149,186, 12,250, 96,188,241,251,142,161, 93,
+211, 54, 27, 30,156,159,240,205,239,223,135,227,211,156,124,199,143,192, 27,255,184,  9,102,211,252, 96, 90,157, 27, 71,168,205,
+112, 57, 65, 27,157, 56,105,240, 52,222, 99, 70,139,174,208,130, 42, 64,111, 36,133,128,163,210, 96,129,118,228,153,239, 20,154,
+198, 69,182, 74,203,174, 49,180, 68,166,214,112,210,122,230,133,204,118,232,144, 87, 99,186,203,152, 85,147,  6,140,210,152,102,
+192, 24,205, 87, 74,203, 94, 97, 50, 61, 86, 74,182,181,228,113,155, 80,165, 70,111,213,168,178, 70,238,214,200, 73,141,156,150,
+200, 74,241,159,239, 20,220, 41, 45, 59, 90, 19, 17, 72,171, 25,132,100, 72,112,234,179, 21, 24,153,168,164,193,225,240,193,101,
+ 86,215,144,119,240,141, 31,  8,125,203, 21, 41, 56, 91, 28,211, 14, 61,191,127,239, 46,199, 79,143,225,244,  4,214,107, 56, 63,
+207,  1, 66, 93, 63, 38,255, 13,208,108,120,218,246,124, 60,180,124, 48, 12, 52,155,  6, 57,116,236,196,136,  9,129,  9,137, 77,
+ 12, 28,232,146, 74,  8,186,148,152, 11, 73,163, 36, 38,230,128,160,211, 24,248, 78,151, 88,107,131, 14,  3, 66, 23,  8,  1,165,
+144,  8, 98,230,235, 36,193, 16, 60,171,117,203, 39,203,150,187,103, 13, 79, 66,196,247,  3,221,224,216,145,146,174,237,153, 24,
+197,224,  3,167,125,207,129, 18, 28, 22, 26,163,178,128, 88,105,201,105,128, 37, 34, 35,192,165,196,198,136, 22, 48, 12, 29, 69,
+ 24, 72, 82, 48,193, 81,134,192,106,240, 76,146,200,131, 28,173,242, 25, 21, 18,149, 18,  4,161,112, 74, 93, 78, 95,149,185,140,
+145, 45,108, 62,211, 47,146,233,194,  0, 46,252, 71,196,196,234, 25, 76,203,252, 66,119,237,229,135, 54, 93, 40,247,210,229,248,
+253, 98,132, 44,212,179, 66,146, 71,201,207, 41,223, 47,190, 76,207,212,219,163, 80,172, 30, 57,228, 85,206, 54,182,194, 34,133,
+100, 57, 12,148,214,162,144,172,253,128,212, 22,237,  7, 90, 20, 18,135,150,146, 24, 34, 15, 59,152, 72, 65,233, 29,143, 82,182,
+190, 45,  7,  7,117, 73,227, 28,214, 40,146,135, 70, 36, 42,165,233, 72,104,149,139,211,202,123,106,107,136, 74,162,  9,248,212,
+114, 98, 20,120,143, 73, 30, 33, 52,190,233,  9, 19, 65, 45, 28,101,  7,141, 46,178, 86,  0, 96,104,137, 49, 91,250, 22,195,192,
+182, 22, 92,179, 53,141,247, 28, 26, 67,231,  4, 62,  4, 14, 39, 83, 22, 67,135, 19,130, 93,  4,167, 69,205, 52,118, 44,170, 34,
+199,199,202,220,209,225, 47,112,146,163,107, 64,143,183,  1,127, 33, 56,140, 57,176, 70,170, 60,138, 30,252,  8,204,  9,227,127,
+ 99,243, 62, 93,155,172,220, 21,121,106,226,135,252,129,152, 78, 11,214,139, 14,165, 21,214,232,124,214,140,161, 54, 77,231,217,
+155,149,  8, 41,242,197,223, 11,162, 72,200,152,211,247,130,143,120, 35,178, 48, 19,137,210, 18, 39,178, 15, 61,164,188,  2,  8,
+ 49, 61,235,220, 37,  9, 27, 35,161,243,136, 16,177, 72, 54,193, 51, 12,129,101,211,211,199, 49, 39, 93,102,  6,242,128,160,141,
+ 61, 19, 41,217,191,126,200,123, 31,220, 67,  7,216, 70,240,189,141,  3, 31,249, 30,145,162, 77,252, 92,165,184, 89,106,126,197,
+ 41,126,242,214,140,119,222,218,112, 60, 43, 81, 47,189,192,227,110,195,102,112,156,116, 29, 31, 30,247,108,149,138,106,156,100,
+  4, 34,221,208, 35, 86,146, 97,  8,132,222,179, 95,151, 76, 71,123, 99,219,  6, 78, 78, 27, 62,186,119,198,122,211, 94,222, 76,
+165, 96,232,  7, 26,215, 49,116, 29, 94, 41,114, 34,124, 22,216,108,205, 75, 14, 94,220, 98,182, 55,101,182, 59,225,189,239, 63,
+230,131,166,167, 85,112,211,193, 67, 25, 25, 74,193,206,102,224, 86,227, 41,191,115,151, 87,215, 13,175,237,212,204, 94, 63,226,
+254,213,146, 73,227,216, 44,  7, 30, 13,240,141,100,120, 49, 42,190, 60, 53,252,191, 14,222, 63,239,169, 35, 20, 70, 50, 31, 60,
+122, 82,128, 80, 24,173,184, 35, 21, 55,182, 21,133, 51,136, 85,195,241, 91,239,114,235,198, 62, 47,224,120,242,201, 99,218, 43,
+ 19,234,218,160, 10, 69, 81, 22, 28,159, 44,249,151,119,159,242,207,127,251,247,120,244,241,146, 23,182, 13,  7,135, 91, 24, 93,
+ 82, 20, 37,178, 27, 56,239,214,156,198, 68,220,218,193,220, 82,  4, 25, 72, 79, 31, 33, 94,126, 19,110,190,  4,251, 47,114,116,
+117,151,205,147, 51,126,227,255,250, 29,244,239,126, 23,241,197,151, 16, 71,215,217, 81,  2,183, 92, 96,164,226,165,162,100, 49,
+116, 28,  3, 41,120,196,208, 34,101,139,223, 24,106, 91, 32,130, 99, 66,100,123,189,164, 89,158, 19,143, 79,136,253,154,116,251,
+ 83,196,157,  3, 82, 89,145,108, 73,178,134,223,120,239,  1, 87,240, 28,204,118,248, 94,235,179,183,252,188,132,176, 70, 40, 75,
+ 58,218,129,189,125, 38,102,194,223,217,219,101,145,114, 72,213,191,109,150,121,189,103, 71,226,149,243,153,118,181, 88, 66,227,
+184,191,217,100,199, 73,234,199,181,225,104, 31, 13,241,111,127, 86,254, 40, 46,250, 98,  1,187,123,151,156,134,209,  6,156,198,
+113,238, 48,  4, 10,157,149,236,107, 55,112, 93, 27,  6,173, 56,137,137,155, 19,141, 31,  4, 49,207, 16,185, 82, 21,108,  6,199,
+138,236, 78,153,  0,117,101,232, 99, 98, 72, 41, 63,101, 31,145, 87,246,144, 82, 83, 76, 44,184,129,212,244,220, 26,  6,110,232,
+204, 55, 80,  2, 54, 46,112,173,176,212,187,150,184, 55,131,189, 25, 87,170,154,164,  5,167, 67, 75,227, 29,175, 18,249,172, 81,
+212, 90,114, 84,148, 60,117, 29, 79,162,199,  3, 31,116,  3,167,162,196,168, 60,133, 91,135, 13, 73, 38,214,109,  3,222, 33, 54,
+ 27,146, 80,172, 55, 45,223,148,145,111,202,209, 86,146,  2, 44,250, 49,179, 99,156,244, 14, 25,226, 50,238,184,242,244, 81, 11,
+ 88,174,159,157,177,119,165,102,119,219,210,  6,193,190,206,  4, 54,141,160,137,142, 82, 26,166, 82,112, 46, 20,197, 24,202,213,
+111, 22, 24,171,217, 69,179,113,  3, 24,131, 14,142, 32,  4, 94,106, 22, 17, 90,198,137,243,176, 33, 40,152, 71, 73, 39,  5,219,
+ 17, 58, 33,217,158,151, 28,247,145,131,121,205,227,214, 97, 11,197, 64,164,239, 55, 44, 84, 32,161,169,116, 73,215, 12,156, 10,
+197,137,157,161,147,103, 75, 90,124,236, 65, 41,170, 36,232, 98,100, 87,  6,156, 27, 48, 74,178, 85, 26, 78,  6,199,150,132,165,
+119, 20,104, 38,  6, 22, 36,154, 16,144,182, 32,166,  0,194,254,224,103,105,185, 25,131,141,234, 60, 17,170, 74,112,254,185,162,
+174,245, 37, 41,230,199,141,221,167,117,142, 33, 44,170, 92, 32, 46,126,  6, 46,139, 77,188,192,201,245, 99,228,233, 88,236,237,
+115, 93,174,243,151,227,126,212, 37,108,  4,153,173, 90,106, 84,193, 63,103,159,219,132,200,196,234,204, 47,209, 50,231,175,248,
+ 33, 91,179,188,167, 65,176,171, 21, 69, 33, 89, 15, 25,  8,163,141,160,245,254, 89,202,253,178,115,168,202, 82,185,136, 55, 30,
+  6,205,153,114,108,219,140, 51,108, 83,196, 40,197, 34, 95, 71,153,105, 65,131,198,182,  3,219,192, 70,107,214,193, 51, 67,243,
+168,237,  8, 93, 71, 61,155,114, 26, 37,108,250,203, 72, 86,  9, 52, 27,176,138,224, 35,239,159,173,248,220, 86,126,209, 39,232,
+ 49, 38, 87, 50, 49, 22,173, 10, 78,104,217, 45, 19, 77, 47, 51,115,  5, 46, 51,224,155,110,220,157, 95, 28, 42,242,146,250, 22,
+228,232, 58, 24, 27, 34, 41,243,239,234,135,252, 62, 68,159, 91,118,171,243,123,164,220,104,253,241,104,107, 41,173,225,228,108,
+131, 27, 11,188,214,  6,151,  2,162, 44, 40, 37, 20,101,206,  6,200,251,242, 11,105, 68, 78, 82,235, 98,192, 17,145, 61, 88,173,
+144, 57, 69,  6,169, 50,139,152,144,111,238,217, 46, 47, 81, 49,195, 94,116,  2,163, 36, 90,107,188,  8,184, 16,232, 55, 30,223,
+ 56,232, 29,125,240, 24, 33, 88,165,196, 10, 40,172,225,104, 58,101,111,127,139, 63,250,147,239,241,221, 38,239,208, 16, 49,255,
+174, 83, 77,223, 58,254,213,185,203,193,241,107,207, 59,231,  3, 47,110,107,138, 39, 13,146,123,220,216,153,242,194,214, 46,250,
+250, 14,223,219,121,204,100,182,197,164,174, 41,102, 83, 14,143,118, 88,117, 67,222, 16,109,122,154, 36,232,132,192,  9, 24,122,
+207,217,162,225,238,253, 19, 30, 62, 56,103,240, 29, 41,100,108,167,136, 17, 31, 99,166,167,249,132, 64,179,232,  5, 82, 25,148,
+130,253,189,138,122,119, 74, 49, 45,113, 41,113,214, 42,110, 79,247,248,254,233, 83, 30,184,150, 77,219, 32,140,164, 25,122,174,
+  4, 69,179, 56,102,111, 19, 88,196,134,217, 39, 11, 78, 95,152, 96,103,154, 35, 83,112, 16,225,198, 85,197,181,101, 79,215,  5,
+126,213, 74,254,167, 85,207, 73,227, 25,  6,216, 41, 36,147, 66,113, 22,224, 80, 11, 62, 59, 51, 28,213,138, 19,  1,111, 63, 78,
+124,229,240, 21, 22,201,113, 32, 18,159,217, 46,249,227, 69,203,195,239,220, 99,231,232, 42,211,123,103, 92,145,130,111,126,247,
+ 33,119, 80,108,109, 91,116, 93,176, 85, 79, 49, 66,211,173,150,220,125,252,144, 83, 93,177,116, 41,239, 67,203,154,161, 56,128,
+ 47,127, 38, 39, 89,181, 27,196,215,254,128,223,248,238,130,127,241,134, 66, 93,217,197,124,233, 14,162,156,176, 91,207, 57, 16,
+154,137, 86,163,169, 38,208, 13,158,207, 19,217,154,239, 66,154, 51,167, 37,173,206,169,162,195,132,  0,203,115, 94, 63, 95,241,
+180,237,137,  6,194, 98, 65,252,222,251,196,219,142,120,253,  6, 73,193, 23, 95,186,195, 27,183,111,241,199, 31,188, 75,255,240,
+ 29,238, 29,247,136,170,134, 74,147,216,206,201,150,211, 41,111, 76,106,110,109,111, 97,133,228, 74, 97, 40, 69,143, 90,231,176,
+ 70,218,113,127,123,190,202,141,239,249, 58, 23,115,158, 43,200, 74,130, 48, 57,103,253, 63,164,168,255,117, 63,171,213,104,253,
+213, 35,255, 66, 17, 92,204,199,156, 17,244, 46,177, 45,  3,229, 78,205,227,245,192,190,149,220,172, 18, 15,186, 64, 39, 20, 83,
+ 18,133, 53, 28,167,196, 43,133,193, 42,184,110, 53,171, 33,240,168, 25,152,151,130,166,143, 72, 31, 81,218,160,171,146, 91,243,
+ 41, 66,107,164, 31,136,147,158, 47,  9,207,203, 74,161,  6,199,241,178,227,233,186,231, 35,239,153, 86, 21,177, 40,198, 44,144,
+128, 68,163,180, 34, 16,121, 81, 68, 38, 90, 82,250,196,169, 95,178,173, 13,157,115, 28,  7,184,231, 65,153,136,111,219,108, 68,
+233, 90,210,122,141,104,123, 82,215, 67,231, 16,195, 64,146,238, 50,228,231,  7, 64, 95, 41,171, 92,203,145,148,103, 60,108, 70,
+ 32,141,119,224, 70, 43,244, 72, 59,139,210,241,180, 53,220,175, 19,  6,184,154,224, 64, 41,206,165, 34,166, 68, 47,179,125,248,
+ 52, 37, 26,160,172,166,232,216, 17, 92,139, 80, 37,131, 15,120,157, 39,199,103, 67,135, 21,154,117, 28,178, 86,201,214,176, 13,
+203, 85, 67,225,123, 54,  2,156,213, 48, 68, 68,101, 57, 67,240, 74, 93,240, 46,153,123,209,171,130,223, 91,116,212, 90,243,134,
+ 13,188, 39, 36,235, 16,  9, 33,176, 85,206,240,205,130,189, 98,134,175, 39, 16,  3, 59,  4,154,205, 19,166, 90, 67, 12,172, 99,
+100, 79, 43,156,207,154, 45,159, 28, 43, 31,241, 14, 10, 41,243,250, 66,233,209,185, 60, 54, 62,113, 12,173,113,125, 46,238, 90,
+ 67,219, 65,122,254,166,110,245,165,100,254,199, 21,245,161,  1,202, 92, 52,158,221,180, 61, 88, 55,250,163,199,  4, 57, 63, 90,
+180,188,191, 28,  5, 95,220,200, 47, 10,248,133,218,254,226,159,155,238,242,198,127,193, 13, 30,233, 99,239,169,130, 23,165,160,
+151,146,  2,216,196,152,119, 55, 82, 18, 99,196,249,129, 18,197, 82,122,212,136, 46, 91, 43,197, 68,  6, 76,161,105,157,231,110,
+ 19,120, 97,  2,170,247,172,140,162, 38,146, 76, 66,171,114,132,132, 64, 37, 36, 29,176,140,145,235, 90, 35,131,167,198, 32,133,
+231,201,232, 10,159, 40,205, 58,  4, 10,161,120, 52, 64,116, 29,181,116,153,204, 19,251, 49,190,207, 65, 10, 40, 97,121,226,122,
+190, 48,175, 88,123,199, 84, 40, 38, 90,161,180,201,163, 94, 44, 50,  5, 10, 37,168,124,226,250, 86,201,112, 62,176,190,120,103,
+124,155,247,127,171, 46,127,232,149, 29,189,178, 49, 63, 25, 63,118, 84,202, 94,142,  6,227,184,147,143,163, 40,206,199, 75,149,
+114, 24,217,237,162,196, 22, 10,171,243, 72,189,158, 78,114, 40,221, 38,147,209,246,171,154,157,189, 41,125, 15,165,209,  8,145,
+105,108, 81,100, 43, 91,206, 97,143,196, 33,208,235, 72, 29, 21, 33,138,203,129,140,144, 99, 10, 98, 22,229,136,148,208, 82,100,
+123,188,204, 35, 41, 25, 19,209,103,222,186, 86,130,  3,165, 57, 47, 10, 68,  8, 44, 82,162,142,145,101,190, 18, 83,212,  5,235,
+243, 13,220, 95,147, 60, 76,181,102,221, 15,208,132,252, 90, 92, 55,240, 73, 15, 27, 15,  6,190,190, 47,248, 58,  1,156,227,102,
+  1,  7,139, 21,221,217,154, 73,253,152,178, 46,217,155,111,243,229,207,221,225,240,133, 93,202,218,242,232,124,195,233,186,101,
+181,233, 41,180,165,174, 74,162,148,116,131,227,120,213,240,240,116,201,134, 72, 16,146, 36, 21,169,119,248,161, 35, 70,151,127,
+ 55, 52,146,148,119,237, 86,211,167, 72,155, 18,109,140, 20, 18,190,249,246, 99,206,122,248,164,154,210,238, 22, 84,174,103,221,
+221,167, 90, 31,227,156,227, 95,135,129,217,162,225,197,162,228, 17, 37,187, 15,158, 50,105,246, 17,100,112,140, 83,138,161,208,
+ 28, 79, 44,198,  5, 78,149,224,205,157,130,223,250,218,125, 30,108,224, 63,187,190,155,149,181, 17,124,  8,124,126, 90,179, 61,
+181,156,165,200,245, 98,135,201,178,230,201,122,224,157,227,115, 68, 20,156,189,243, 17, 15,222,251,152, 15,138,119,121,225,215,
+126, 25,172,161, 45, 75, 44,150, 29,237,248,240,163,  5,205,249,134,237,253, 41, 91,123, 91,252,254, 87,255,130,116,117,159,120,
+243,  8,130,161, 22,240,202,151,222,228,245,254,152,223,252, 95,190,133,253,114,201,144,  2,123, 63,127,  3, 89, 87,236,206,175,
+176, 78,  9,163, 52, 71,202,176,103,115, 26,100, 66,226,186, 53, 47,138,158,117, 12, 28, 30, 93,163,156, 84,184,190,231,236,195,
+111,179,186,127,151,243,216,211,222, 95,114,173, 46, 41,129, 79,111,237,240,173,197, 25,161, 91, 17, 82,128,243, 39,188,121,245,
+  5,190,116,176,203, 92, 72,124,140,252,230,251,223,231,230, 36,112,183, 79,121,154,110, 20,105,108, 34,136, 48, 87, 10,171,  5,
+ 58,  6,122,215,241,165,208,240, 71,235,101,158,132, 61, 61,207, 86,181,229, 34, 79, 32, 11,251, 35,188,230,233,111, 62, 27,255,
+182, 63,110,200,244,182, 49,145,115, 90,104, 58,  9,125, 31,185, 82, 41,156,149,156,181,158, 93, 23,153,106,201,218,  7, 54, 30,
+180,213, 57, 71,170, 46,185,182,189,207, 78, 49,229,102,109,185,163,  4,106,241, 24, 21, 28,127,201, 10,173, 36,115,223,161,181,
+198,214, 53, 73, 90,166, 69,238,127,103,117,205,212, 27,110,196,158,228, 28, 19, 99,168,103, 64, 31,120,219,195,220, 40,130, 86,
+108,155,130,137,177, 12, 36, 58, 41,217, 55,134, 67, 45,209, 93, 62,215,116, 72,116,222, 51, 12,145,223,121,218,227, 68, 68, 15,
+103,132,229, 26,180, 37,185,129,120,129,  4,149,144,250,241,117, 13, 54,251,250, 47, 34, 80, 69, 49,174, 25,199,139, 78,231, 71,
+ 29, 86,186,  4,128, 93,136, 36, 92,255, 44,170, 91,  4,184,219,182,212,133, 96, 54,230,158,  8,163,145, 49, 48,232,130, 20, 61,
+ 43, 33,233,181,161,141,145,132,164, 81,  5,123,186, 99,225,122, 30,217,154, 57,145, 77,202, 77,213,169,239,199,245,229,152,226,
+ 41, 13, 76, 74,250, 30,146,177,104,  4, 11,163, 81,  9,130, 82,108,138,154,159, 80,146,149,144, 44,132,160, 78,176,107, 20,143,
+ 66,228,101,173,121,170, 12,119,125,203,186, 83,204,170,154, 71,171, 99,136, 29, 71, 55, 95,103,245,238,159, 81, 81, 16,125, 71,
+ 10,137, 90,102, 65, 93,242,207, 16,152,204,180,228,110,227, 71,200,149,186, 36,184, 21,163,142,162,200,164,200,103,  7,110, 63,
+ 66,139,132,122,174,168, 59,127,201,123,253,113, 63, 77,155, 51,133,229, 15,141,151, 28, 16,187, 60,154,127,158, 15, 59,118, 35,
+ 57,  5,135,203,177, 19, 33,171,149, 13,121,199, 36,199, 55,243, 25,169, 73,141,108,227, 13, 84, 19, 84, 72,156,  7,199,118,204,
+233, 78, 90, 89, 54, 41, 82,138, 12,  5,152,218,146,251,155, 37,203, 24,185, 82, 27,190,127, 49, 82,211,112,220,122, 98, 18, 92,
+ 41, 21, 79, 26,232,230,137, 93, 18,139,148,173, 74, 87,101,230,232,106, 33,241,  8, 28,145,131, 42,119,115, 33, 64, 69, 46,244,
+ 86,107,122,151,241,138, 61,137,211, 16,152, 23,138,  7, 35,183,153, 97,  4,181,172, 54,207,252,248,161,105, 57, 50,138,183,151,
+ 45, 95,152,215,212, 85,129, 79,129,153,153,208,184,236, 19,245, 82, 83, 70,207,141,201,156,  7,205,134, 45, 35, 40,  5, 60, 93,
+181, 80, 87, 89,160, 83,106,  8,213, 72,124, 35,135,212,244, 99,177,246,  9, 38,228, 27,184, 30, 21,240, 23,171,142,139,177,129,
+ 31,121,211,186,200,157,177, 41,153,212,147,156,250,230, 19,182,146,112,158, 24,134,129,162, 40, 57,188,178,203,223,253,204,117,
+164,210, 36,145, 69, 26, 46,145,233,106, 82,144,124, 78,140, 43, 10, 73,  8, 41,111,  0, 18, 72, 41,179,121, 33, 64, 34,142,230,
+134,244, 44, 80, 71,  2,106,220, 27,102,198,120,100, 54,218,139,125,132, 38,100, 40, 79, 14,227, 20,204, 68, 66,  8,137, 45, 43,
+142,143,207,121,251,126,199,204, 10,166,133, 98,157, 70, 49,225, 69, 97,247, 23,  1,  1, 33,123,244,111,215,224, 36, 15,151,129,
+ 79, 98,226,221, 90,113,133,192, 21, 25,217, 44,207,168,239, 62,230,211,211,130, 23, 74,205,164, 42,176, 74, 50, 49,134,162,180,
+204,234,  2,107, 52,206,141, 80, 26, 21,243,168,174,168, 32, 37,130, 50,248, 21,200, 62,161, 99,200, 62,124,  4, 49,  6, 98,231,
+240,235,158,197,201,154,132,224,241,249,138,234,253,123,156, 76, 42,238, 79,246, 57,156,148,220,153, 77,249,120, 50,229,252,227,
+125,228,174,163, 57,237, 88, 29,  9,222,245,  3,159, 58,152,243,  7, 83,205, 71,255,235,255,199,250,147, 99,170,249, 22,113, 62,
+ 33, 20, 37, 87,175,239,112,227,206, 14,157,128,247, 31, 44,120,177, 42,217,185, 49,231,188,247, 76, 66, 66,185,200, 63, 56,172,
+153, 36,208, 62,113, 69,229,176,141,118,106,249,211,147,150, 38, 70, 86,171,134,214,105,218,135, 13,215,127,234, 38, 79, 11,195,
+ 45,109,120,233,229, 27,220, 83,146,189,190,225,218,235, 45,103,143, 30, 48, 63, 60, 66, 77, 12,182,123, 68,122,119,159, 52,109,
+184,117,235, 58,169, 56,224,181,197, 61, 42,161,248,149,127,122,155,213,100,155,101, 40,152,238, 28,208,  3,171,224,121, 41,  4,
+ 42,  5, 91, 74, 51,179, 80,203,132, 78,142, 85,232,104,135,134, 36, 11,166,214, 82,149,  5,231, 85,201,176,253, 18, 31,156, 46,
+249,252,201, 35, 90, 35,248,189,199,199,252,194,213, 61,190, 33,160, 76, 18,191, 60,193,223,127, 64,216,221,167,174, 37,197,225,
+ 54,161,152,210,233,146, 55, 14, 15,153,107,216,234, 29,223,110,251, 81,185,238, 73, 66,243,238,224,249,169,118,193,141, 80,211,
+250, 14,227, 29,177, 95,231, 93,249,201, 34,171,172,155,238,  7,241,166, 74,254,208, 63,251,191, 18,110,243, 31,157, 43,127,241,
+103, 14,249, 49,151,163, 76,233, 74, 93,242,120,227, 40, 10,197, 84,128, 76,137, 32,  4, 87, 38,  5,171,113, 63, 43,172,162,212,
+150,235,179,125,246,118,182,185,105, 44,183, 66,131,177, 37,221,234,132,253, 98,139,143, 54, 11, 14,148,193,147, 24, 16, 76,234,
+130, 66, 25,170, 66,161,164,229, 72, 43,174,166,130, 32, 27,172,138,244,  1,110,109, 77, 16,177,227, 65, 93,208, 88,240,218,144,
+140,161,141,129,181, 79, 60,236, 58,110,148,  2, 75,228, 64, 43, 54,110,192, 13,158,213,162, 69, 63, 62,135, 20,114, 60, 47, 25,
+ 42, 21,184, 12,203, 73,189, 71,104, 77,234,  7,114, 12, 12,249,251, 90, 75,  8,125,222, 19, 95,212,  5, 61,234,178,180,186, 76,
+208,188,200,216,186, 40, 96,195,  0, 91, 19, 24,  2, 31,172, 29, 98,170,249,194,164,226, 97,204,251,241, 34,102,230,135, 19, 10,
+ 27,  2,131,202,158,140, 45, 47, 88, 75,197, 92, 72,222,117,145, 37,137,164,244,136,184,214,121,109,172,199,  6, 67,251, 92,224,
+171,154, 32,192, 35,176, 82, 33,148,100,219,148,120,224, 84, 91, 78,253,192, 34, 68,246,203,  9,149,144,120, 35, 57,117, 45,199,
+ 99,156,107, 72,142,123,235, 83,110,137,196, 98,121,130,191,251, 22,110,179,  4, 60,173, 79, 92,213,153,  8, 89,  5,129,151,130,
+ 33, 66,239,  2,167, 62,159, 59,249, 66,246,156, 88, 58,166,220,252, 92, 76,132,205,115,214,242,190,135,117,243, 67,150, 54,239,
+255,102, 17,200,  5, 12,228, 34, 10,209,140,240,  3, 51,142,135,109,145,255,122,214, 28,164,188,203, 29,134,203,255,103, 24,227,
+238, 10,  9,171, 53,204,103, 25,217, 88,141,  0,152, 16,115,  8,141, 28,129,241, 50,145, 82, 96,170, 44, 51, 45, 41,148, 70, 11,
+  8, 98,132,133,164, 64,235,  2, 66, 73,206, 66,224,254,102,160, 31, 65, 49,155, 33, 50, 83,146, 62, 69, 54, 81, 16,164,160,113,
+145,121,105, 80, 18,106, 99,105,147, 96,183,208,248, 81,249, 46,149,102,229, 61, 67,  8, 57, 13, 45,194, 32,115,177,121, 48, 12,
+  4,153,253,216, 69, 82, 60,246,185,211,234, 47, 20,215, 23,182, 61, 55, 22,121, 33, 24,156,103,219,100, 91,220,142,177, 84,198,
+114,238, 58,172, 50, 36, 33,136, 33, 96,146,100, 16, 96,165,192, 73,129,219,180, 92,153, 84,156, 54, 45, 68,216,154, 22,244,221,
+144,181, 10,105, 92, 81,232,231,  4,117, 62,140, 30,244,139,214, 54, 94,134,212, 92,208,239, 82,204,227, 44,109,161,237,248,236,
+155,159, 97,190, 55,231,244,248, 28, 31, 96, 50,157,178, 60, 89, 81, 79, 38, 92,217,219,226,221, 79,214,188,112,101, 62,142,202,
+101,166,177,141,193, 85,125,200, 25,  1, 89,148, 47, 40,108, 78, 40,147, 34,143,233,253,168,198,245, 33,226, 67,194,187,108,105,
+ 84,241, 66,249, 30,192,  7, 66,235,232,154,129,174, 15,196,193,227, 82,100, 21, 28,201,199,108,135,139,145,171,251,187, 28, 28,
+238,242,206,219,239,243,222, 73,195,178,117,172,134, 17, 81,219,135,188, 12, 59, 30,133,138, 25,223,  4,103, 14, 38, 18,185, 93,
+225,251, 56,106, 57, 37,243, 90, 83, 25,203,164,158, 34,181, 37, 84, 22,105, 53,189, 15, 28,159,183,244,157,163, 42, 53,211, 73,
+137,210, 18,239, 60,109,215,211,245,217, 98, 39,180, 34, 70, 75,194, 18,140, 70, 10,205,118, 81,115,125,190,205,225,100,206,196,
+148, 76,149, 97,191, 40, 41,146, 68,205, 45,178, 46,105,107,139,208,  2,206,150, 76, 39, 19,110, 29,212, 52,202,208,238, 77, 16,
+170, 96, 82, 22, 84,243, 18, 61,155,178,127, 56,229,202,225,148, 99, 49,229,251,201,210,204,106,228,225, 46,147,171,115,156, 86,
+ 60, 10,112,114,222, 99,181,165,124,113,155,117, 59,112,122,210, 48,108, 28,243, 29,131,248,232,148,151,246,167,136,  0, 86,231,
+ 56, 76,149, 18, 47, 84,130,155, 83,195,  7,143, 60, 11, 57,103,101,225, 74, 33,216,185,122,200, 78,105,104,  3,248,178, 32, 77,
+166, 32, 38,108, 85, 37,219,135, 59, 60,126,186,226,159,124,230,243,252,131,255,242,167, 57,122,227, 14,213,233, 19,134,167, 31,
+243,130, 45,137,102,194,244,240,  6,147,131, 79,177,127,227, 58,182,174,152, 78, 39,204, 37, 28,106,195, 22,138,173, 34,113,160,
+ 52,179, 24,208,190,103,238,  6, 78, 22, 43,246, 82, 71, 85,212,180,211, 41,117,239,249,104,240,220, 48,  5,119, 69,226,134,138,
+188,148,  4,223, 76,138, 95,170, 45,239,161,144, 66, 35,241,  8, 23,120,176, 25,216,173,  5,247,134,129,148, 36,183,235,138, 93,
+ 91,177,109, 44,239, 56, 79, 24, 57,214,194,121, 98,236,249,254,114,205, 46, 61,186,239, 89,117, 11,254,229,135,143,224,254,113,
+ 30,133,187, 31,218,125,203, 81,159, 18, 70,190,130, 28,187, 84,255,159,  0,136,121, 54, 69,139,151,205,118, 28,207,138, 36,168,
+172, 34,133,132, 23,130,237,164,120,109,111,194, 79,237,109,241,234,124,202,212, 72,  2,130, 86,  9,182,180,225,198,116,198,220,
+150,236,213, 19, 94, 41, 11, 74,109,216,149,146,169,202,126,117, 45, 45,219,214, 98,149, 98, 87, 89,166,166,224,160,168,216,211,
+ 21,187, 41,114,104, 44,  7,186,100, 91, 21, 76, 80, 76, 76,205,188,156, 48,177,154,235, 86,179, 63,157,113,168, 37,187,  2,182,
+ 84, 68,118, 29,133,115, 44,215,107,142,130, 71,227,217,180, 61,199,231, 13,127,113,186,100,117,214,142, 22,219,  1, 17,179,240,
+239, 50, 66,220, 95,254,174,207,191, 30,241,121, 29, 86,200, 89, 26,207, 24, 23, 98,244,105,143,103, 91,161, 47, 99,195, 73, 96,
+ 44,194,103, 55, 65, 72,112, 10,196,145,124,104,165,198, 11,129, 23, 57, 41,206,169,172, 53,216,140, 60, 17,139, 96, 41, 19,  8,
+205,146,144,111,231,114,116,  4,153,139, 32,151,145,241, 33,115,214, 71,146,144,148, 36,152,146,137, 50,217,222,172, 52,115,169,
+121, 34, 52,218, 90, 10, 91,162,144, 60,  9,158,162,172,184, 35,  5,247,146,128, 48, 48,183, 37, 65, 89,170,208, 99,250,  6,101,
+ 13,209,123,172, 72, 56,145,181, 71, 49,  4,150, 33, 19,244,136,137, 39,109,164, 75, 99,232,140, 80,227, 45,125, 20,204, 41,123,
+185,106, 45,205, 88, 43, 85,182,185,141,103,244,127,218, 79, 61,201,  5,164, 75,204,127,226, 14,203,119,238,229, 20, 36,115,161,
+146, 31, 59, 43,173, 71, 47,233,216, 93,116, 49,171, 29,235, 45,216,173,145,186, 32, 94,164,165,117, 62, 23,253,114,228,141,203,
+ 44,246, 58,243,  1, 71, 34,137,200,169, 15,108,  9, 65, 82,154,193, 59, 64,176,240,158, 62, 68,102, 82,178,136,  9, 41,229,248,
+ 98,141,117, 78, 93,140,254,  5,223,111, 19, 91, 86,176,155,  2, 83, 11, 79,  7,199,212, 90, 54, 41, 49,  9,238,242,134, 43,  5,
+ 40, 79, 10,154,211,152,152, 26,147,131,108,148,160,197,211, 15,130,190, 16,185,177,121,102, 51, 35,219,199,116, 22,  5,246, 33,
+239,168,139,152,232,  4, 48,116,212, 69,205,248,209,205, 89, 11, 70, 83,199, 72,  7,236,  1, 15,132,160, 78, 61,159,155,105, 60,
+154, 10, 79,179, 59,201,187,100,  3,119,151, 21,125,232, 47, 87, 32,210, 65,127,177, 79,231, 50,138,183,176,227,141,126,180, 46,
+132,113, 74, 82, 88, 54,171, 14, 63,238,232,125,219,211,156,181,172,155,134, 33,120,166,243,  9,235,179,200,241,249,  6, 43,  4,
+ 82, 10,172,214,232,145,196,102, 20,156,167,  8, 93,196, 26, 49, 58, 81, 69,158, 96,165,252,181, 14, 41, 63,156,140,217, 38,231,
+ 70, 12,171,243,158,228, 60,214,  5,116,  4, 55,  4,206,  7, 71, 59, 12, 52,222,161, 60,164,152,144, 66, 48, 51,134, 43,202,178,
+131,228,221, 71, 11, 58, 61,126,177, 87, 62, 63,  0,140,184, 89,178,109,109, 29, 97, 42, 97,237,225,173, 13,113, 94,160, 42,147,
+117,  1, 41, 49, 51,  5, 91, 85, 69, 93, 20,244,193,113,114,182,121,150,213,227, 55,  3,194, 69,156, 82, 76,230,142,  9, 16,189,
+199, 24, 73, 89, 25,166,157,165, 25, 34,102, 42,232,  6,139, 76,150, 98, 54,231,149,121,193,107,179,138, 74,  8, 66,231,104, 87,
+ 93, 78,206,219,177,120, 13,117,173,153, 76,118,152, 78, 45,190,141, 52,205,128,144,112,125,215,240, 66, 50, 28, 92, 41,120,184,
+242,156,135,192,233,178,163,233, 60,199, 77,192, 27,197,193,139,  7,108, 29, 84, 76,182, 11,234,144, 16,189,167, 43,  4,147,173,
+ 57,202, 57,190,119,188,230,233,131, 37,171,147,150,183,255,213,191,227,149,255,238,191,230,255,248,247,111, 33,222, 62,231,103,
+127,233, 85, 84, 44, 16, 86, 19, 67,194, 68,216,171, 53,191,254,197,107,124,245, 91, 15, 56,108,175, 80, 46,159, 98, 30, 46,240,
+181,229,112,174, 49, 30,150,201, 80, 94, 55, 12,141,101,253,228, 41,191,246,153, 79,241,185,219,135,252,179,255,251, 27,188,247,
+206,219,156,223,250, 60,101, 45, 57,223,222,102, 90,109, 35,119,182,153,204, 10,202,105,129, 34,209,172, 91,180,154, 50, 44, 55,
+ 40, 25,217, 18,134,210, 13, 24, 63, 32,137, 12,174,227, 85,237,249,131,183, 63,228,211,119, 63,160,252,212,171, 44,119, 95,226,
+203, 74, 48,173, 44, 95,188,249, 50,230,250,117, 86,237, 57,243, 79,238,242,213,179,142,191,183, 83,241,241,149, 25, 31, 60,109,
+145, 74,225,106,203,191, 57,107,152,118,138,175,236, 40,174, 85, 91, 68,173, 80,205,154, 45, 37, 57,142,153, 51,145, 98, 78, 72,
+ 91,106,197,111,156,159, 49, 77,176, 56, 89,193,217, 57,162,235, 72,234, 71,156,105,126,212,164, 92, 68,178,186, 17,190, 97,117,
+190,160,180,253, 95,109,  4,254, 67,111,234, 23, 66,186,  8,187,159,189,195,233, 71, 79,152,138,192, 68,107,174,238, 90, 94,153,
+205, 56,170,103, 36,169, 56,242,  1,193, 57, 83, 34,131, 79,108, 27,201,204, 42, 84,138, 36, 37,217, 83, 10, 29,  2,186, 40,  8,
+ 17,246,148, 39,186,129,151,132,200, 35,114,215, 51,137,130,210,123,102,182,196,  4, 79,169, 20, 69, 89, 99, 38,134, 48, 68,154,
+245,130,217,100,135,232, 61,125,223,208,108,214,180, 93,203, 98,211,242,198,224,121,176,110,120,228, 60,167, 90,243,205,174, 99,
+224,255,103,237, 77, 98, 36, 77,243,243,190,223,187,126, 91, 44,153,145, 75, 85, 86, 85,215,210, 93,221, 51, 61,156,157, 67, 14,
+ 57, 36, 37, 82,150,185,192, 48, 33, 27,180,  1, 95,228,131, 47,  6,124, 48,  4, 24,240, 73,128,225,139,  1,195,128,125,240,193,
+  7,249, 98,  2,186,200,  2, 40,203, 20, 32,153,139,  8, 82,148, 72,145, 34,197,153, 86,207,116,207,244, 82,221, 85,213,149,149,
+107,100,196,183,189,155, 15,239,151, 85, 77,114,108,211, 26,246,169,208,221,200,202,140,140,248,254,219,243,252,158,200,199, 62,
+ 48,196,145,170,148, 19,188,230, 83,181, 23, 72, 83,190,247,167,145, 17,  9, 16,222, 79,209,203, 58, 11,124, 39,253,128,144,110,
+  0,  0, 32,  0, 73, 68, 65, 84,198, 12,169,203, 53, 35, 76, 27, 99, 83, 78, 19, 85,200, 53, 67, 76,153, 24,184,108,243, 27,  2,
+148,146, 48,122,190, 73,207,144,  4, 95, 89,104,230, 82, 51, 18,104,148,161, 11,129, 30, 48, 74,115, 21, 34,131, 86, 28,  6,  8,
+ 41,178, 22,138,129,172,157, 17, 74, 17, 98,204,104,221,232,166,237,114,145, 79,198,170,129,137,204,183,150,138,215,141, 97, 68,
+177, 86,154,195,  8, 87, 90,114,144,  4, 79,148,224,142,153,115, 25, 70,222, 46,231,220,102,195, 99, 96, 29, 34, 42,118,220,212,
+ 37,224,121,214,109,184,103, 11,210,152,104, 19,132, 16, 72, 65, 48, 34,145, 24,158,143, 25, 16,148,195,185, 66,174, 35, 74,102,
+235, 85, 93,101,149,187, 45, 50,187,228,250,197, 45,203, 23, 37,235,  7, 11,116,169,203, 23,201, 49,111,254,212, 15, 99,181,226,
+226,248, 98,162,209, 77, 44,243,248,169,172,206, 76,230,200, 19,108, 59,100,161,211,124,  6, 77,141, 44,116, 86, 92,247, 35, 92,
+173,243,215,190, 78,114, 19, 47,211,192,230, 70, 49,196, 12,239,111,167, 80,148,150, 72,231, 35,  1, 88, 15,158, 83,239,115,122,
+155,204,211,101, 10, 57, 95, 55,143,149, 83, 41,157,160, 30, 82,234,140,  1,148,153, 73,110,148, 96, 27, 34,123, 74, 50,151,154,
+109,244,236, 72,137,146,240,201,198,211,163,208, 18,206,131, 32, 34,169,180, 98,136,226,101,247, 45, 39, 50, 73,152,168,120, 46,
+163, 20,215,253,200,253,166,102,183, 40,232, 17, 84, 66,162,148,164,139,137,218, 24, 98,140, 12,193, 83,105,203,214,141,212,133,
+162,241,142,135,210, 32,146,224, 10,201,171, 74,177,171, 37, 94,  8, 62, 95, 20,124, 36,  5, 97, 24,115, 55,231,166,224, 23, 89,
+230,155, 57, 62,223,133,220,148,171,172,124,166, 84,185,248,194,250,246,214,219,223,230,151,126,233,231,216,180, 46,131, 85,124,
+ 98,216, 14, 92,182,  3,149, 45,121,248,218, 13,118,155,130,222,  7,  8, 57,101,205, 76, 64, 35, 73,162, 31, 60, 91, 23,104, 93,
+194, 74,137, 53,249, 53, 12, 36, 98, 72,140, 33, 48,186, 56, 61, 88, 50, 39,158, 20,233,221, 52,149,247,158,147,118,228,162,115,
+180, 62,131,102, 46,199,108, 99, 25,198,158,232,  3,115,101, 89, 52,101, 22,211,125,243, 99, 94,187, 10,236,123,193,221, 91,  5,
+143,174,223, 27,149,124,153,206, 86,146,207, 58, 33,193,131, 18,154,252,250,213,141,226, 70, 83, 48, 43, 11, 14,235, 57,165, 54,
+ 40,107,176,214, 18,133,192,143,142, 97,219,211,110, 91,132, 53,212,149, 69, 10,232,  6,199,229,118, 96, 24, 29,163,243, 68,159,
+208, 66, 82,207, 53,133,209, 84,139,146,215, 15,231, 28, 29, 52, 44, 22, 21, 85,109,176, 69,206, 92, 55,141,102,119,111,134, 20,
+145, 79,158,108, 88, 46, 74,234,218, 80, 87,  6, 99, 21,139, 66,113,179, 80,236, 91,195,172,210,232,198,176,179, 44,217,158,245,
+180,219,158,110,219,161, 43,205,108,183,192, 26,137,114,129,184,245, 96, 37,221,186,227,234,209, 25,103,127,248, 61,254,232,111,
+255, 35,174,126,243,219,168,143, 71,222,252,143,191,204,235, 95,125,192, 31,254,218,111,240,214, 63,120,155,215,191,112,151, 54,
+ 70, 46, 98,160,182,130,170,176, 88,173,208, 11,195,229,  7, 29, 95,118,138, 97,188,162,171, 74,116,109,249,162, 27, 24,147, 32,
+218,  2,105, 45, 97,127,151, 79,198,145, 95,253, 59,255, 59,199,127,237,231, 40, 94,249, 12,183,239, 29,177, 58,184,193,108,181,
+135,106, 26,154,101,197,172,177,212, 86,103,122,160,247,232,209, 81, 14,158, 57, 30,237, 28,115,109, 56, 48,  5, 59,163,103,214,
+181,236,246, 35,111,218,130,207, 55,115,142, 46, 79,249,209,122,198, 23,234, 25,111, 44, 86,188,214, 44, 89, 21, 13, 69,217,112,
+ 65,100,102,  5,172,118,216,111,102,220, 61,216,229,196, 40,130,206,205,126,144,154, 31,155,207,168,  4,120,239,113, 49,208, 59,
+199,199,235,109, 14, 91, 57,187,130,203, 22,113,118, 65, 26, 60,195,101,159,183, 59, 50,175,156,196,  4,208,249,127, 12,171,178,
+ 19, 58,187, 48, 25, 82,163, 77,126,182,125, 90, 36,252,255,245,143,148, 47, 79,145,159, 38,226,148, 22, 10, 75,119,182,201,124,
+245, 36, 56,216,169,120, 56,111,184,211,204,153, 43,141, 85,134, 72, 98,207,150, 92,  5,207,188,208, 52, 82, 82, 40,195,162,108,
+168, 35,236, 38, 65,153, 28,209, 71,124, 20, 84,202,176, 40,106,106, 99,153,233,130,133, 20,212, 50, 79,150,141,176,148,202, 80,
+151,115, 36, 54,171,250, 83,162,158,175,168,202, 57,133, 45, 41,164,160,180,150, 89, 89,178,154,213,220, 60,216,227,230,193, 46,
+183,247,151, 28,220, 62,228,232,112,193,155,183,110,114,127, 94,242,198,254, 42,111,193,148,102, 43, 18,201, 65,210, 50, 39,103,
+126,159,130,254,231,252,252,113, 90,183,199,148,  7,174,235,201, 61,168,140,201, 86,102,154,162,205,203,215,109,130,200,160, 12,
+226,186, 41, 51,121, 53, 30,147,160, 52,138, 66, 41,198, 24,137, 19,235,100,155, 34, 66,107,198, 16, 49, 69,197,133,243, 28,218,
+  2,132,164, 81,138,185,178,108,100,230,151,100,198,135,153,232,158,229, 11,160, 87,146,138,207, 21, 13, 91,169,179,218, 62,  9,
+180, 86,236, 34,121, 79,192,171,218,210, 11, 65, 43, 20, 23,227,128,156,182,202,  3,144,148,101, 37, 37,167,126,228, 94, 81,225,
+124,160, 52,  5, 78,106,182, 33,226,141, 70, 26, 67,151, 96,144, 18, 79, 34, 12,110,154,250, 38, 79,122, 97,242,107,164,174,183,
+216,230,229, 16,169, 36, 86, 10,130,209, 63, 96, 81,151, 19,143, 56,193,201,199,207,184,248,222,211,  9,101, 39,255,244, 77, 74,
+234,151,197, 93,201,172, 50,245,125, 22,169, 44, 22,160,  4,105,116,176,238, 50, 37, 39,201,  9,123, 23,114,135, 44, 21,140,158,
+202, 74,132,130,185,214,180,206,103,228,235,208, 35, 83,190,131,131,228,233,118,224,108, 66,143, 18, 32,133,144,115,192,211,244,
+166, 49,246,133,170, 92, 10, 73,175,114, 13,168,117, 66, 41, 77,129,100, 87,103,  2,207,214,  7,110,106,195,165,119, 92,186,200,
+ 43,165,224, 59,237,200, 16, 37,141,200, 69,189, 83,137,116,253,206, 82,217,  7,253,162,129,241,147,234,220,121, 80,130, 82,102,
+ 20,226, 43,205, 12,161, 20, 34,  6, 42,109,112, 49, 32, 17,184, 24,241,126,164, 52,154, 98, 28, 89, 37,193, 54, 38,110, 21,154,
+ 93, 45,105, 99, 98, 68,114, 71, 75, 78, 82, 96, 12,129,171,160,178, 40,143,240, 50, 16,199, 95,175,228,253,203, 53,141, 79,121,
+ 69, 86,218, 23,144,130, 95,248,247,127,129,187,175, 30,177, 94,119,180,219, 22, 55,142,140, 19,225,109,103,177, 64, 72,197,106,
+ 86, 49,159, 23, 64,166,227, 73, 33, 24, 66,162, 31, 61, 67,240, 88, 18,221,144,  3, 92,140,150, 36,  9, 33, 10, 66,140,196,152,
+178, 47, 61, 68, 34,249,207, 17,129,144, 80,164,108,183,233,187,145,181, 11,108, 83,196, 13,142, 34,230,200,213, 49,100,238,128,
+ 78,153,141,220,  1,191,246,214, 35, 68, 23, 41, 37,136, 33,113, 62, 70,190,114,183,225, 39,238,204,248,185,210,240, 83,175,214,
+188,118, 88,210, 61,172,216,155, 75, 78,199,  8,165, 64, 42,197,172, 52,212, 70, 50,183,150,253,197, 46, 50, 66, 81, 87,216,178,
+ 64, 11, 73,236,115,116,106,136,129,166,170, 88,148,  6, 23,  2, 39,235,142,227,179, 13,237,101, 71,215, 13,120,159, 83,241, 12,
+ 18,165, 65, 25,133,109, 10,230,149,193,216,220, 56,  6, 35, 73,149, 70,107, 56,220,105,176,133,102,177, 83, 83,149,134, 40, 21,
+ 74,201, 28,202,151, 18,133,139,148, 61, 36, 33, 24,172, 64, 43,201,106,127,198,114, 89,226,189, 39,  8,193,191,250,149,223,229,
+189,111, 62,226,198, 98,135,245, 39,151,124,247, 15,255,132,239,254,238,159,240,123,255,203, 31,243,248,183, 62,200,233,119, 40,
+ 36,  1, 22,145, 31,254,233, 31,226,222,143,127,158, 94, 25,126,235,215,255, 25,  7,183,143,184,212,138,221, 90, 83,219,108, 13,
+221,169, 44, 39,251, 13,247, 14,231,204,223, 63, 99, 45, 34,135,165,102, 39, 68, 46,158, 93,177, 45, 11,234, 89, 65,219,123,214,
+169,192,124,229,171,148, 70,177,218,171,152,151,  6,163, 20,218,228,207,122,109,196,139, 39,182,117,158,114, 24,144,219,145,153,
+246, 28, 10,201, 13, 93,240,197,162,226,168, 42,121, 80, 46,184,191,115,131,  7,119, 30,242,224,246,125,142,118,110,113,115,182,
+207,222,114,159,157,131, 61,234,162,166,218,205, 81,153, 85, 80,244, 30,134,228,152, 23,  5, 55,155, 37,141, 49,236, 23,146,247,
+  7, 15, 72, 66,138, 52,140, 28, 25,195,156,196,243, 97,195, 63, 60, 59, 39, 73,248,194,162,164, 22,158,139,147,233,110,238, 70,
+ 16,  2, 33,114, 40, 19, 58,175, 43,179,216, 52,252,121, 32,135, 41,243,218,211, 76,159,111, 61,177, 33,162,255,139, 23,245, 79,
+107,139, 94,168,233,203,188, 54, 45,154, 12,194, 41,243,234,118,183, 48,220,168, 13, 71,166,100, 89, 20,204, 76,137,  4,106,165,
+  8,164,156, 82,153, 50,169,177,138, 17,225,  6,172,243, 84,222, 81, 41,203, 24, 35, 85, 81, 33,133,164, 48, 10, 37, 36, 18, 65,
+ 74,130, 74,107,164,  0,107, 42,170,229, 14, 66, 90,116,105,145,218, 98,154,  6,101, 76,230,195,199,136, 20, 57,153, 82, 41, 77,
+ 89, 55,104,101, 41,139,146,217,124,151,133,169,185,189, 60, 96,175,106,216,173, 27,238,204,230,216,194,240,112,103, 65,242,129,
+ 79,  4,164,249, 33,209,119,153,143, 30, 35,233,251, 20,116,241,233,194,206,167,132,188,215,156, 20,117,189,158,143, 47, 99, 70,
+175, 29, 60, 90,252,169,190, 64, 76, 95,188,117, 17,167, 37, 46, 38, 26,153,208, 90, 35,164,230,156,140,204,141, 49, 23, 79, 23,
+ 35,117, 89,210, 37,197, 40, 36, 27, 20,133,212,204,164, 96, 43,212,196,  9, 17,211, 10,126, 66,112,203,130, 59,182,224,105,130,
+ 91, 90, 83,107,197, 59, 18,238,170,130,103,  4,142,164,224,189, 16, 88, 41, 77,157, 18,167,198,114, 11,120,230, 51,151, 69, 24,
+201,101,146,252, 84, 85,225,130,231,245, 89,195,190,150, 84, 86,243,165,217,140,189,186,225, 94, 97,121, 88,215,156,166,200, 37,
+146,116,157,228, 70,200, 53, 48, 94,231,128,144,201,173,215,129, 95,218, 66,146, 36,242,249,246,  7, 43,234, 33,228, 78, 75, 76,
+119,246, 52, 37,241,148, 38,119,184, 97,202, 85, 15, 33, 23,255,235,187,210, 56, 78,111,244,204,114,167, 29,178,186,187, 31,243,
+135, 69, 77, 10, 63,171, 94, 78,235,165, 69, 68, 88,104, 77, 39, 97, 97, 45,235,209, 49, 51,154,110, 74, 20,218,  6,143,210,138,
+139,126,186,133,167,188, 14, 15, 62, 76,112, 28,253, 18,126, 35, 68, 22,124, 69,  8, 99,164,148,217,163,222,135, 64, 35,  5,109,
+140, 40,160, 19, 76,111,116,193, 71,193,115,168, 36, 39, 67, 96,144,  2, 23,179, 55, 49, 75,193, 95,  6,138, 76,161,228, 83,145,
+141, 47,188,168,103,189,231, 51,203, 25,125,138, 84, 74,224,147,160, 16, 80, 75,141,115,142, 82,105,180,204,162,182,165, 82, 24,
+ 50,145, 46, 41,145,255, 10, 37,153,135,196, 25,130, 61,173,168,148,230, 56, 74,156,152,254,174,126,200,239,114,165,114,160,139,
+148, 89,128,120,189,194,113,126,210, 61,100,229,100, 88,204,248,202, 23, 31, 50,244,158,174,115,  4,231,240, 19,250, 85,164,196,
+195,215,142,152,213,  5, 59,179, 34,115,117,  2, 72, 45,  9, 33,178, 25, 29,151, 87,158,110, 12,164,152,111, 65,102,250, 62, 37,
+146, 20, 18,129,196,232, 34, 99,200,104, 74,145, 34, 86, 64,149, 50, 38, 22, 31,216,142,158,245, 24, 24, 59,135,115,142,  2,120,
+238, 60,235, 20, 72,222,209,199,192,108, 49,231, 81,187,229,215,255,201,  7, 60,146,129,247,206, 28, 31, 92, 57,134, 51,207,199,
+207, 29, 31, 94,246, 28, 24,184,245,165, 59,252,200,195,215, 41,142, 14,184,163,  3, 63, 84, 43,126, 98, 94,177, 42, 18,181, 16,
+164,  4,203,210,114,179,217,161,158,205, 40, 22, 53, 86,233,204,100,146,249,119, 22,  2, 44,230, 53,135,179, 18, 66,224,252,116,
+195,241,211, 51,182,235, 43,252, 48,226,188, 35, 57,143, 74,137,224, 61,206,193, 48, 38, 98,161,137, 74,210, 43, 65, 42, 13,205,
+178, 64,156,111, 40,254,245, 19,222,189, 88,227, 17, 72,151, 72,218, 80,104,157,  5,133, 36,132,139,200, 36,136,133,202, 41,130,
+217,  9,136,213,138,157,155,115,102,251, 53, 95,254,201,207,241,141, 47,191,198,215,239, 46,217,185,183,199, 87,190,244,  6,255,
+252, 95,109,217, 14, 11,228,113, 64,208, 79, 69, 29, 22,111,214,232,162,228,225,205,  5, 95,255,252, 17, 15,126,244,179, 60,223,
+175,216, 43, 53,149, 75, 84, 74,162,173, 70, 22,146,  7,187, 37,197, 97, 69, 58,168, 89,188,187,229,234,124,160,235, 70,254,232,
+120,160,154, 43,124,136,140,235, 17, 51,  4,118, 18,148,203, 18,229, 19,138, 68, 97, 36,113, 59,146,188, 71, 38,137,116,  1,209,
+142,212,253, 72,108,183,104, 34,183,133,230,205,178,225, 70, 89,112,179,110, 88,205,102,212,203,  5,229,206, 28, 93, 26,172,178,
+ 24,  4,182, 44, 49,179, 10,213,212,232,202,162,171,  2, 85, 20, 88,107, 88,120,205,111, 15,129,207, 53, 13,101,213, 80,107,139,
+ 72,145, 66,120,158, 62,187, 36,125,112,204,  7,255,215,247,216,185,111, 24,199,150,199, 23, 23,188,211,122,126,246, 96,151, 47,
+238, 30,242,234,206,146, 15, 82,160,221,110, 50,222,118,162, 41, 10, 49,185, 69,234, 10,154,102,138, 48,253,148, 86,136, 41,  2,
+238,122, 82, 20,249, 62,154,113,157, 67,254, 44,253, 69,  7,159,235, 33, 71, 22, 57,113,171,106, 96, 94,231,  7,180,214, 44,172,
+ 98,169, 36,123, 11,131,  1, 30, 86, 53,145,108,169, 45,165, 32,166, 56,125,174, 96,244,217,109,161,200,216,106, 43,  4,115,105,
+176, 73, 98,173, 38,133,152, 83, 19,125,100,219,181,108,251, 43, 68,116,  8,  4, 82, 40,164,136, 24, 85, 32, 85, 66,  8,131, 42,
+ 12, 56,151, 49,206, 82,230,144, 24,231, 16, 90,163,109,129, 68, 99,108,133,178, 21,214, 52,216,170, 65,106,141, 45, 42,138,162,
+ 38, 42,195, 65, 61,103, 67, 98, 89, 21,124,243,108, 64,223,219,197,159,158,229,154,108, 20,233, 26, 64, 38,167,  9, 94,235,191,
+ 24,126,220,232, 28,212, 99,228,196, 43,153,238,235, 98,138,245,142,113, 18,253,102, 56, 24, 70,210, 38,184, 97, 45,181, 53, 12,
+ 82,146, 84, 14,185, 84,202, 18,100,110, 70,163, 84,196, 32,152, 87,150,109, 18, 84, 74, 19,164,160, 81,  6, 33,  5,133,146,116,
+241, 90,155, 52, 21,118,165,153, 11,197,171, 69,197, 73,204,191,155,165,178,108, 17,116, 40, 66,146,220,144,138, 36,178, 88,120,
+ 30, 35, 31,  2,165, 41,  9,228, 96, 46,165, 21, 59, 82,114,171, 50,220,211, 37, 91,  4, 51,105,216, 74,197, 74,149, 12, 74, 83,
+ 40,205,205,178,102, 16,130,211, 48,109, 42, 70,247, 82,139,161,204, 20,179, 42, 94,164,222,161, 45, 74, 25,146, 82,  4, 85,254,
+ 37,228,169, 95,175, 76,174,253,155, 77, 61, 21,177,235, 28,239, 79,197,203,169,201,203,221,141, 89, 24, 81,152,233,126, 49, 21,
+160, 41, 44,  5,145,253,206, 47, 86, 11, 50,175,151,157, 53,204,180,230,187,155, 45,243, 66,179, 52,134, 53,153, 94,212,198, 64,
+  7,116, 78,112, 17,  2, 98, 12,153,169,155, 34, 47,118, 52, 98,250, 30,194,212,125, 43,  5, 62, 32, 75,205,166, 31,153,149,138,
+218, 26,146,247, 44, 11,203,214,123,218,224,  9,192, 54, 38,138,152, 56, 13,137,237, 48, 78, 65, 41,215, 30,252, 63,251, 65,158,
+ 86, 38, 76, 63,127,120,201,163,126, 60, 70,110, 53, 22, 71, 98, 71, 74,118, 76,193,102,220, 98,180,129, 48, 16,164,193,  6, 79,
+ 99,114, 51, 82, 41, 73, 36,161,149, 68, 75,197, 73, 74,236, 33,121, 26,  3, 43,109,176,181,228,233,224,167,201,156, 60,141, 79,
+ 62,234, 23, 98, 69,145,166,135,213, 84,153,125,142,171,187,120,118,204, 87,127,236,135,113, 99, 94,135,199,  4, 33, 36, 54, 93,
+143,235,  3,139,221, 37,187,243, 38, 39,  1, 78,248,211,124, 51,207,  2,184,182,243,116,131,207, 73,142, 49,162, 84,142, 61, 84,
+211, 41, 98,188,158,210, 67,164,154,  4, 40,253,132,142, 44, 82, 78,243, 75,131,231,162, 27,113,221, 64,233, 61,142,200,198, 59,
+182,126,200, 27, 38, 91,112,120,231, 38,207,187,150, 63,126,247,241,116,190, 73, 83,124,108,130, 70, 48,158,120,254,205, 89,207,
+ 31,111,174,  8,203, 72, 89, 85,188,243,241, 83,202,229,140,163, 89,195,254,238, 62,  7,209,115, 11,248, 92,221,176, 55, 91, 98,
+171, 26, 91, 26,202,194, 98, 11,149,213,185,  8,162, 15,220,152, 87, 28, 46, 75, 84, 72,156,157,181,156, 95,158,211,119, 67, 78,
+132,242, 25, 23,156, 98, 32,198,252,190, 12, 41,226,198,196,  0,244, 72, 22,115,203,124,102,184, 58,121,206, 91, 31,124,196,163,
+ 16, 56,187,234,185,120,118,198,187,223, 62, 97,126, 50,240,222,224,217, 45, 53, 58,129, 83,137,160, 97,227,  3, 94,100, 11, 91,
+  2,124, 18,140, 82, 49,147,146,135,115,195,106, 89,179,191,204,119,208,159,255,107,175,243, 31,253,228,  3,126,242,139,183, 88,
+251,199, 60,126,255,  2,137,227,175,252,215, 63,199,143,191,114,192, 50,228,237, 87,153,224,187, 23, 29,231,143, 79, 57, 18,154,
+198, 72, 76,109, 16, 38, 71, 69, 26,165,184,122,187, 69,188,239, 49, 79,  7,206, 79, 47,232,195,  5,118, 54, 67, 95,110,177,155,
+150,230,170,231, 48, 36,106,163,120,181,150,124,205, 74, 62,155, 34,175,199,192, 43, 41,242,211,179,146,215,140,224,118, 33,185,
+242,  3,201,195,129,210,220, 87,134, 90,231,237,200,162,154, 97,234, 18, 89, 24, 68, 93, 34,173, 65, 40,137, 72, 18, 33,115,244,
+174,104, 42,196,162,  0,171,145, 90, 33,149, 68, 43,197,225,178,225,212,  5,222,108,106,246,139,138, 91,166,228, 63,251,247,126,
+140,159, 53, 21,127,239,234,156,120, 88,243,157,147,142, 63,252,232,146,119,158,174, 73,223, 59,231, 27,111,222,229, 70, 85,211,
+166,200, 31,  5,199,152, 52,244, 30, 49,246,249,  4,165, 64, 20,  5,114, 81,243,250,174,197, 91,155,197,174, 62,188, 12, 18,145,
+ 50,175,129,175,201,142,110,204,214, 55,247,255, 67, 48,167,116,142, 41,109,106,216,153,229,130, 94,217,188, 58, 45, 21, 43,171,
+ 40,132,228,103, 87, 21,135,  2, 94, 45, 11,130,148,200, 24, 41,164,198,165,152,131, 26, 73,196,224,185,232,182,180, 33,144, 82,
+ 30, 52,124, 10,104, 18, 82,105, 84,136,156, 15,  3,  2,193,218,245,140, 33,112, 25, 70, 92,138, 68,239,208, 74, 99,141, 37,165,
+136,110, 26, 68,200, 14, 22, 97, 44, 20, 10,161, 20,201, 59,132,202,  9,139, 66,  8,164, 84,153, 68,109, 43, 32, 33,172, 70, 74,
+ 69, 82,154,164, 20, 90, 25,182,  8, 74, 83,208,138,200,157, 18,196,122,203,113, 31,241,101, 69,242,144, 76, 65,180, 53, 41,138,
+108,115,150,  6,172, 68, 76, 91,222, 63, 79,233,211, 47,239,200,105, 42,224, 70,189,200,137,167,152, 10,237, 20, 20, 99,203,146,
+160, 21, 86,106,154,210, 18,165, 66, 75, 67,105, 52, 87, 99,162, 49,134, 36,179,184, 13,  4,115,109,137,133, 69, 36,155,183, 33,
+ 74, 81, 73, 75, 75,160, 81,146,203,148,240,198,144,194,116,198,156,148, 79,181, 50, 84, 41,112, 46,  4,149, 54, 52, 34,242, 84,
+ 40,246,101, 22,167,  5, 96, 76,  2, 39, 37, 59, 82,242, 28,  8, 41, 32,148, 69, 16,105, 80,220, 22,154, 55,230, 11, 62,244, 35,
+ 75, 85,176,197,177,178, 11, 62,113, 61,171,114,198, 58, 65, 79, 98, 71, 75,122,105, 88, 71,159, 27,153,110,152, 26,163,105,237,
+ 46,  5, 66, 23, 40,109, 40,180,196,203, 44,162,147, 50,253, 37,  8,229,174,189,155,117, 57, 69,135,166, 79,201,237,139, 23,222,
+194,151,164, 32,145,249,239,238,218,214, 96,115, 81, 15,254,165,216, 44, 77,121,226,253,244,239,146,135, 82,179,144,130,211,126,
+224,235,111,126,142,243, 71,143,248, 36, 37,106, 43, 57,117,217, 50,225,250,200,243,216,177, 91, 20,156,140, 46, 79,174, 74,229,
+ 78, 79,126,106,101, 99,213,203,239,187, 80, 68, 23, 40, 76, 14,162,217,211,129,193, 90,206,219,204, 11, 54, 90,178, 29, 61,117,
+130, 51, 36, 55,172,224,217,116,147,207, 96, 23,253, 41,110,190,250, 62,183,180,235,117,146,134,232,  9,253,192, 31,159,110,248,
+252,193, 18,105, 52, 79,182,107,246,170, 26,215,247,152,162, 98, 24,174, 16,186,196,122, 15,182,164,247, 89,201, 95,105,141,247,
+ 57,208,224,116,116,220, 16,154, 45,  9,147,200, 97, 20, 35, 80, 68, 24, 38,223,250,181, 53,240,251, 61,127, 12,153,206,  4, 88,
+ 43,  1,205,213, 69, 32, 78, 83,202,188, 44,233, 59, 79,112,129, 16, 67,  6,172,132, 72,165, 37,227,224, 81, 50,177, 29, 60,155,
+193,177,222, 58,116, 27,217, 93, 20,212, 70,226, 67,194,170,156, 84, 38,175, 51,129, 72,116, 41,  7,168, 68,160, 21,130,128,160,
+209, 57, 77,105,150, 96, 45,  4, 43,165, 24,130,100, 85, 20,108,250, 54,247,129, 68,202,202,226,214, 87,217,214,135,  7, 27,225,
+142,205, 10,119, 18, 44, 53, 92,193,229,123, 29,191,117,252,  1,247,127,102,203,  7, 62,112,218,119, 28, 23,138, 55, 23, 59, 12,
+ 85,195,221,221,  5,183,186, 17, 37, 20,167, 68, 68,128, 69,109, 49, 70,177,141,145,203,148,137,178,115, 33,144, 33,209,141, 30,
+ 70,135,244,  9, 27, 34, 82, 41,164, 16, 83,202, 85, 66,248, 97,202,156,246,244,222,177,137,  3,108,103, 92,218,132,208, 13,255,
+242, 60, 17, 67,164, 54,  6, 33,225,160, 40,217, 21, 35, 95, 60,118,252,195, 63,254, 61,126, 39, 58,110,127,253,135,152,223,152,
+ 99,154,130,164, 53,203,202,210, 21,  5, 99, 74, 68,173,  9, 62,243,248, 69, 20,164,144, 25, 28,131,212,148, 18,202,251, 13,175,
+222,126,149,255,230,103,255,115,206,223, 57,230,119,199,192,177, 10,108,149, 68,196,136,  1,194, 24, 56,253,149,223,231, 79,254,
+231,223,231,183, 80,252,213,255,224, 62,191,248, 95,252, 13,230,159, 57,152,214,152,130,219, 63,126,  3,126,244, 16, 98,228,205,
+206,227,207,122,190,245,127,188,197,193,189, 67,218,222, 79, 28,  1,137,117, 26, 61, 72, 74, 41, 40,102, 51, 68, 61, 67, 76,228,
+200,250,170, 67, 94,108,185, 85,150, 60, 25, 19,115, 37,169,181,162, 68, 48,223,153,163,119,102,136,114,194, 23,199,  4,163,200,
+ 19, 72, 57,137, 52,108, 49,173, 58, 65, 76, 42,100, 17, 37,210, 40, 30,116,154,187,171,125, 60,  9, 71,194,141,240,247,255,241,
+ 31,240,175,135, 62,  7,144, 72,133, 44, 21,194, 42, 36, 37,241, 48,241,203,223,250, 46,255,195,143,126,134,181, 54,108, 66,132,
+189,  5,194, 42,210, 39, 37,162,189, 36,181, 27,192, 19,235,130,103,193,114, 41,  4,204, 42,  4,146,212, 78, 32,154, 97,132,226,
+122, 16,136,223,159, 16,247,255,182,118,215, 21,203,195, 57, 93,146,220,222,169,137, 72, 78, 17,108, 66, 70, 98, 43,153, 27,183,
+175, 47, 53,  7,149, 97,134,193,  5,120,220,118,148,117, 69, 55,108,153,219, 18, 43,  2,155,161,231,180,109,249,216, 15,156,219,
+134,187,141,100,140, 30,145, 52, 79, 66,207,118, 27, 16, 66,178, 50, 37,207,198, 30, 69, 68,  4,143,  8,  3, 39,192,205,114,134,
+211,185,161,211,245, 44,247,245,171, 26,233,  2, 30,137,138,145,224, 71,164, 85, 48, 90, 82,202, 91,  9,193, 20,196,148, 34,178,
+172, 72, 49, 98,154,138, 24,242, 48, 23,181, 99, 87, 72, 68, 81,177, 34,178,213,138,163,242,140, 47,204, 12,143, 29,156, 13, 35,
+ 66,106, 46,124, 96,140,224,194,  4,240,217, 76,  1, 60,166, 32, 13, 49,115, 78, 94, 12,138, 38, 59,163, 82,132,178,196, 54,  5,
+152,130,170,202,110, 33,172,166,  2,182,218, 80,106,141,139,158,  3,157, 73, 17, 86, 91, 74,107,115, 70,133, 82,172,180, 70,107,
+  3,  8, 10, 41,144, 82, 19,133,162, 34,114, 28, 18, 21,137, 82,229,230, 98, 95, 23, 92, 12, 14, 77, 68,135, 64, 48, 10,229, 50,
+113,242,129,214, 60,119, 35,162, 44,152, 69,176,  9,190, 23, 35,175,105,120, 39, 38,142,164,164,  6,158,197,200,109,224, 17,208,
+ 76,224, 27,162, 71, 34,248, 90, 93,114,219,104,206,188,227, 78, 81,115,236, 28, 11,179,195, 24, 71,110,207, 86, 92, 12, 27,118,
+140, 69,104, 67, 43,224, 78,225,185,223,236,115,188,217, 82,204, 12,111, 61,223, 18,165, 70, 12, 46, 71,217, 18, 40,129, 82, 40,
+ 14,136,160, 18,131,212,127,  9,147,250,167,163, 12,109,153, 63,  0,122,234,180,124,152,248,180, 83, 60,166,184, 78, 12,155, 80,
+176,106,154, 28,211,100,123, 99,154, 52,167,238, 48,139,240,166,197,147, 15,168,210, 50, 83,138,211,205, 26,173, 52, 94, 73,188,
+ 80, 92, 37, 40,147,162,149,176,246,145,171, 97,164, 16, 34,231, 18, 95,159,203,164,192, 22,138, 48, 38, 48, 10, 37,196, 11,135,
+  4, 70, 17,134,145,206, 37,118,172,164, 78, 57,181,205,167, 72,244,121,157,213, 35,152,201,200, 73,159, 88,143, 97,106, 24,228,
+203,117,126,186, 78, 81,147, 47, 15, 72, 82, 76,234, 73, 61, 53,  0,185, 38,141,201, 51, 55,146, 89,105,114, 67, 33,166,147,247,
+208, 83, 26, 75,240,142, 78,  8,230, 72,198, 24,209, 54,195,254, 21,146, 32, 52, 90, 66, 23, 35,143, 99, 64, 10,205, 19, 38, 11,
+ 70, 63,117,117,147,157,231,229, 42,241,207,110, 87, 66,214, 22,148,134, 31,255, 43, 63, 65,140,208, 94,181,116,109, 75,187,237,
+ 40,138,130,161, 31, 80,210,178,183,191,195,173,221,134,224, 35,150,140, 56,236, 92,164, 29,  3, 97,140, 92,181,142,209,  7, 54,
+206, 83,151, 58,135,183,136, 44,164,243, 41,209,133,124, 23, 43,132, 96, 12,137, 33,229, 48, 28,231, 35, 54, 69,108,231, 24,122,
+ 71, 57, 56, 86, 81, 32, 37, 84, 64,116,129, 24, 50,242,240,193,141, 67,222,251,224, 17,239,157, 92,241,122, 23,121,254, 73,128,
+117,128,165,130,199, 14,250,200, 44,129, 38,113,184, 48,216, 16,168, 14, 42,214,231,125,158,104, 54,103,180,209,241,165, 47,125,
+137, 27,111,188,194,182, 48, 92,110, 91,170,  4,203,101,195,124, 86, 80, 89,195,210, 40,118,203,130,189,121,137,150,146,161,115,
+116,151, 45,169,235, 41, 68,182,134, 25,157,225, 14,122, 90, 20,232,148,208, 50, 82,132,132, 30, 28,202, 57, 70,239,105,235,154,
+205,108, 70, 82, 21,171, 24,216,155, 27, 78,188, 64, 12, 61,103,238,138,127,122,118,142, 25,215,188,251,157, 15,233,223,126, 76,
+251, 27,223,228,157,247, 79,248,253,223,121,143,187, 23,145,117,109,184, 24, 29, 73, 75,180,149,248, 49,135,197, 92, 33,216,  2,
+ 49,102,151,136,239, 28, 91,153,120, 63, 37,250, 82, 19, 77,129,145, 26,143, 96,140,129,113, 12,188,242,230, 29,254,229,123,239,
+ 99, 30,141, 60,250,246, 57,255,244,127,251, 67,126,225,111,254,  8, 98,178,194,166, 33,226,175,  6, 82, 76, 25,  7, 92, 26,110,
+125,227, 30,205,221, 29,246, 63,187, 98,247,181, 93,230, 71, 11,138, 69,133, 80, 18, 93,106,180, 80, 40,163, 81,133, 38, 78, 13,
+243,198,121,198,152,185,  2,135, 83, 20,239,222,124, 78,185, 63, 71, 86, 57,194, 22,159, 72, 99, 36,174, 59,146,115,164,174, 39,
+ 57,135,176, 42,127,212, 11, 77,242,137, 56,  6, 92, 63, 18,188,199, 71,159,243,173, 75,131,170, 11,236,254,146,195,197, 46, 55,
+ 69,197,126,165,113, 54,242,180, 31,137,195, 72,252,206, 25,137,192,189,253,146,191,253,181, 47,243, 57,101,249,213,147, 99,174,
+124,204, 83, 94, 85,228, 38,216, 84,224,122, 68,187,165,247,242,101, 64,134, 49,  8, 49,129, 61, 72, 19,123,252, 58,222,242, 83,
+ 39, 68,173,255,252,132,121,157,139, 81, 90,104,230,168,229,140,207,237,204,120,184,187, 96,111,209, 80, 88,205, 65, 83,240, 60,
+ 66,144,137, 74, 27,172, 12,252,120, 83, 49,183, 42, 67, 84,124,158,194,207,183,  3, 49, 68,  6, 55, 82,144,159, 63,111, 11,120,
+171,218,227,222,124,201,221,253,219, 24,109,179, 64,109, 24, 56,139, 35, 67,244,180,192,198, 15, 92,185,142, 77,116,108, 82,  2,
+107, 89, 43, 65,221, 52,216,162, 64,218,124, 42, 10, 49, 76,196,115,  8,163, 35, 77, 27,197,224,186,252,222, 16,146, 20, 28, 66,
+ 24,146,202,226, 87, 89,214, 89,189,164, 44,113,130,225, 68,107,  9, 68,162, 46,217,  4, 71,176, 22, 93, 85, 72, 43,121, 80, 87,
+152,218,240, 96, 94,113,119, 86,112,123, 81, 49,  8,201,225, 94,205,185,158,234,133,212,249,249,101,235,151, 89,225,218,192,124,
+206,237,221,138,195,186,164,153, 21,172, 26,195,194, 90,118, 11,197,110,101,217,151, 26, 37, 51, 91, 98,161, 11,230, 69, 73, 97,
+ 20, 51, 91, 17, 68,100, 49, 21, 72,133,100,174,114,240,151,151,154, 65,  8, 46, 93,100,174,115,  2,227,220,102,232, 76,235, 70,
+106,149,127,239, 27,239,169,100,118,242, 52, 36, 28,146,221, 20, 25, 66,126,110,245, 66,240,154,214,188, 59,140,220,183,  5,199,
+ 33,178,163, 36,149, 82,156, 35,185, 15,124,148,  2,114, 10,  2,251,233,106, 70, 29, 97, 97, 21,115, 99,240, 66, 80,153, 76,180,
+171, 76, 65, 31, 60, 11, 83,209,138, 68,166,241,123,140,214,184, 40,153,171, 68,151, 12, 43,  3,167, 67,200,246,241, 24,121,189,
+106,216, 81,146, 90, 10,110, 74,201,162, 40,177, 66,253,128, 69, 93, 79,235,165,235, 44,118, 57, 81,129,196,148,223,157,166, 34,
+173, 39,240,252, 11, 68,172,123,121,167, 26,211, 68, 26,242, 83,138, 88,238,170,178,170,217,230, 73, 83,128, 42,203, 44,136, 52,
+  5, 59, 90, 65, 89,224,164,101,140,137, 70, 91,158,120, 71, 23, 34,193, 22,132,190,207,228,159, 77,159,191, 23, 99,144,133,196,
+162, 40,172,197, 39, 71,140,137,125, 83,208,199,136, 85,138,224, 60,193,  7,118,180, 96, 16,208,133,128,137,130,109,242,148,211,
+ 26,204, 36, 56, 29, 60,173,144,249,254,239,252, 20, 65,153,160,170,242,207, 48, 78,105, 76, 97,122, 16, 88, 59,145,244,166,230,
+ 71,100,111,230,170,177, 36,159,216, 45, 10, 90, 55, 96,101, 86,226,187,233,181, 49, 86, 51,142,142,178, 52,136,  0, 73, 78,164,
+163,152, 94,172, 78,157,146,252,193, 38,135,  3,188, 72,107,187, 22, 38, 94, 43, 39,191,223,237,170, 46,167,219,191,224, 75, 95,
+255, 42,101, 83,208,111,123,218,245, 38, 99,  5,180, 65, 70,193,197,249,134,162,156, 51, 95,212,204, 27,141, 84,130,118, 72,244,
+ 62,208,247,  1, 23,161,247,142,182,119, 88,171,184,123,208, 32,200,247,248,156,214, 22,179,149, 45, 68, 90, 31,232, 67, 64,  8,
+145,197,250, 46,160,131,167,234, 51,107,125, 24, 28,125,  8, 60,139,142, 62, 70, 26, 41, 25, 82, 98, 37, 21,175,220, 62,228,195,
+199, 79,184,250,246, 57,247,172,228,246,107, 37,162, 86,188,118, 88,112,187, 11,252, 59,243,130,207,110,115, 51,240,229,160,216,
+ 93, 74, 52,176,187, 44, 16,  8,246,  2, 92, 68,199, 16,224,141, 55,239,243,218,103,110,113,220, 58,174,250,  1, 91, 21, 20,133,
+166, 41, 52,133, 82,236, 46, 43,234,202, 98,164,160,219, 14,108,215, 45,105, 24, 49, 66, 80, 26,141,145, 18,155, 18, 50,100,171,
+158,140,  9, 69,206,153, 55, 17, 52, 17,213, 57,180,119,136, 33, 97, 48,244,197,140,131,253, 93, 98, 57, 39,154,138, 43, 13,101,
+123,201,237, 30,158,186,142,195,214,113,233,  6, 94,237, 19,207, 66,135,252,246,187, 92,125,247,  9,255,228, 55,254, 57, 79, 30,
+117, 60,122,188,229,195, 62,208, 91,141,208,146, 46,130, 12,158,174,117,124,180, 30,248,206,105,199, 58, 37,164,150,124,102,101,
+241, 66,147,140,230,208,  9,182, 50, 49, 68,197,236, 51,175,242,229,159,126,157,195,  7, 37,238,189, 51,254,207,255,233, 55,249,
+233,191,241, 21,164, 80,184,179,129,177,115,  4, 41, 80, 66,162, 76, 78,181,147, 11,139, 40, 52,178,204,235,240, 24,179,203,196,
+141,121,122, 39,228,  7,125, 18,137, 97, 12, 92, 56,135, 46, 13, 61,176, 50, 57,  4,104, 86, 91,244,117,218,152, 75,132,103, 91,
+134,247,143,241, 31,126,194,248,201, 49,227,232, 16, 49, 32,166,160,161,216,142,248,193,227,186,158,182,235,184,188,220,224,198,
+  1, 93, 40,164,209,  8,173,161,208,116,222,211, 38,193, 85, 10,196,148, 40, 45,168,186,228,188,214, 68, 45, 56,247,240,209,211,
+ 71,252,183,111,125,151,231,103, 93, 46, 30,243, 69, 86, 52, 47, 26,196,238, 46,236,237,193,124,137,120,126,  9,174,205,197, 68,
+ 76,226,223,186,156,232,141,226,229, 42,254,211, 27,184, 79,255,249,186,200,235, 38,175,150, 15, 14, 88,204,107,126,226,104,151,
+251,243, 57, 55,155,134, 90, 27,118,148,228,196,  7, 90,  1,253, 20,203,176, 39, 36,187,  5,220, 84,185,  9, 47,133,224,184, 31,
+248, 23,207,214, 84, 74,240, 30,145,161,168,248, 94,189,226,247,203, 21,174, 90,240, 87,239,222,227,160,168, 88, 53,187,196,144,
+232, 72, 28,183,  3,155,152,136, 41,224, 98, 96, 27,  3,231,126,196,  9,193, 58, 38,188, 18,216,186,196, 24,203, 40, 35, 42,  9,
+134, 20,137, 50, 15, 55,227, 56, 18,194, 72, 26,122, 82,136,200, 20, 73,110, 64, 40,155, 61,255, 73, 65, 85,101,207,182,148, 36,
+163,242, 57, 74, 11,164, 81,180, 33,209,  7,199, 32, 37, 99, 76,180,201,179, 99, 42,148, 49,220,169, 42,180,206,246,180, 85, 61,
+ 99, 85, 88,  6, 45,169,235,130, 81,104,196,188, 33,212, 85,174, 37,139,  6, 22, 85, 22, 15,214,  5,119, 87, 51,144,154,210, 42,
+ 42, 99,137, 72,246, 75, 75,161, 13, 23, 94,176, 83, 91,108,212, 84, 69,241,162,168,121, 18,141,170,112, 49,167, 74, 90,153,165,
+ 95, 73,106,208,  2,147,160, 46, 10,182,227,136,143,  9,143, 32,  6,135, 16,138, 75, 63,144, 98, 96,144,137,198,185,156,149, 78,
+100, 39,  5,108,206,240,100, 38, 18, 46, 36, 54, 66,112,168, 13,143,253,192,131,178,225,210, 59, 82,138, 44,129,143,  8,184,224,
+ 16, 62,113, 71, 27, 14,165,226,176,214,168,144,144,198,190,  8,146,140,147, 91,170, 52,150,203, 16, 88, 25,195,218,141, 84,182,
+100,240, 30, 41, 18,103,163, 67, 39,176, 82,115, 44,  2,171,178,226,117,163,  9,202, 98,148,226, 64,  9,148,212, 52,133,100, 33,
+220, 15,170,126,159,146,217,132,205,147,185,158,176,175,218,188, 12, 88, 86, 58,123, 62,153,140,253,253,116,131,239, 93,158,212,
+245, 52,237, 42, 61, 77,187,215,201,110,217,248,159,  1, 16,144,148, 66,148,138,186,176,180,218,160,149,194, 40,205,229,116,243,
+174,180,229,185,243,132,190,195,206, 23,140,235,171, 73,192,150,183,  0, 73, 43, 42, 33, 72, 41,210, 40,137, 16, 18, 99, 36,189,
+ 15,153,123,110, 52, 12, 35,235, 40,184, 91,105, 46, 93,160, 86,138,153, 84,156,199,196, 92, 75,206, 98,224,196,101,228, 96, 34,
+195, 83,242, 14,138, 44,240,211,122, 42,188,241, 83,170,127,159,109, 35, 34,253, 41,110,244,105, 23,121, 56,171, 24, 68, 94,255,
+244,221,128, 22,  9,161, 50,227,184,237,123, 10, 99, 81,225,165,176, 47,251,230, 51,135,121,144,138,167,222,113, 25, 36, 65,155,
+220, 16,197,137, 12,120,205,  7, 78,225,251,223,255,164,156,110, 86,112,247,238,125,118,247,119, 25,122, 71,244, 14, 31, 34,221,
+ 48, 98,180, 33,196, 72,221,204,152, 47, 22, 28,173, 26,148,140,249, 53,117,105,186,149,  7,146,136,  8, 37,  9, 99,192, 88,197,
+178, 54,140, 33,101,180,233,148, 19, 45,128,113,186,  1, 54,147,222,192,133,144, 93, 61, 41, 18,134,192,170, 15,120, 23,152,161,
+216, 79,145, 48,  6,130,132, 74, 43, 86,203, 57,223,124,250,148,183, 30, 95,240,137,243,188,211,122, 78, 54,158,167,223,107,121,
+114,191,224,116,166,249, 23, 91, 79,120,189,224, 96, 71, 50,215,154,102,167,228,167,230, 11, 22, 46, 81,140,129, 98, 49,167,243,
+ 45, 85,185,195, 27, 15,111, 48, 70,193,232, 19,125,202,177,177,213,100,127,156,205,107,234,202,162,148,196,199, 68,215,122, 92,
+223,147, 98,156,208,182,145, 20, 34, 41,166,172,128, 23,153,160,167,132,202,182, 62,173, 40,181, 98,111,165,121, 77, 69, 22, 51,
+203,237,189,134,207,220,222, 97, 86, 89, 62,142,134,214,214,236,220,184,133,187,119, 31,127,239, 53, 14,191,242, 25,110,126,254,
+ 13,206, 84,197, 59,103,199, 60, 59, 89,243,215,247,102,252,163,139, 13,225,233, 39, 12, 79, 62, 66,187,200, 86, 20,156, 78, 97,
+ 29,214, 69, 62,217,122,222,189, 26,120, 54, 58, 58, 37,249,252, 94,193,225, 60, 55, 37,167, 81,113, 94, 72,238,161, 56, 51,138,
+155,135, 51,110,223, 95,113,227,243,247, 89,252,252, 23,216,251,236,138, 95,254,239,255,  1,221,255,248, 29, 94,251,165, 55, 17,
+133, 66,207, 44, 74,171, 44, 65,185,214,184,196, 12, 49, 74,189,167, 61,105,249,224,116,195,105, 55, 16, 58,199,213,186, 99,187,
+238,216, 58, 79, 31, 35,163,204,186,  2,124,224, 42, 37,230, 70, 97,138,108,191,137,125, 96,120,116,193,240,225,115,210, 59,223,
+130,211,143,  8,237, 37,177,191, 66, 10,133,  8, 16,186, 14,223, 13,244,219,142,171, 77,203,135,151,151,124,216,109,144,193, 33,
+133,204,205, 65, 97,137, 34, 49,106,197, 38,  6,206, 60,244,147,194,186, 20,145,  7,171, 25, 71,243,130,  7, 51, 67,159, 50,151,
+240,164, 11,121,157,254,252, 12,179,103,219,153,  0,  0, 32,  0, 73, 68, 65, 84, 49, 43, 97,103,143,159, 63, 92,241,239,222,188,
+193,157,198,242,237, 56, 64, 81,231,207, 75, 31,167,103,153,206,195,198,162,225,206,209, 62,159, 59,152,243,113,159,207, 49, 88,
+253, 50, 90, 90,216, 60,180, 44,151,176, 83,103,235,221,238,140,175,222,220, 97,223, 88,142,170,134,156,105, 24,168,116,129, 13,
+129,142,196,137,207, 91,139, 43,159, 83,233,110,218,140,191, 62, 27,  6,254,238,227, 45, 79,202, 25, 79,246, 15, 57,221,185,201,
+191,169,119,121, 82,204, 17,186,228,111,222,187,205,151,202,154, 31,154,205, 57,136,  9,233, 19,  9,129,151, 35,155, 33,208, 19,
+  8, 34, 39, 87,110, 93,224, 60, 70,174,132,160, 37,159,152,102,133,161, 52,134,181,243,200, 24,241,131,231,249,230,138, 20,  2,
+109,219, 18,131,199,140, 35,113, 26, 46,210,181,232, 87,233,108,113, 20, 57,200,200,123,159,173,107,218, 48, 58,207,152, 18, 27,
+ 53, 97, 70, 68, 94,217,123, 41,217,181,118, 18,170,105,118,170, 25, 93,138, 20,166, 96,223, 22,244, 18,150,179, 37, 74,165,220,
+ 88, 47,102,217,150,166, 52,187,243,134, 59, 85,201,210, 40,202,166,162,214,  6,109, 21,179,162,100, 20,  9, 37, 53,135, 77,157,
+239,225,182,194, 40, 48,214, 96,117, 73,161, 12, 99,154, 68,189, 34,163,176,209, 37, 86, 73,186, 16,209,218,112, 53,120, 74, 35,
+ 16, 73,146, 66,142,220,214, 36,174, 82,164, 77,145,185,243, 24,161,153,145, 61,255,187, 41, 32,146, 71,  7, 79, 18, 96,137,244,
+ 67,203, 24, 34, 71,218,242,214,176,229, 72, 25,106, 41,120,199,121, 98,138,144,  2, 70, 75,110,203,204, 71,185, 95, 22,116, 74,
+ 82,  2, 35,137,153,210,180, 74,178,212, 37,155,228, 89,105, 77, 39,  4, 43,107, 57, 31, 29, 51, 93,240,164,237, 49, 66,210,225,
+  9, 74,241,229, 89,197,158, 12, 68, 81, 80,106,201, 61, 35,153, 27,131,146,145, 50,  9, 46,199,248,  3, 22,117, 37, 95,168, 15,
+ 51,133,199,194,188,252, 83,118,131, 23, 89,175,144,167, 71, 33,242,250, 87,132,188,110,105,202,252,223,221,148, 34, 22,166,105,
+189, 42, 51,196,134, 41, 98, 78, 68, 82,105,136, 90, 35,140,101, 84,154,115,231,152, 23, 21,206, 88,158, 13, 91,234,178,202,201,
+ 97,125,151, 39,231,179,171, 92,120,165,162, 40, 53, 67,136, 20, 34,145,132,192, 74,232, 92, 96, 33, 37,165,146,116,237,  0, 82,
+ 18, 58,199,211, 49,242,234,220,208, 69,207,241,152,184, 89, 91,158,185, 17,159, 12,107,  4,209,249,252,179,251,144, 27,150, 48,
+137,253,226,132,245, 75,188, 92,205, 15, 33,223, 46, 99,122,169,250, 28,243, 42,207,169,196,145, 53, 92,141, 35,149, 54,108,  6,
+151, 85,241,215,255,111,  8,140,211,170,135, 16,113, 82,230,104, 83,145, 85,153, 35,137, 62, 36,182, 99,151,155, 38, 61, 61,104,
+220,164, 69,232,253, 68,156, 11,127,  6,126, 33,166,252,250,200,219,223,252, 22, 63,245, 11, 63,195,246,226,138, 52, 53, 40,222,
+123, 78, 54, 27, 98,128,189,249,146,229,114,198,206,220, 82,200,124, 90, 24, 93,162, 29,  3,227, 24, 25,  7,207,186, 27,  8, 46,
+210,133,192,162,182, 72, 18,133,146,217,191, 42,193,165, 68,140, 89, 13,111, 98,100, 41, 35,229,148,191, 62,159,236,110,201, 69,
+116, 10, 44, 98,162, 65, 48, 79,129,149, 84, 25,146, 49,171,120,247,248,140,254,108,205,158, 18,172,162, 96,150,  2,103, 49,191,
+201,174, 62,232, 72, 67,100,125,225,121,123, 27, 57,173, 18,106,105, 56,186,125,132,159,215,168, 24,185,217,148,220, 48, 21,242,
+236,130, 81, 23, 52, 82,177,152, 87,116, 33, 16, 66, 36,141, 14, 21,161,170, 11,202, 74,163,181,202, 33, 54, 33, 50,116, 14,239,
+ 60, 49,  4,162,115,140, 46,160, 98, 14, 91, 40,144,152, 36,104,180,166, 50,154, 89, 89, 80,151,134, 29, 35,184,111, 10,246, 18,
+180, 38,195, 33,206, 29, 92,249,132, 85,145,164,225,162,247, 20,109, 96,121, 99,206,193, 43, 11,110,190,121,196, 63,246, 43,254,
+214,195,187, 20,119,143,120,253,141,251, 44,191,250,  5, 62, 60, 89, 83,110,207,217,188,255, 33,227,157,187,204,166,165,205,249,
+232,121,127, 51, 34,198,136,142,145, 89, 89,176,168, 12, 27,  4,239, 14,145, 11, 31, 89,203,196,122,240, 28, 84,138,203, 33,114,
+188, 25, 25,125,228, 11, 63,241, 26,223,248,197, 31,230,141,255,228,115, 96, 18,197, 65,133,174, 52,114, 74,193, 74, 27, 71, 58,
+235,  9,103, 61,227, 89,203,230,233,150,167,167, 27,190,117,185,230,100,112, 60, 31, 71,130,130, 86, 11,156, 72,244, 10,130, 18,
+184,148, 19,249,132, 82, 52,149,101, 32,178, 25, 61, 93,244,172,183, 45,177,219, 32,151, 13, 65,130,223,221, 37,218,  2, 49,145,
+214,198,237,150,243,110,203,201,176,229, 73,244,188,221,173, 57,  9, 35, 49, 70, 26,107,241,147,186,216, 25, 69, 23,225, 34, 37,
+206, 93,224, 50,228,109,153,214,185,209,223, 49,154,185, 54,220,108, 26,238, 26,197,235,171,154,219,251, 75,158,  8,197, 92, 65,
+247,228,148, 95,124,245, 85,238,214, 21,231,179,125,254,228,234, 60, 47, 23, 11,  3,149,134,170, 70,204,106,168, 10,238,172, 22,
+252,200,209,  1,183,119,246,112,181,228,249, 58,193,238, 14,234,230, 33,105,190,128, 41,209,140,163, 61, 40, 43, 22,139, 57,251,
+214,176, 44, 13,  7,186, 32, 76,155,132, 66, 26, 68,138,  8,165,240,209,241,193,232,179,240,110,  8, 28,247,145,141, 72,180, 90,
+241, 39,209,114,182,127,139,  7, 55,110,178,191,123,131,122,182, 75, 40, 26, 70,169, 16, 69,195,207,148,150,219,101, 65,147,  4,
+157,243, 44,181,102,219,181,156, 12, 61,207,186,237,148,254,156,  8, 49, 48,184,145,205,232,120, 22, 28,163,213,244, 66, 82, 89,
+131, 11,142,194,106, 78,182, 27, 58, 63,114,225, 19,103,253, 21,231,109,230,209,111, 93,135, 26,187,140,144,158, 54,111, 72,147,
+167, 93,161,136,211,102, 54,105, 67, 76,137, 81, 66,235, 61, 66, 26,206,156, 35, 73,193,152, 34,181, 41,178,204,204,150, 84, 82,
+211, 73,129, 45, 42,146, 27,  9, 85,205,202, 88,182, 62, 81, 23, 37,187, 69, 69,  8,145,253,170,102, 86, 84,188, 54,179,148,218,
+178,103, 45,179, 20,152,149, 13,115, 83, 51,151,130,170,168,168, 76,137,181,150,202, 20, 24,171,209,194,100,122,162,146, 89, 56,
+175, 20, 74,192, 76, 11,172,212,140,201, 51,164,196, 66, 74,250,148,155,213,130,200,136,199,  8, 73,105, 52,253, 56, 32, 99,164,
+115, 35, 11, 33,168, 98,196, 71,199, 46,145,245, 56, 80,  2,115,  1, 46,  4,116, 74,244,192,211,209,113, 66,228, 32, 69,158,  6,
+143,136,  9, 29, 28, 62,  9, 84, 12,200, 16, 89,145,248,242,172,230,147,118,100,215, 26,164,146,204, 76,201, 57,129, 27,186, 98,
+ 67,100, 71, 91,122, 36,134,136,155,116, 59, 33,229,199,244,198,  7,182, 34,159, 23, 31,106, 73,101, 44,251, 70,112,168,178,  5,
+ 86,147,120,197, 20, 92,  6, 79,173,126, 16, 75,155,214,211, 52, 46,167,123, 72,  9,123, 77, 46,192, 70,102,133,187,152, 10,250,
+181,229, 75, 78,124,242,232,178,207, 96, 53,135, 38, 43, 24, 25,167,152, 81,107,243,218,125,188, 70,154, 78,225,240,246, 26,219,
+167, 25, 34, 12, 50,162,138,134,173,119, 12,  8,132,208,140,227,196,240, 53, 22,174,218,169,128, 14, 80,104,102, 86, 35, 82,162,
+ 81,138,243,214,101,229,168, 75, 44,106,201,133,203,118,188,212,141, 16, 61,169, 48,156,141,  9,165, 37,143, 93,226,204, 37,156,
+212,156,250, 64, 76, 42,111, 24,194, 52,205,244,253, 75, 23,166,156,238,112, 87,221,196, 18, 30,243,125, 45, 77,247,245, 16, 95,
+198,210,138,196,149, 75, 57, 71,103,202,118,175,124,164, 13,121,123, 81, 39,193,243,232,209, 66,231, 84, 43,145,104,125,190,177,
+182, 41,113, 21, 35,165, 86, 12, 62,228,149, 23,233,101, 68,235,181, 29, 68, 76, 14,132, 79, 11,124,226, 53, 14,113,218,146,  4,
+193, 55,254,250, 79,226, 67, 36,248,108, 79, 83, 19, 36,168, 41, 74,148, 18,136, 24, 81,218,162,181, 34,  9, 69, 41, 21, 70,100,
+ 64, 66, 27, 61, 93,239,217,217, 45,168, 43, 69,231,  2, 82,230, 12,245,152, 82,238,231,162, 32,133,132,139,  1,231, 67,254,123,
+166,181,150,138, 80,138,108,237,155, 43, 69,233,227,139,181,148,179,  6,107, 36,118,217,224, 70,135, 62, 61,103, 30, 35, 23,196,
+220, 40,204, 20,213, 66,211, 25,160,150, 72, 45,176, 43,141,147,  2,243,180,227, 96, 79,225,110, 28, 49, 47, 13, 95,190,121,151,
+ 84,214,168, 24, 24, 90,135, 24,  2,139, 85, 67, 16, 10, 81, 26,  6, 31,208, 62, 78, 10,127,137, 86, 18, 17,114,247, 62,250, 72,
+235,242,125, 51,184,140,185,181,  8,102, 66,113, 88,228,169, 99, 71, 27,246,170,146,121, 99,153, 55,  6,157, 34,214,106,170,166,
+ 98,167,201,202, 97, 73,100,159,158,131,246,146,221,227, 19,194,197, 57,188,255, 62, 23,107,199,108, 53, 39,117,158,149,146, 60,
+158,149,140, 71, 13,199,  7,187,220,216,155,241,240, 11, 15,249,238,222, 17,171, 31,249, 28,162,212,184,  4,110,240, 92,180,142,
+ 95,249, 95,255, 62,223,254,239,126,157,253,111,188,193,113,204,211, 81,135,100, 59,169,104, 43, 33,184, 81,105,164, 20, 92,133,
+204, 14, 88, 85,130,177, 29, 56,233, 35,175,172, 74,132, 22,164,148,232,149,228,163,199,107, 62,250,131,199,204,149,160,125,186,
+225,248,233, 37, 39,235,150,239,156, 95,241,157,171, 45,199, 93,196, 37, 69,235, 35,114,166,152, 85, 10,109,228, 68,137,142, 88,
+ 41, 24,149,160, 49, 58, 91,141,165,164, 23,137, 77,136,156,  8,232, 45,108,202,130,171,131, 61, 78, 87, 11,134,217,156,203,186,
+228, 98, 28,121,228,122,190, 53,246,124,100, 13, 31,147,184, 20, 21,149,130,243,162, 36, 26, 67,165, 20,131, 72,140, 66,240, 36,
+  4,206, 66,228,147, 24,241, 62,177, 14, 14,164,193,136,124,103,221,177, 37,183,181,197,150, 37, 66, 42, 90, 34,179, 89,193,110,
+ 83,112,146,  4, 15, 54,199,252,135,175, 63,228,187, 23,167,252,222, 56, 66,114,136,113, 34, 48, 54, 37, 95,219,217,225,181,121,
+195, 81,179, 32,200,146,203, 36,248,163,164,  9,171,134,175,223,186,195,231,143, 14, 89,206,231, 60, 45, 74, 88,236,228, 38,190,
+176,204,165,162,182,154,185,148, 44, 16, 20, 41,161, 68,222, 24,100,146, 64,226,216,143,124,188,245,136,194,194,106, 23,102, 21,
+207,237,146, 39,178,225,104,117,196,103,119, 15, 89, 53, 11,172,169,176, 69, 69, 93,228, 59,244, 95, 41,243,109,122,150, 96,112,
+ 35, 75,169,112, 67, 79,232,122,158,182,231, 28,187, 22,136,180, 67,207,118,236,249,240,124,203, 39,253, 64,231, 60,107, 63,208,
+ 69, 71, 63,142,212, 34,241,193,243, 99, 46,219, 43,158, 94,156,240,237,231,199, 60,186, 90, 51, 36,199, 89,191,229,241,213, 37,
+142, 68,215, 93, 97, 98,192,232,146, 36, 18, 41, 10,146,206,185,222, 81, 43,162, 18,244,193,211,143,158,160, 53,155, 24,104,133,
+167,243, 30, 33, 21, 26,137, 81, 38,235,105,116,193, 76, 23,104, 37,193,150,  8, 18, 73,106, 86,117,195, 16,179, 21,214, 90,131,
+149,138,157,194,224,131,228,179,117, 69,210, 10, 93, 52, 44,108,153,217,235,198,114, 80,204, 24,165, 36, 10,153,111,224, 82, 33,
+141,196,232,  2, 68,194, 24,133,115, 30, 37, 21, 82, 10, 80,145, 74,104,100,130, 49,230,137,187, 36,210,197,144,197,164, 34, 17,
+189,195, 72, 56, 29, 71, 68,138,196, 20,  8,126,164, 74,  1,231, 71,118,132,192, 50, 18, 93, 96,166, 61,114, 76,140,222,179, 91,
+ 90, 54, 93,135, 35,177, 39, 18, 42,230, 51,163,242, 45,218,  7,180, 16,236,  8,137, 75,158,251,214,228,239, 89, 40,214,  4,110,
+233,146, 45,  1,153, 36,157,  0, 43, 50, 28, 42,248,136, 54,134,222,  7,222, 27, 61,129,136, 16,146, 87, 74,147,183,129, 49,127,
+ 93,157, 18,165,144, 28, 20, 37, 41, 38,124, 12,184, 24,255, 45,213,239, 47, 60,231,211,138,249, 26,184, 31,167,137, 92, 76,106,
+115,169, 94,218,189,226,132,126,189, 46, 44,133,252, 84,148, 94,156,176,140, 83,254,186,155,252,136,106, 42, 76, 46, 76, 80,155,
+172,  6, 38,116,236,175,238, 80,232,154,199, 93, 59,121,179, 37,168, 42,103,188, 67,190,237, 63,217,228,244,154,202,226,122,199,
+253,165,229,116,112,204,  4,  8, 31,120,101, 97, 88,247, 14,237, 18, 51, 11,103,151,227,139,168,211,161, 44,120, 60, 42, 80,146,
+214,251,169, 72, 93,223,210, 84, 86,237,183,221, 20, 65,219,101, 37,255, 48, 64,169,114, 52,173,239,115,168, 72,159,149,251,249,
+136, 18, 94, 42,239,123, 15, 54,241,193,165,228, 11, 59,138,231,219,158,193,104,252,182,229,158,157,115, 76,164, 64, 48, 70,135,
+ 79,224,199, 72,178, 26, 23, 18, 70,101,143,106,240,158,253, 82, 81, 68,201, 91,151, 25,115,187,238,251, 28,143,187,105,243, 93,
+ 16, 50,233,101,216,252,249, 45,139,203, 86,194,245,243, 53,213,178, 65,105,201,217,211,211,140, 75,  4, 62, 58,123,142,210,134,
+102,194,183,174,  7,199,174,206, 54, 17,143, 98,  8, 16,146,160, 82,138,113,  8, 44,102,150,109, 55, 82, 89,197,162, 22, 47, 50,
+217, 67,  8,116, 41,223, 97, 23, 82, 80, 41,201,149, 11,217,169,104, 21, 38,  9,140, 24,169, 10,  3, 11, 65,232,  6,234,168,209,
+ 34, 81, 11,133,217,157,115,239,106,197, 27,186, 38,205, 45,191,109,182,152,194,176,135,226,131,224, 89,223, 46,233, 93,224, 94,
+128,181,130, 78,  9, 86, 11,203, 65,  8, 84,  9,202,197,138,249,182, 99,121,176,143,106, 22, 60, 13, 61,197,241, 25, 39, 66, 32,
+ 23, 53,213,222,156, 27,119,246, 24,182, 61,227,224,184, 90,183,164,193,160,129, 66,107, 94, 89, 45, 72, 81,242, 52, 10,124,234,
+176, 12,212, 81,176, 82, 37, 15, 22, 11,230,117,153, 47, 81,133, 70,206, 11,212,126,141,112,145,174, 29, 57,181,160,241,148, 46,
+ 71, 34,142,155, 45,233,108,195,205, 51,199,113,215,209, 17,185,241,232, 17, 23, 31, 63, 97,185,127,192, 23,159, 28,243,171,139,
+ 57,143,126,248,179,236,237,  6,102,  8,206, 90,199,205, 82,179,237, 60, 90, 11,158,117,158, 15, 79,182,252,246,223,250,187,164,
+113, 11, 88,126,237,191,252, 59,240,230, 14,219,255,234, 63,229, 55, 69,228,222,221,125,190,182, 99,185, 41,  4,171,  2, 46,199,
+196, 70,  9, 22, 90, 82,218,188,133,120,190,241,252,206, 71,151,124,182,201,123,211,143, 46,182,124,240,124,192,104,201,179,231,
+103, 52,  9,168,  4,207, 93,228,121,136,180,  1,122,145, 16,120,218,157, 25,183, 10,112,  2, 10, 23, 80, 90,230, 16, 13, 23,112,
+ 70,241,209, 85,207, 92,  9,172,150,212, 70,179,117,129,103,131, 99,225, 19,214,  7, 80,146,153, 53, 60,171, 13,189, 89,208, 46,
+ 42,186, 39,167, 60, 31, 19, 85, 33,104, 77, 67, 21,  3, 79,229,140,253, 90,242,110,155,120,146, 34, 53, 18,127,177, 97, 99, 13,
+109,136,120,224, 60,105,162,174, 89, 39, 71,140,  5, 59, 74,176,180, 69,118,144,196,128,183,  5,190,149, 68,231, 48, 49,112,171,
+105,248,229,167,103,244,127,244,  7,252,189,243,  1,209, 84, 48, 95,146, 70, 16, 58,191,247,247,173,198,104,141, 23,146,111,246,
+ 61,231, 33,230, 48,214,249, 46, 95,187,123, 23, 33,  5, 71,253,192,219,103, 23,180, 67, 55,  9,131, 35, 46,140,180, 99,228, 44,
+ 70,118,108,102, 93,204,133, 98, 19, 34, 81, 36,174,124,207, 99, 12,172, 10,246,139,154, 93, 99, 48,170, 98, 71,  9,140, 84, 52,
+186,194,106, 67, 81, 53,212, 19, 28, 81, 38,207,129, 20,124,219, 69,238,110,175,184, 37, 11, 36,146,110, 28, 72,131,227,188,221,
+240,241,122, 77, 27,  7, 78,183,  1, 82,224,124,240,140,231,107,100,140,200,182, 39,236, 47, 56,  5, 46, 27,203, 91, 49, 98,156,
+199,120, 48,253,136,105, 59,204,106,201,219, 82, 83, 55,  5,133, 72, 60, 42, 37,159,193,162, 22,145, 33,  4,172,182, 44,118,110,
+ 32,  6, 72,186, 96, 28, 28,222, 57,194,164,111,186,220,174,113, 42,159,222,144,154,146, 72, 80,  2, 41, 18, 30,195, 18,137,176,
+  6, 53, 58,208,138,133, 15, 60,243,  3,  6,193, 66, 36,156, 51,204, 82, 98,  8,121,176,104, 22, 26,169, 20, 77,240, 36, 99, 48,
+ 34,159, 29, 27, 83, 77, 48,155,200,210,148,108,125,255, 66,  7,132, 75,104,105,240,113,164, 44, 52,206, 37,164, 76,  8, 15, 27,
+  6, 42,  1, 58,  9, 28,137, 62, 58,144,150, 16, 28, 18,168,148,225,188, 27, 88,166,196,113,112,164,113, 64, 43,129,  9,129, 82,
+ 71, 66, 76, 52, 62,208,165,196, 14,  5,107, 61,178,227,  4,155,171, 11, 10,109,177, 41,111,121,181, 72, 84,228, 36, 55, 77, 22,
+ 74,175,240,236,136, 18, 81, 86, 28, 36,184,240,158,215,237,156,247, 92,207, 74,151,108, 36,236, 11,193, 59, 67, 98, 17, 61, 66,
+ 73,234,  4,143,198,192,158,182, 60,  1,132,239, 57,176,138, 62, 56,140,148, 92,245, 91,230, 82, 18, 99, 96,219,245,  8, 41,120,
+ 67,106, 30,199,241,223, 98, 82,215,250,165,239,156,  9,239, 87, 78,247,114, 59, 17,151,122,151, 39, 65,239, 94, 78,168, 76,114,
+ 97, 55,249, 64, 69,122,233,255,108, 39, 11, 86,156,214,198,101,145, 85,170, 90,229,253,195, 68,174,194,170, 60,133,207,114,128,
+198,195,155, 15,120,124,117, 78,136,  1,188, 67, 74, 75, 66, 65,187,201, 19,115, 55,192, 48, 32,165, 98, 81, 21,216,148, 81,168,
+181, 21,236,105, 56,235, 71,102, 74,130, 27,233,187,172,220, 37,133,236, 37,213, 58,223,207, 84,190, 99,167, 52,169,247,205, 36,
+ 22,136,211,244,173, 85, 62, 19, 88, 13,114,130,204,139, 73, 92, 99,204,116,110,152,176,185,195,116,175,187,158,214,123,143, 19,
+137,199,157, 71,151,138,183, 62, 89, 83, 87,138, 15, 47, 90,180,209,104, 41,  8, 42, 11, 82, 70, 37,208, 66,224, 66, 38,185, 21,
+ 82,225,137,204, 80, 12,209,211, 88, 69, 67, 98, 75,206, 59,199,231,108,230,204,225, 23,147,160, 47,190,180,223,201,233,116, 18,
+  4, 71,175, 28,113,112,235,144,118,155, 69, 50,193, 71,182,125,139, 17,154,131,213, 33,123,  7, 75,102, 77, 65,112,137,194,106,
+ 84,132,166,212,200, 49,112, 57,  6,124, 74,180, 67,192,185, 72, 83,107,148, 20,104, 57,173,223, 17,120,242,135, 53,166,148,131,
+247,144, 68,  1,137,188,174,213, 58, 79,235,248,152,161, 62,133,194,214,  6, 45, 53,101,169,249,191, 89,123,179, 88,203,210,243,
+ 60,239,249,167, 53,238,233, 76,117,106,174,174,174,234,110,246, 64,145, 77,138,148, 40, 91,178,132,152,  6, 18,197, 73, 46, 20,
+  7, 65,  4,196,185, 73,128, 32,185,  8,  2,248, 46,176,238,156, 27, 35,200,125,144, 92,  4,112,132, 12,130,108, 40,138,172, 33,
+214, 16, 73,164, 73, 90, 36,155,221,173,110,178,187,171,107, 62,243,217,227, 26,254, 41, 23,255, 58, 85, 69,137, 18, 20,197,167,
+177,113, 80,  5,116,157,179,246, 94,123,127,255,247,125,239,251,188,178, 54,204,109, 36, 28, 28,227,181, 96,145, 75,124,109,216,
+100, 18, 95, 72, 30, 73,207,246, 40,103,119,167,100, 57,206, 24, 95,158,178,181, 61,229,114, 85,115,185,183,188, 81,111, 51, 13,
+145, 93, 93, 48,186,177, 13,166, 96,220,246,100,173, 99, 45,  5,179,237,154,171,151,183, 40, 75,147,  0, 99, 77, 75, 92,246,200,
+206, 83, 74, 69,169, 36, 69,132,222,167,209,158, 16,138, 76, 24,246, 71, 35, 46,239, 77,153,108,215,148,163,156, 98, 82,144,207,
+ 10,178,210, 80, 76, 43,138,113, 73, 17, 34,198, 58,100,239, 56, 95,172,217, 57,106, 48, 46,242,193,193, 33,242,124, 69,238,  5,
+166, 52, 92, 11,240,242,227,  5,223,113,199,184,137, 96,218, 45,184,255,219,127,128,207,182, 89, 29,172,216, 44, 26,214,235,150,
+223,254, 95,126,149,143,254,209,239,113,239,215,191,145, 52, 13, 72,  2, 38,233, 60,142, 27, 62,250,103,127, 72,248,167, 95,167,
+236, 63,229,214,157,171,124,121,183,100, 87,107,254,120,229, 56,232,  2,158,200,165, 82,209,161, 56,149,138,199, 66,114,127, 99,
+121,180,238, 89, 53, 30,109, 36, 94, 66, 44, 32,138, 72, 75,160, 35,224,100,128,152,196,139,215,239,236,145, 95,153,114,164,115,
+ 62, 61,119,252,225,183, 62,230,206,254,132,222, 71,158, 90, 79,171, 69, 74,226,206,  4,247,159,204,105, 93, 74, 88,180,189,101,
+221, 89, 66,111, 25, 75, 65,166,  4,185,144,244,121,154,250,185,178, 32,232, 12,171, 51, 84,157, 97,235,146,179,141,101,113,190,
+100,213,119,228, 85,198,131,243,158, 77, 20,172, 93,135, 15,145,163, 69,135,146,146,181,210, 56,149,225,163,100,119, 54,166,145,
+130,105, 94,208, 33, 57,246, 17, 43,  5, 79,150, 45, 71,189,101,172, 20, 71, 82,241,222, 89,139,232,186,228,145,207, 52,140,170,
+  4, 95, 57, 93,115,165,144,236, 85,  5,  7,155,134,119, 87,107,172,237, 17, 82,241, 70, 53,226,181,233,  4, 41, 37, 66, 73, 86,
+173,229, 64, 12,217,  7, 62, 21, 84, 21,159,239,202,107, 37,105,133,224,  8,136, 66, 50, 42, 74,246,234,154,207, 86, 19,238, 78,
+119,208, 67,224,138, 70, 82, 12,194,178, 92,105,156, 15,  8, 33,200,134,157,117,227, 61, 15, 87, 11, 94,145,  1,215,245,220,  8,
+145,213, 98,206,124,115,198,251, 71, 79,248, 96,126,206,199, 39, 27,206,155,142,229,233, 28,123,118, 68,180, 29, 97,179, 33,246,
+ 45, 97,177, 76,143,249,138,112,190,196, 47,214,248,243, 57,174,239,241,222,225, 86,107,220,217, 25,253,241,  9,253, 98,197,241,
+162,225, 97, 72, 57, 26, 45,129,237,188,164, 35,164,172,141,224, 17, 70,211,122, 79, 23, 28,115,239,105,133,224,164,107, 88,217,
+ 30, 97, 20,189, 28, 38,124,153, 65,101, 25,121,102,104,165,160, 42, 43,180,148,172,165,167, 50, 25, 27,239,208, 89,137, 84, 34,
+ 33, 94,181,166,202,  4,179,172,196,135,128,202,138,164, 90,143,142,186, 26, 35, 98,192,  6,207,118, 85, 99,173, 69, 68, 65,150,
+231,244, 46, 29, 44, 83,109, 25, 36, 70, 18, 92,231, 80,120,140,136,180,193,211, 58, 75, 22, 61,189, 16,104,103, 19, 63,159,136,
+ 12,142,198, 53, 52,182, 39,118,107,108, 84,212,222,146, 73, 71, 17,  2, 51,151, 92, 90,151,132, 96,227, 44,179,  0, 10, 79,244,
+129,245,186, 37, 23,129,232,146, 56,249, 10,130, 55,180,227, 21,165,248,146,209, 92,215,134, 27, 69, 70, 21, 34, 91, 38,231,178,
+150,156,217,150,151,202, 17,139,104,217, 86,134,143,219,158,155,133,226, 60, 70, 74,  4,143, 86, 61,133, 84,124, 18, 28, 69,140,
+ 92, 54,  6, 31,  4,187, 90, 38,212,109, 12,105, 13, 32, 82,131,183, 29,  3, 62,  6,148,253,235, 20,117, 53,136,182,226, 11, 68,
+223,160,158, 71, 94,118,131, 23,189, 27,186,235,206,191,128,140, 29,138, 77, 28,188, 52,222,167,248,193,139,241,240,  5,125, 77,
+229, 41,147, 92, 13,130,187,186, 30, 22, 12, 42,  1,  7, 68,242, 63,126,218,181,216,126,232,204,163, 32,186,254, 57,201,237,240,
+ 60, 33,103,125,131, 44, 10,148,137,216,206,177,167, 21, 49,120,250, 33,138,180, 68, 17,131,163,233,124, 26,223, 55,131, 29, 76,
+233,225, 80, 49, 88,195,244, 16, 29,171,196,112, 24, 25,104,121, 82, 36, 80,142,237,210, 65, 38,134,164, 13,  8,126,128,234, 12,
+120, 63, 63,  8, 78, 46,216,235, 74,190, 16,254, 18, 88, 46, 82, 80,203,201,241,138,185,143, 60, 92,118,204,170, 12,231,122,148,
+ 84,  8, 33, 89,117,150, 74,167,209,247,210, 59, 42, 33, 89, 13,182, 47, 25,160, 11,145,157, 44, 41, 81,173,190, 56, 68,168,244,
+179,109, 24,216,240,242, 57,138, 49,166,157,244,124, 60,225,237,215,239,178,217,180,  4,231,240, 49,146,  9,195, 89,179,100, 90,
+ 86,124,241,205, 91, 52,157,199,185,152,246,223, 50, 37,177, 17,  2,110,128,205,152, 76,226, 58, 71,219,121, 84, 62,184, 23,124,
+196,  1,173, 13, 52,222, 33,  7, 38,188, 38, 82, 75, 65,227,  3, 75, 31,169,135,221,144, 18,176, 81, 96, 50,133,206, 52, 54,147,
+  8,173,200, 50, 77, 63, 46,121,122,255,152,147,186, 32,142,199,156,103,138,121, 38,209,185,161, 45, 12,182, 46,240,101, 78, 99,
+ 20,125,136,156,183, 45,139,224,120,208, 52, 44,124,203,229,122, 11,218,134, 88, 87,228,187, 35,124,227,185,228, 35, 93,174,232,
+ 37,228,117, 78, 89,230,104,163,144, 33, 64,107, 81,214,161,122,143,110, 92, 58,128,173, 45,110, 72,120,141,218,144, 85, 57, 59,
+147,146,108,156,161, 42,157,118,178, 90, 18, 43,133, 50, 18,165,210,107,165,  4, 72,165,168, 66, 36, 39, 18, 58,203,172,177,172,
+207,206,185,172, 11, 20,145, 85,111,137,202,113, 52,171,120,237, 23,254, 22,111,254,212, 91,188,252,133, 55, 57,222,116, 60,249,
+230,215, 56,248,232, 67,222,251, 23,223,166,253,253, 57, 33, 13,228,210,154, 34, 33, 65,136, 67, 60,208,197,247,213,247,142,121,
+247,159,124,139,  3,113, 66,244,138,239,127,248,132,211, 63,253,148,187,183, 47, 35, 28,172,165,160,137,176,238,147, 45, 78, 75,
+104, 91,203,253,195,  5, 34, 70,158,156,110,168,  8,116, 77,199,166,117, 68, 37,240, 34,114,181,214,252,189, 47,222,224,149,137,
+225,105, 27,248, 80,107, 30,223,185,204,111,170,130,223, 89,  5,190,254,233,146, 91, 59, 53, 50,120,172,130,211,165,103,165, 37,
+ 78, 68,214,173,195,123,143, 36, 98,100,122,109,173, 20,116, 33,160,165,224,112,227, 88,123, 88, 72,201, 34, 51, 44,182,198, 28,
+  8,201, 83, 12, 70, 26,158,108, 90,106, 33,217,116, 45, 58,203,217, 52,  3,225, 47,  4, 50, 34,219,165,228,218,172, 38,100, 25,
+178, 40,113, 90, 97,165,102,174,224, 97, 19,  8, 66,177, 17,145,163,182,229,149,170,224,104,112,146,252,196, 36,231,118,145,115,
+ 67,102, 60, 52, 57,162,206,185,191,106,152,202,  2,111, 45, 55, 98,203,184,239,184,148,103,160, 52, 55,243, 28, 73,164,105, 59,
+222,221,108, 88,134,128,176, 61,149, 20,104, 15, 27, 41,184,162, 20,103, 66, 17, 85,198,125, 23,168,114,195, 38, 40,138,220, 48,
+ 42, 38,232,188, 66, 75, 69,192,208,250, 64,102, 12,  2,129,247, 22,109, 36, 74, 39, 87,197,166,105,112,214,113,238, 26,150,221,
+154,247,238,191,199, 72, 10, 30,158, 61,229,227,147,199,124,114,124,204,119, 78,206,248,224, 96, 65,152,207,137,237,130,184,216,
+164, 60,243,  1,249, 28, 95,  0,177,198, 16,240, 65, 18, 36,120, 41,  9,  3,174,195,  7,247,156, 46,237, 61,174,235,105,219,200,
+ 19,219, 17,  8,104,145, 88, 25,203,190,193,232,156,181,235,  9, 82,208, 11,193,113,179,162, 23,145,179,222,177,192,211,116,233,
+231,134,204, 36,239,184, 41,232,181,162,136, 18,165, 37, 94, 72,140,144,180, 50,129, 90,156,181,136,152,116, 79,224,201,117,142,
+ 17,  9,239,108,132, 78,201,153, 89, 65,173, 19, 61, 51, 55, 26,163,100, 90,193, 41,205,102,211,162,181, 26,  0,158,105, 84, 77,
+244,180,109, 79,244,145,133,237, 81, 62,209, 54,181,119, 56, 33,145,125,135, 14,  1, 17,  3,181,  8,244, 93,159,250, 79,191,193,
+218, 64,230, 27,172,181,108, 11,216,142,  9,249, 61,139,130, 16,  2,187, 82,224,189,103, 18,160, 20,129, 76,120, 88, 54,188, 94,
+ 74,222, 86,146,187, 69,198,142, 52, 92, 49,154,155, 89,197,101,147,244, 60, 19,101,200, 66, 18,240,109,103, 57,103,222, 50,145,
+154,  3,219,242,242,168,230,163,174,227, 90,158,241,104,217, 16,148,228,  3,107, 25,133,192, 90, 10, 94, 45, 52, 70,  5, 86, 33,
+176,133,160,150,146, 86,192, 76, 72,174,102,  5, 77, 76,248,142, 59,229,232,175, 81,212,165,252, 33,114,239,179,204, 91,173,135,
+157,114, 42,248,183, 62,255, 50,243,163,249, 15, 51,224,187, 48, 20,195,129,231, 46,101,242,118,196,161,  8,184, 97,223, 91, 22,
+ 73, 49, 94, 94,140,224,229, 32,198, 19,168, 60, 79,172,117,161,136,182, 75, 16,123,103, 81, 66, 18, 69, 76,123,236,174, 75,249,
+200,171, 21,224,137, 22, 46,103,146,177,150,180, 81, 16,188,227,192,121,118,178,140, 96, 83,190,239,225,106,243, 60,205, 76,136,
+ 84,  0,171,122,208,  5,196,231, 96,156, 48,116,192, 65, 12, 34, 57,255, 92, 52,199,160,182, 15, 46,173, 36, 20, 41, 11, 93, 12,
+215,135,228,153, 41,253,162, 99,183,  3, 90,246, 34, 59, 55,244,176, 89, 66,231,120,108, 35, 91,101,134, 18,130, 34, 10, 70, 42,
+237,169, 69,239,201,133,192,185,200, 88, 43,150,195, 13,166,149, 36,120, 40,117,196, 68,193,218, 15,188,247, 56,188, 94, 34,197,
+159,166, 53, 73,120, 22,  5,185,190,255,128, 87, 63,247, 38,121,150,209,173, 26,178, 44,231,115,159,125,147,  7, 15, 30, 18, 93,
+224,230,173, 27, 44, 22, 29,101,149,  2, 97,178, 76,147,105,201, 38,122,162, 75, 66, 26, 41, 35,174, 75, 59, 91, 31, 82,216, 75,
+ 80,113, 24,141,201, 20,150, 35, 21,106, 80, 72,119, 33, 97,111, 51, 41,216, 49,  9,113, 42,226, 16,101,172, 36, 85,166, 89,155,
+ 36, 12, 68, 75,186, 81,206,159,220, 63,230,211,205,130, 42,  6,214,125, 67, 71,160,141,129, 40, 37,107, 17, 89, 74,146,120, 69,
+ 10,142,133,103,225, 98,194, 84,146, 34, 46,139,178,194,  4, 65,233, 33, 76, 75, 70, 42,199, 40, 73, 27,  3,217,186,199,108, 85,
+137,100, 38, 37,  2,208,157,199,204, 91,212,188, 37,156,174,209,157,101, 76,100, 44, 52,133,214,120,173,113, 70, 34, 50,133, 53,
+ 10,151,168, 52,196,182, 71,103, 10, 97, 20, 81, 74,132, 82, 72, 69, 42,244,101, 70, 81,231, 20, 69,193,254,107, 55,152, 92,219,
+ 98,182,232,217,139,146,251, 49, 18,191,252, 58,175,189,121, 21, 45, 20,162, 42,153, 92,153,146,141,183, 17, 93,228,225,241, 33,
+155,143,151,  4, 28,  1,193,115,170,182,127,246, 16, 67,137,  7,137, 64,242,232, 27, 15,249,250, 63,253, 54,159,252,230,119,121,
+252,123,223,227, 91,239,191,207,207,126,245,109, 92,227,152,175, 59,214, 79,151,228, 71, 11,126,229,127,250,101, 14,191,245, 14,
+155,119,223, 39,223,157,177, 62, 95, 50, 63,111,  6,203,141,192,  9,193,153,202,169,162,229,245,189, 49, 95, 59, 89,243, 63, 31,
+ 54,124, 48,132, 13,233, 76,163,198, 57,241,214, 54,247, 39, 37,183,125, 96,177,232,104,242,140,243, 85,199, 92,102,136,214, 99,
+178, 68,137,195, 59, 74,163,105,136,  8,  4,199, 93,143, 53,112,224, 20,231,117,205,122, 84,242, 56, 51,220, 31,229, 28,103,  5,
+227, 73,206,104, 58,225, 32,192,178,237,176,243,115, 86, 46, 80, 25, 69,239, 58, 10,229,168,132,166, 54,134, 66, 27,162,150,220,
+219,  4, 30, 58,135,146, 57,167, 38,103,187,172,216,213,169, 27, 26,153, 12,175,  4,119,243,146,253,178, 64,106,205, 86,145, 51,
+ 18,201, 42,187, 95,143,201,180,230,149,113,205, 36, 47,217, 31,215,148,218, 80,200, 12, 27,225,254,106,193, 19,107, 89,132,200,
+202,123,118,242, 18, 75, 96,173, 32, 70,137,149, 10,175, 52,103, 82,115, 42, 53,175,151,  5,159,203, 51,238,148, 53, 51, 97,112,
+ 82, 34,148,193,105, 69,  8,145,198,167,166,192,123, 75,  8, 61,193,167, 81,190,239, 58, 86,221,146,229,234,156,147,239,191,203,
+103,174, 94,226,143, 62,125,204, 59,143,142,120,239,116,201,123,  7,199, 28,159,157, 67,183, 33, 10, 71,108, 59, 34, 63,204, 91,
+127, 33, 82,235,217,232, 58,132,231,143, 11,183,250,197, 93,116, 81,220,189,239, 89,197,192,131,181, 35, 55,130,214, 91,206,109,
+ 75,144,130,149,183, 68, 36,143, 54,115,172, 16, 60,106,214,172,162, 39,  6,112, 66, 16, 68, 98, 58, 40,147, 17, 68, 64, 75,133,
+200, 52,113, 72,124, 68,107, 86, 33, 32,135, 96, 43,149,105,108,235, 24,103, 57,153, 76,204,248,220,100, 56,111, 41,139,156,145,
+ 49,195, 86, 54, 75,107,172, 16,200,180, 65,105,141, 50,154, 24, 61,182, 79,133, 89,196, 64,183,238, 16, 17,214,253,  6, 25, 61,
+ 39,157, 69,135,148,230,185, 27,147,144,176, 22,  2, 17, 29,222, 90, 84,112,132, 24, 41,125, 96, 26, 60,165, 20, 76,130,167,  6,
+ 74,169,152,136, 84,231,106, 18,226,122, 23, 40, 17,204,136,220,201, 50,238,102,154,109,101,216, 42, 71,236,154,154,151, 70, 83,
+246,138, 41, 38,194,180, 26,145, 73,137,150,130,113,145, 81, 41, 67,239,  3, 69, 76,147,213,153,202, 56,114, 61, 91,218,176,116,
+142,243, 62,242,129,237, 56,141,240, 52,  6,198, 49, 48, 27,228,104,183,170,130, 16,  5, 19,149,177,165, 12, 59,166,162,  9,158,
+207, 84, 51,118,140, 70,248,191,142,250,253,153,208,234,197,162, 62,180, 47,106,176,176, 33,152, 63, 57, 75,133,171,117, 47,140,
+156,197, 11,123,119,  1,190, 75,194, 20, 25,147,120,142,  0,186, 74, 49,114, 91,227, 84,248,  7,131, 62, 49,133,195,199,182,135,
+178,130, 96,169,162, 99, 52,100,165, 79, 99,160,233, 91, 38, 70,209,217, 62,  9,216, 66, 72, 59,245,144,212,141, 74, 42, 66,232,
+ 17, 81, 50, 35,208,216,164, 82, 60,237, 44,222,250,148,225,173, 92, 74,251, 42,203,103, 96,154,164, 68, 31,186,110, 35,146,138,
+127,224,185, 99,195,115,  2, 94, 28, 10,189, 24,162,240,218,102, 32,202, 57,112,195,168,222, 69, 40,205, 51,150,123, 18,171,197,
+231,246, 56, 63, 48,166,189,133,188,100, 82, 42,148, 79, 52,182, 82, 41,162,183, 88, 33, 49, 33,177,212, 55,206,179,157,105,172,
+ 76, 41, 94, 94, 10,102, 81, 80, 69,207,147,139, 72, 82, 23,210, 59,187,247,131,203, 64,254, 57,112, 70,190, 61,227,230,237,155,
+116, 93, 67,211,108, 56, 62, 60,167,183, 45,222, 11, 66,200,113,125, 96, 52, 41,201, 11, 77, 46, 37, 82,165, 53,132, 37, 34, 66,
+ 26,  5,249, 16,159,197,185, 71, 98, 18,217,  9,153, 68,249, 17, 42,117,161,221,139, 76, 85,154,168,184,232,137, 81,146,105,153,
+242,198,133, 72, 97, 20, 46, 89,115,188, 73, 40,211, 62, 83, 28, 29,173,152, 68,205,164,168,104,148,164, 42, 38,136,170,100, 60,
+154,146,107, 77,102, 12, 70,128, 42, 50, 10,169,240, 90, 64,150, 83,153,156, 75, 89,129,247,158,124, 92, 33, 71,  5,178, 80, 84,
+251, 35, 74,169, 48, 33, 82,180,142, 48,201, 16, 90,161, 98,130,238, 25,231,201, 26,139, 89, 89,100,215, 36,245,171,212,140,132,
+ 98, 90, 24,178, 92,177,214,146, 53, 73, 28, 22, 50,133, 68,144,109, 28,213,253,115,196, 36,195,103, 26,151, 15,200,211,224, 49,
+157,199, 28,204, 81, 43, 11,215,167,232, 89, 77,121,125,135,124,107,204,150,211, 92,113,145,122,209,144, 61, 90,146,159,244,248,
+ 15, 14, 56,179, 61,227, 75, 19,222,250,220, 43,236,255,141,215,248, 65,213,225,254,244,152, 56,252, 39,  0,161,114, 68,108,249,
+  7,255,233, 23,248,227,119, 22,  8,223, 13, 61,187, 76,145,184, 72,  4, 26, 30,117,252,237,255,224, 75,108,154,150,205,241,138,
+ 98, 57, 71,111,230,124,229,141,187,220,249,177, 59,212,183,111,210, 89,135, 11,130,102,216,223,197, 62,105, 47,100,111,249,181,
+ 63,250, 38,149,174,248, 71,135,158,249,178,195, 91,139,111, 45,221,186,167, 93,117,  8,155, 50,193,139, 42,231,111,142,  4, 71,
+ 94,112,214,123,150,235, 22,163, 36,163, 82,226,101,196, 74,197, 82,128,244,145,141,117,156,119,142, 69, 11,199, 85,198, 81,102,
+120,164, 36, 79,144, 92, 53,138,191, 49,202,184,189, 83, 51,173,115,150, 94,240,  3, 97, 56, 90,174, 97, 53,231,160,153,115, 41,
+215, 20, 17,148,201,208, 70, 17, 98, 96, 29, 35,153,144,156,249,200,227,229,156,187,121,150,150, 20,166,224,238,168, 96, 17, 18,
+244,100,171, 44,217,173, 10, 74, 83,208, 42, 77,235, 83,225,216, 42, 74,118,137,212, 89,134,150, 26,149,143, 82, 98,154,209, 28,
+117, 14,173, 51, 22, 49, 34, 72, 22, 84, 27,  3, 27,161,137,  3, 14,121,172, 52, 39, 66,210,168,130, 45, 37,121, 43,147,108,153,
+130, 66, 24,118, 76, 70, 46,147,122,255,160,237, 88,218, 14,223,247,156,247, 13, 27,219,114,214, 52,116,109,203,106,181,228,225,
+201, 99,142, 78,142,120,116,240, 20, 58,199,225, 39,143,225,201, 99,226,242,156,216,109, 82, 19, 19,  2, 81,133,225,192, 30, 94,
+ 40,222,127,182,152,243,194,116,231,135,163, 84, 46, 30, 23, 41,168,238,226, 97, 19,186,249,163,243,142,127,117, 62, 71,  2,173,
+183, 28,186, 13, 79,109,203,169,183, 44,188,229,180,111,232,189,163,245,150, 60, 43,113,  3,231,189,146,233, 64, 56, 49,134, 77,
+215,165,224, 24,  2, 77,140, 72,  4, 46,  6,164, 46,112,174, 35,203,179,100, 15,149,146, 66, 43,172,143,148, 69,158,  4,134, 17,
+170, 44, 27,166,141,138, 92, 25,162,212,  4, 36,173, 13,  8, 23,105,250,134,205,166,165,239, 45, 49,244,201,135,142, 39,122,143,
+119,150,169,209,136, 16, 88,251,142, 82, 72, 68,240,248,190, 69,138, 64,231, 58,180, 15, 72,231,200,134, 98, 45, 66,100, 91,164,
+ 73,107, 37,161,148,146,145,148,204, 98,138,161,222,146,134,155,245,132,153,206,153, 20, 21, 91,227, 41, 35,149,177, 55,217, 99,
+ 55, 31, 49, 85, 25, 87,183, 46,145,133,136, 70, 50, 45, 42,108, 76,113,211, 82, 72, 78,241,136,  8, 31,119, 27,154, 24, 89, 17,
+ 88, 71,193,119, 54, 27,130,208, 60,244, 61, 45,130,147, 16, 24, 33,120,171,206,217, 56,203, 75,101, 73, 64,177,109, 10,142,250,
+134, 55, 71,187,116,161,227,122,189,195,189,118,245,215, 84,191,251, 33, 17,236, 17, 13,114,221,  0,  0, 32,  0, 73, 68, 65, 84,
+226, 54,113, 46, 41,219,141,121, 62,166,190, 40, 38,249, 16, 69,122,225,235,116,225,  5,181,248, 32,132,243,118,160,  3,248, 68,
+122, 26, 15,100, 33, 53,208,231, 46,166,  3, 97, 56, 12, 72, 65, 78, 10, 57,176, 93,203,158,214, 28,246,237, 16, 81, 60,116,166,
+171, 53,204, 87,208, 89, 38,117,218,255,120,160,145,130,104, 61, 74, 73,186, 62, 36,142,114,136,116,157, 69,170,152,210,221,130,
+ 29,124,170,102,136,105,189, 32,198,169,139, 25, 86, 42,136, 66, 12,227,250,161, 19,238,251,116,141,189, 75,187,236, 48, 76, 38,
+ 98, 76,235,  9,157, 63,139,  9,140,109,178,192,141,148,162,247, 33,  9,251,172,135,104,193,201,180, 20, 90, 45, 56, 93, 90, 84,
+ 93, 32, 69,226,141, 71,  9, 19, 20, 14,143,139,158, 32, 34, 42,200, 36,110, 19,130, 60,192,177,237,113, 90,113, 89,195, 97,231,
+159,171,244,197,160,107,136,195, 26,228,  5,104,253,163, 15, 63,226,179, 63,249,227,  9,  9,233,  3,173,239,137, 65,144,235,140,
+157,221, 61,242, 34,167, 42, 50,198,101, 78,110, 20, 34,130, 80,  2, 61,252,123, 33, 68,178, 66,167,216, 85, 23,136,131,100,162,
+115, 46, 69,125,170,212, 63,154,139,179,161,136,233,252, 18, 35, 35, 45, 40,  5,100, 74, 83,168,228,245,246,131,240, 74, 12,216,
+ 80,149, 25, 22, 89, 70,191,182,212, 58, 97, 92,215,221,  6, 27, 60,189,107, 19,220,196,123,148,201,185,122,229, 38,211,122,198,
+100, 54,227,242,246, 30,179,170,198,  8, 67,173, 13, 35, 33,153,236, 78, 40,140, 70,219,136, 44, 13,126,  0,207,100, 82,224, 51,
+153,130,185, 66, 68,217,128,233, 60,210, 38, 84,107, 52, 10,101, 82, 54,187,201, 85,202, 73, 55, 10, 35,192, 32, 41,140, 66,231,
+ 26,187,233,153, 29,116,240,104,  5,109,143, 47, 21, 20, 26,169,147,175, 93, 54,  1,185,238, 16,147,114, 72,235,  3,129,194, 92,
+ 25,147,141, 12,246,116, 69, 55,239,105, 30,156,112, 37, 56, 94,201, 13,227, 66, 51,207, 53, 87,246, 39,188,245,153, 59,132,105,
+ 75,245,214,132,203,111,223, 68,124,110,159, 47,254,199, 63,199, 23,126,226, 10,127,255,239,254, 44, 89,222,240,237,111,126,130,
+ 28, 60,  6,233,221,147,182,239,146,192,233,201,199,236,190,246, 42, 58,244,200,222,167,  4, 47, 37,209, 90,178, 38, 38,176,144,
+119,116, 65,112,190, 88, 34,176,248,213,138,222, 90,156,204,249,181,143, 62,193,127,242,125,194, 39, 31, 19, 30, 63, 34, 60,252,
+148,112,178, 32, 60, 58,160,107,  2, 99,239,249, 79,174, 22,124,241,202,148,173,105,206,135, 75, 71,179,108,112, 66,160,165, 71,
+ 32, 56,247,145, 50,194,201,166, 73, 34,178, 16, 88, 91,193,169, 80,180, 90,178,118,129,214,121,254,118,173,249,185,253,146,215,
+102, 25, 61,138,211, 32,120,191,113, 56,173, 57,148, 38,  9,180,150,167, 24,215,147, 69, 64,102, 88, 37, 89,245,176,238,122,116,
+111,169,136, 56,219, 49, 82,129,109, 19, 41,178, 12,239, 36,186,200,145,217,  8, 35, 13,101, 85,209,184,200, 89, 20,120,147, 49,
+ 14,142,203,163,154, 82, 41,164, 54,152, 40, 81, 90, 35,133, 64, 72,195, 19,239,145,210,240, 88,  4,148,144,116, 41, 35, 47, 29,
+200,149,166,208,249,128, 39,141,188, 82,100,188, 42, 35,123, 72,138, 44,167,150,130, 17,146, 67,219,241,131,166,229,164,223,112,
+220,119,124,212, 44,121,186, 89,114,116, 62,231,241,147, 39, 60,190,255,132,179,123, 15, 89, 31, 29,192,106,  9,  7, 39,131,246,
+ 40, 29,158,163, 74,107, 71, 84, 24,232,152,241, 47, 12, 74,249,255, 82,224,253, 11,223,159,141,227, 93,143,235, 58,238,109, 60,
+223, 94,174,105, 68,228,219,203, 13, 39,  6, 30,186,200,121,148,144,231,228, 91,151,232, 84,202, 81,232,133,194,  5,143, 82,138,
+121,223,225,148,196, 59,199,121,219, 64,132, 54, 56,132,179,200,152, 68,164,209, 90, 54, 62, 48, 46,203,244, 60,155, 68,111,204,
+148, 76,177,164,190,199,199, 72,136,  2, 33, 37, 82, 36,253,135,183,145,179,118,205,178,235, 89,  7,203,218,182, 52, 33,176,218,
+172,232,250,158,211,102,131, 11,158,243,182,195,117, 29, 83, 13,190,239,145,206,146,135,128,237, 58, 42,161, 32,132, 20,144,131,
+ 64, 17,153, 74, 65,231, 29,219, 66,160,165, 96, 36, 36, 59, 58, 99, 58,154,178, 95,212, 76,243, 17, 85, 81,145,231, 35,234, 98,
+ 76,105, 74,242,188,102,183,170,153,228, 57,179,186, 70, 56,199,100, 60,166, 48, 57, 10, 65, 41, 82,116,120, 16,137,115,242,196,
+245,212,198,176,112,145, 54,  6,126,176,110, 25, 73,201,119,108, 71,140,105,149, 32,130,227,117, 99,232,156,227,237,209,132, 15,
+218,150, 61,169,177,193,242,198,100,155, 15, 55, 43, 62, 51,222,229,187,103,  7,252,248,222,149,255, 31,150,182,240,124,124,251,
+108, 44,159, 13,194,176, 11,116, 42, 67, 76,222,133, 26, 62, 14,133, 94,136, 84,236,132,120, 62, 32,106,237, 96, 63, 75,169, 73,
+148, 58,221,176, 82,253, 48, 74,118, 24,141,251,206, 83,233,228,121, 63,233, 82, 33,151,128,240, 73,248, 64,103, 97,221,128,111,
+233, 84,218,223, 33, 20,219,  3, 12, 69,249,200, 88, 72, 22, 33,125,208,117,109, 32, 10,255,124,140,222,117,105,  5,112,  1,212,
+201,139,212,133, 63,139, 50, 29,138, 54,131, 98,191,115,207,119,234,132,193,242, 22,158,157,164,211,255, 51,168,250, 93, 76,138,
+120, 37,233,219, 33,231,188,237,159,219,226,164,127,190,247,206, 37,139, 54,114,212, 56,164, 12,212,  8, 54,222,145,107,133, 33,
+162, 93,160, 23,129, 12,137,141,224,162,195, 40, 69,219, 57,162, 16, 52, 65,208, 55,125,250,157,220,102,152, 46,252,217,193,220,
+ 96, 24,216,155,113,249,242, 21,144,130,233,100, 11,219,116,140,235, 17,123,151,118,168, 70, 57, 91,147,  2,136, 24,165,159, 49,
+131,252,160,103, 80, 67,208, 11,  2,156, 15, 68, 23,177,189, 35,120,200,242,148,128, 55,214, 34,  9,229, 34,100, 82,166,167,139,
+148,140,214,133,200,169,117,  4, 17, 49, 33,210,251, 64, 39, 65,169,100,157, 49, 74, 97,234,156,229,167,135, 28, 46,150,172, 68,
+164, 87,154, 94, 27,114,157,113,119,251, 18,183,182,246,169, 39,219, 76,102, 51,174, 94,221,229,141,187,215,249,201,183,110,145,
+ 77,167,212, 91, 83,246, 71, 53,178,117,100,147,146, 50,203,160,115,104,163, 17,179,196,149, 86, 90, 17, 10,153, 44,121, 17,164,
+243,136, 65, 71,208, 35,240, 90,130, 78,153,241,218, 40,140,145, 20, 82, 81, 74, 40,163, 72,  0, 27, 31,121,231,196,113,184, 95,
+210,198, 21,253,147, 19,186, 71,167,248,117,139, 40, 51, 68,110,144, 34, 32,164, 70,230, 26, 25, 34,162, 75,239,  5, 17, 98,250,
+187, 42, 71,204,114,244,245, 49,249,172, 68, 25, 69,172, 37, 49,151, 72,  9,  7,167, 43, 58, 89, 82,141,102,136,106,196,143,239,
+141,249,207,189,227, 11, 46,242,155, 31,220,231, 35, 17,120,237, 43,183,217,125,185, 96,116,189,100, 45,  3,156,244, 40,224,171,
+255,240,231,249,151,255,195, 59,124,231, 87,190,206,171,127,231,243, 20,206,162, 67, 64,134, 64,101, 45,  7, 77,143,127,250, 41,
+ 31,254,234,183,216,236,103,216,245,146,157,245,  9,187,243, 83,182,207, 14, 16,177,227,126, 16, 92,157,108,115,125, 52,166, 48,
+ 25,186,219,240,213,246,140, 59,221,130,141, 50, 60, 93, 52,188, 62,202,185, 57, 46,248, 90, 11,191, 83,228,168, 33, 71,104, 99,
+ 10,140, 49,196, 40,240,235, 53,210, 57, 92,107, 57,183, 61, 93,159,172,138,197, 98,141, 88,110,232,187,192,219,181,230,213,105,
+ 65,110, 52, 39,125,228, 55, 14, 27,150,  4, 76,157,145, 85, 37, 93,208,220, 59, 58,228,252,228,  0,225, 26,136, 17, 43, 20, 62,
+  6,214,109, 79,227,122, 70, 64,180, 61,133,134,138,180,139,205,140, 36,203,106,234,178,164, 55,134,141,147,136,178,164,172, 70,
+  4, 23,152,106,205, 56,215, 84, 58,199, 40,147, 24, 11,121, 18,226,158,186, 64, 39, 53,231,209,115,210,247, 20,164,  3,209,102,
+200,189,184,156,101,156, 73,201, 76, 41,150, 81, 48,149,145,215,178, 20,222,179, 21, 61, 75,215,179, 10,142,  7,182,227,215, 79,
+207, 56,177, 27,150,139, 57,113,177, 72,141,200,201, 25,177,109, 97,125,142,144, 33,133, 96,245,  3,179, 67,166,136,105,140, 68,
+244,225,133, 83,114,130,217, 64,248, 43,125,124,255,168, 34, 31,254,146,226,238,242, 12,167, 75,156, 16, 56,105,120, 98,114,206,
+ 46, 93,226, 81, 94,115, 54,222,101,119,186,203,108,119, 31, 47, 36, 50,175, 88,106, 73,231, 45,182,239,105,186, 22, 99, 12,193,
+ 57,154,152,178, 36,186,118,131,183, 22,221,119,  8,151,162,108, 51,239,144, 17, 86, 93, 71,149, 25,182,124,164,  9, 30, 33, 37,
+ 89,219, 13, 33, 43,142, 82,128,243, 14, 47, 37,116,  9, 39, 61,119, 61,139,232,120,218,119,184, 64, 58, 68,132, 72, 46,  2,219,
+ 72, 70,  2,218,174,199,250, 84,107,174,229,134,130,136,114,158,145, 78,246, 75,233,147, 48, 80, 18,153, 42,141,140,130,189,114,
+  4, 17,246,171, 41,187,229,132,253,233, 30,120,207,184,218, 66,153,156,158,200,118, 61,195, 71,136,202,144,143,106,118, 77,193,
+168, 30, 97, 16, 20,121, 73, 32,173, 76,147, 36, 77,162, 17,116,125, 79, 67,164, 18,146,135,182, 67, 16,121,220,116, 76,144,252,
+174,179, 67, 51,155,106,233, 76, 74,238,249,192,127,180,179,205,135,253,134,175, 20, 21,167, 10,246,178,130,247,230,167,252,244,
+246, 62,239,109,150,252,196,222, 85,126,235,224,225,191, 38,246,251, 51, 16,141, 25,184,237, 67,215, 13, 67,142,164,122,110,233,
+202,205,115, 97,220,139,  7,128,126,192,154, 74,157,210,140, 80,169,216,  5, 63, 76,  1,178, 36,170, 67,160,180, 98, 44,147,  7,
+247,172,237,168, 68, 26,  3, 27,159,130, 71,112,126, 16,135, 13, 30,242, 24,241, 81,242, 90,145,161, 73,  5,232, 40, 68,116,112,
+236,104,201, 88, 72,142, 93,155,198, 87, 23, 42,241, 48,164, 50,169, 60,173,  8,172, 27,210,214,  6, 73,129, 15,233,141,166, 72,
+ 42,255,174, 31,236,119,109,242,224,251, 54, 21,244, 23,167, 27, 58, 79,227, 35,165,211,225, 70,203,231,192, 26, 49,  8,  1, 47,
+212,243,118,216,215, 91,  7, 93, 67,140,146,243, 85,199,198,192, 52,164,147,164, 28,222,137, 54,198, 52, 60,144, 49,217,110,172,
+ 67,239,237,241,157,165,227, 53,229, 56,246, 49,121,240,237,176, 99,151, 60,103,209,191,240,245,224,253, 31,240, 99, 95,126, 27,
+162,160, 91, 55, 52, 93, 75, 12,112,114,188, 32, 56,205,229,253, 41, 50,138,164,110,207, 82,184,  9, 49,237,246,189,136, 88,231,
+ 81, 33,210,181, 46,105,  1, 69,234,180,145,145,202,104,106,157,186, 25, 31, 35, 27,235,159,229,255,246, 62,157,180, 54,222, 51,
+239, 35,185, 74,123,248, 16, 97,233, 28, 77,136,120,163,104,148, 98,215,148,232,233,140,107,245,  4, 47, 12, 74,101,140, 77,201,
+ 91,147, 45,234, 24, 57, 62, 61,161, 95, 47,144, 62,224, 54,150,178,183, 76, 16, 92,158, 86, 76, 47, 79,241,163,156,172,177,140,
+148, 34,100,169,135, 21,153, 70,150, 25,162, 48,132, 33,198, 81, 93,160,252,125, 28,130, 43, 36, 82, 43,116, 72,  7, 12,161, 69,
+ 50, 63,132,136, 70,144, 41,137,138, 17,233, 61, 15,207, 44,246,220,226, 99, 78,254,210, 22, 71, 33,195, 44, 55,184,239, 31,208,
+172, 91,226,162, 69, 54, 29,172, 59,226,162, 33, 62,221,224, 30, 29, 33, 90, 75, 92, 54, 72,169,209,181, 70, 79, 42, 86,179,130,
+197, 86,193,114, 82,225, 70, 37, 22,193,193,201,138,213,233, 41, 70,  6, 68, 94,242, 31,206, 74,174,232,140, 42, 42, 38,120,238,
+105, 69, 94, 20,140,119, 46, 49,189,122,137, 27,175,220,226,246, 87,238,144,125,249, 37,254,179, 66,243,210,207,222,225,105,181,
+224,157,255,254,143,248,147,223,120,151,207,127,229, 22,255,227, 63,249, 29,142,190,249,  1,211,109,197,150, 44,120,245,213,125,
+174,120,203, 79, 42,193, 87,203, 49,111, 86, 51,102,249,136,135, 70,179, 46, 39,124,245,165, 43,188,117,117,143,219, 87,118,184,
+148,143,248,169,157,171,188, 49,221,230,229,224,248,189,222,242,255, 60, 60, 69,202,130,127,220, 75, 78, 51,197,189,113,201,189,
+237, 17, 31,205,106,244,164, 98, 60, 42,208, 42,163, 95,108, 56, 63, 95,128,136, 40, 29,185,225, 54,124, 81,  9,222,232, 87, 92,
+ 19,158,243, 78,176, 18,146,167, 22,254,217,131, 13, 31,158,174,233,137,200,113,201,206,172,228,242,168,166, 18, 37, 11, 20, 31,
+157,159,115,182,217,160, 67, 67,215,183, 40,231, 19,238,183,235,217,207, 37,165, 72,110, 11, 39,101,138, 90, 21,145,133, 11,228,
+ 82,160,133,164,115, 22,215,  7,140,132,105, 93, 83, 73, 67,149, 41,114,149, 72,123, 81,192,153, 13,116, 49,221,215, 22, 40,149,
+ 98, 41, 36, 75, 36, 47,231, 25,175, 21, 53, 39, 81, 98,  5, 92,215,138, 93, 37, 57,113,129,195, 16,249,183, 71, 99, 58,151,238,
+199, 39,  1,190,190, 90,178, 21, 45,135,135, 39,233,253,127,190, 30,216, 26, 46,  9,111, 59,143,232,134,184,228,139, 28,114,169,
+147, 94, 98,208,246,136, 48,172, 38, 73, 90,158, 11,144,231, 95,244,248, 75, 11,187,214,196, 34, 35,150, 37, 33, 31, 19,242,138,
+ 80,143,  8,245,132,176, 53,195, 95,217,199,223,186,140,187,178,143,187,126, 11, 55,221,198,141,118,233,138, 17, 55,242,146,237,
+ 73,133,208,  6,235,  3,167,203,  6,103, 91, 68,244, 24,231,232,135, 88,236,190,217,224,125,106,128,100,183, 38,244, 45, 83, 34,
+218,182, 20, 49,160,  9, 72,215,147,133, 68,165, 28, 41, 77,215,247,168,220, 16,218,110, 88, 69,166,130,231, 87, 29, 70, 40,230,
+237,134,181,237, 57,179, 13,202,  7,100,244, 20, 65,240,165, 50,227,181,170,224, 70, 89, 48, 53,130, 50, 66,215, 56,148,128,137,
+ 18, 76,149, 98, 44, 53,106,200,166, 24,101, 25,219,121, 77,129,160,154,108, 39, 52,116, 86,176, 83,207, 64, 42,182,234,105,154,
+234,148, 19,108,244,228,229,132, 50,171, 88, 71,203,104, 60,101, 84, 86, 76,165,162, 30,143, 17,222,145,149,229, 51,108,118,136,
+129, 60,203,211,164,161,239,176,222,179,118,150, 35,223,209,  6,199,161,235,153,119,158,223,107, 27,162,179,105, 10,  3,140,165,
+100, 25,225, 31,236, 76,248,229,179, 37,191,184,181,197,159,180, 13, 87,165,226,126,219,240, 51,219,251,252,225,114,206,151,234,
+ 41,255,114,121,202,191,121,227,206,191,166,148,182, 11, 16,188,139, 41,199, 91,188,128,145, 45,179,231,  9,108, 65, 13,187,105,
+249,188,219,247,110,240,153,155,231,184,216,222,131,242, 84, 49,176,233,  3, 85, 85,160,131, 39,148, 37,141,119,196,102,195, 56,
+207, 57,219,180,228, 82,176,177,142, 92, 11,172,181,100, 34, 69,126,166,159,153, 65, 88,131,148,236, 23,146, 54, 66,239, 29,185,
+130,235, 74,243,212,  5,178, 40,208, 56,240, 58, 21,226, 63,155, 62,183, 57, 79,227,248,233,236,249,117,108,  6,150,123,166,211,
+206,126,211, 63,247,226, 67,218,203,255,168, 44, 21,111, 65,141,135,160, 23,255, 67,214, 54,138,148, 18,151,186,127,  9, 34,  7,
+ 29,210,239,  0, 16, 59, 32,227,248,112,133,218,139, 92,178,130,221,188,160, 42, 13, 83,224,208,123, 64, 82,  2,141, 81,168,195,
+ 67,126, 66, 73, 22, 62,114,213,120, 30,106,153, 18,220, 46,172,117,127,193,215, 39,247,238,115,247,206, 93,188,116, 24,163, 80,
+ 66,113, 54,159, 51,221,154,114,112,176,230,234,229,  9, 40,137,136,130,177, 17, 44,  8,184, 76, 17,219, 52,134,180, 49, 32,181,
+ 72,  1, 36, 34, 29,220,188, 77,138,239,165, 76,250, 66, 41, 32, 87, 41,172, 38,196, 52, 94, 35,132,164,234,143,158,115, 11, 15,
+186,158,206, 57,114,160, 48,146,210, 24,150, 34,242,250, 94,205,149, 60, 35,168,136, 50,154,229,201,146,147,179, 99, 26, 21,217,
+ 22,  5, 63, 51,221,166, 46, 75,182, 46,141,209,163, 28,217, 69,108,105,136, 70,210, 58,199,165,221,  9,106,119, 76, 53,239, 89,
+ 57,203,121,  8,228, 49, 32,137,104,163, 80,133, 30,244, 21, 32,181, 67, 12,150, 74, 37,  4,194,250,180, 22, 25,226, 99,133, 15,
+105,250,137, 74,163,238,232,  9,153,230,223,248,220,140,227, 71,107,138,203, 91,204,246, 74,158, 78, 86, 60, 62,172,177,149, 37,
+211,145,  8, 92,162,227,180,105,185,254,210, 62,157,236,249,214, 31,124,135,187, 69, 75, 49,170,200,166, 19,140, 74,153,235, 31,
+182, 13,  7, 25,124,235,227,251,100, 85,141, 81,146,163,245,138, 27, 59,151,144,  1,166,221, 49, 71,118,143,203, 82,161,  0, 17,
+  2,215,102, 99,108,132,166,245, 44, 59, 75,159, 37,182,194,127,153,149, 76, 17,252,164,146,228, 63,253, 83,252,224,115, 43,234,
+227, 67, 54, 31,126,143, 95,124, 99,151,229,106, 13,167,115, 94,223,209,236,230, 37, 86, 73,176,145,220, 36, 91,209,182,140,188,
+ 33, 34, 97, 58,230,234,222,140, 81,153, 19,  4,236,  8, 69, 17,210, 65,108,164,  4, 63,119,220,240,251,173,227,151, 63,124,140,
+ 95,156,227,110,222,132,151,247, 97, 84, 32,164,224, 88, 75,222,172, 43,222,190, 50,130, 43, 99, 62,125,103,206,131, 39,247,153,
+246,107, 94, 25,101,236,196, 64, 94, 84,220,113, 29, 31,206,159,242,127,124,175,225, 35,149,232,100, 58,147,196,160,216,180, 26,
+145,101,108,215, 57, 87, 94,185,206,102,123,130, 59,188,196,236,248, 35,246,215, 11,114,215,242, 56, 43,248,104, 25,153, 24,197,
+ 90, 20, 68,165,200,138, 60,241,190,157, 37, 68,201, 44, 51,116,222,178,233, 28, 83,173,200,202,140,  3,219,225,188, 64, 27,201,
+ 90,192, 72, 41, 64, 49, 95,109,208,178, 96, 37, 90, 78,176,236,100,  5, 51, 41, 89, 57,207, 29,109,240,209,113,179,204, 57,160,
+229, 82,208,140,149,230,172,111,121,173,204,112, 68,126,165,177, 60,104, 58,246, 11,197,217,186,101,108, 20,244, 61,213,100,196,
+230,124,158,166,120,157, 27,178, 28,210,174, 42, 14,152,103, 49,196,184, 70, 13,194,  5,162,145, 63, 84,164,  5, 36, 46,190,115,
+127,174,120,191, 88,192,127, 84, 65, 39,207,146,190,167,168, 17, 87,174,240,229,235,151, 41,178, 49, 31,135,192,227,205, 26, 17,
+ 93,226,238,  3,152, 10, 17, 83,116,109,180,142,168,  3,149,146,136, 34,167,111, 28, 90, 70,150,237,146,245,106, 78,219,183, 76,
+ 67, 67, 57,217,162,105,150, 88,219,130,144,  8,  2,210,123,116,240,212, 82, 80,111,230, 20, 58,103, 25, 28,151, 90,199, 90,103,
+180,202,160, 17, 44,108, 79, 37, 20,174,235, 25, 27,205,122,189,192, 75,  1, 93, 64, 11,201,252,252,156, 85,136,172,250,134,162,
+119, 72,239, 16,120,246,137,220, 44, 74, 10, 37, 81, 49,176,  4,156,118, 52,163,140,104, 35, 99, 97, 24,229,154, 45, 93,226,189,
+103, 42, 20, 54,146,220, 42,179, 75,  4,239,240,163, 29,172,235,144,229,104, 64,177, 26,148, 78, 77,204,246,100,139,229,102, 73,
+ 94, 84,132,168,201,164,129, 76, 49,174,199,216,182,101, 50,174, 17, 46,164,120, 89, 36, 89, 38,177, 93,159,  8,155,218, 48, 95,
+156,178,244, 61,171,174,225,  9,145,123,155,150,247,205,208, 60,102, 25,248,228,192, 90,153,146,255,250,210, 22,255,237,193, 41,
+255,221,141,171,252,227,167,135,252,253,237, 41,247,108,207,141,114,196,255,122,112,192,191,119,233, 18,255,124,121,206,191,123,
+233, 26,191,127,248, 20,197,206,221, 95, 34, 31,216,225, 38, 27,196, 96,234, 57,149, 44,252, 21,198, 57, 90,167, 16,147, 11, 75,
+ 26, 47,140,213, 61,207,169,112, 23,208,149, 11,113,221,179, 64,  4,159, 58, 94,235, 83, 39, 92, 21,100,163,154, 24, 35,151, 71,
+ 37, 85,  8,200, 92,147,245, 14, 19,192, 32,152,219, 62,177,197, 67, 36, 58,139,119,201,228,227, 90,151, 14, 23, 82, 38, 21, 57,
+201, 74,214, 10,197, 37,173, 89, 74,168,133,102,233, 29, 19,173,105,188,163,139,146, 77,  8,233,116,244,103, 89,233,145,244,  4,
+247,107,200,202, 84,152,241,233,119,189,232,212,173, 79,187,180, 24,  6,205,192,160, 48, 15, 46, 61,135,179,173,244,221, 13,  7,
+ 13, 72, 99,125,212, 48, 13, 48,195,140,203, 13,227,254,152,126,143,224, 94, 88,111, 12,138,124, 21, 89, 55, 29,135, 86,241, 82,
+161,120,106, 29, 82,169,148, 74, 23, 19,205,205, 13,  7,129,167,173,227,212,246, 44, 93,196,218,144,198,250,222, 15,215,240,163,
+191,238,189,247, 33,175,252,216,103, 40,234,146,172,168,184,125,247, 37, 66, 23,147,208, 79, 73,102,211,154, 66, 43,  2,130, 60,
+ 87, 73,188, 31,160, 15,150,174, 77, 98, 63,231,211,148, 48,248,128,141,129, 73,101,104,123,143,144,  2, 45, 34, 82,165,209,123,
+231, 35,185, 86,212, 90,210,184,144,124,236, 33,210,249,192, 73,219, 19, 34, 84,185, 73,147,  1,163,120,184,105,185, 34, 97,247,
+251,167,156, 29,156,210,172, 55,188, 90, 21,252,120, 61,229,198,254, 22,179,237,  9,123,121,201, 40, 42,140,117,112,214, 34,231,
+ 27,138,121, 71,239, 35,125,231,169,124,164,152, 84,132, 92,113, 26, 29,143, 36,204, 53, 24, 45, 17, 90,162,202,156, 40, 85, 90,
+209,132,180,139,198, 70,  2, 73, 39,128,124, 30, 81,160,132, 64, 41,133, 48, 73,193, 27,149, 74,196,191,253, 49,163,203, 99,230,
+ 81, 97, 90,199,189,243,  6,191,182, 72, 37, 41,242,140,160, 12,148, 21,217,229, 93,102,151,198,232,155, 59,236,237,238,241,222,
+135,223,231,192, 40,158, 68,248,211,249,156,127,241,209, 39,252,223,191,252, 33,223,253,173,143,121,242,221,115,238,127,235, 41,
+ 63,248,230,  1,143,191, 51,231,189,175, 61,225,221,211, 35,238, 77, 36,127, 18, 35, 47,111,111, 17,235,146,249,143,221,162, 51,
+134,217,155,183, 17,215,118,161,168, 57, 63,239,153, 20,138,151,115,195,142,  0, 35,  4, 65, 74, 44,176,223, 54,188, 28,160, 78,
+ 87,136, 48,146,219,163, 41, 69,158, 92, 23,214,167, 52,177, 72,160, 19,145, 21,  2,103, 50,182,171,130, 40, 18, 71,193,104,197,
+ 40,207, 48,133,230, 20,201,147, 40,249,194,213, 25,183, 38, 99,122, 10, 38,235,  6,113,186,100,125,180, 68,228,134,185,139,108,
+103,138, 91,165,225,202,164, 96,186, 91,161,119,118, 24,159, 58,110,133,134, 92,105,100,140, 16,  5, 83,  1, 69,220,240,253,195,
+167,248,205, 28, 86,235, 20, 61,217,123,106, 36,219, 66, 82,107,193,164,202,248,210,229,  9, 63, 87, 78,121,115,179, 65,207, 15,
+120,180, 90,240,125, 31, 49,194, 18,237,  6, 17,  3,189,117,196, 24,113, 94, 80,122,203,117, 26,110,216,158,171,194, 83,216, 13,
+125, 51,103, 79,151, 84, 50,114,110, 29,211,188,  2, 34,167,235,142,162,200,152,247,150,117,  8,188, 57,158,240,199, 77,207, 79,
+140,106, 76,150,113, 24,  2,159, 41, 11, 58, 27,184,149,101, 84, 69, 77,229,122,174, 22, 21,235,232,169,179,156, 83,103,217,209,
+154,153,146,132,216,177,105, 61, 75,235,120,228, 67,154, 84,246, 22, 86, 77,106, 30,130,123,158, 14, 23,211, 71,133,208,105,133,
+ 39,244,112, 95, 94,136, 36,  7,221,132,  4,100,  8, 63,252,231,103,154,138, 23, 10,191, 76, 66, 89, 97, 52,236, 94, 38, 78,167,
+112,247, 54,188,242, 38,255,254,235, 95,228,165, 91, 55, 25,143,119, 57,245,112, 96,138,164,198, 71, 19,116, 70,140,142, 32,100,
+ 42,122, 74, 16,186,150,118,179,132,213, 57,151,148,199, 45, 78, 56, 61, 63,224,119, 30, 61,162,136, 61,149,150,204,155, 21, 82,
+ 43, 54,109, 75, 41,192,119, 27,100,215,176, 75,100,199,187,148,150, 40, 21,187,182, 39, 71,176, 45,  5,165,179,232,190, 65,199,
+200,194,183,172,251,134, 85,187,193,246,142,195,243, 51, 54, 77,199,217,249,  9,125,211,176,238,214,136,174,167,196, 81,186,158,
+ 50,  4,222, 30, 21, 84, 74, 81, 75,137, 33, 50, 70,144,  9,207, 30,138, 59,153,228,229, 66,179, 47,  4,183,117,198,231,138, 17,
+149,183,188, 85, 76,168,198, 59, 92, 67, 83,142,182, 80, 49, 80, 84, 51,164,209,104,147, 51, 46, 70, 72,149,161,243,156,206, 91,
+242,170,  6,165,168,181, 65,228,134, 74, 25, 60, 80,215, 37,222, 38,237, 72,146,140, 37,139, 31, 64,223,245,  4,215,163,162,224,
+160,155, 51, 15, 61,143,154,  5, 31,250, 72,211, 54,  4, 33,137, 46, 37, 38, 34,224, 23, 70, 25, 95,223, 88,254,171,253, 75,252,
+195,199,143,249,111,174, 92,229, 55,207,230,188, 90,230,252,243,179, 57,255,206,238, 46,191,219,172,248, 74, 61,225,187,109,195,
+207,236,239,163, 24,223,249, 37,134,228,234,103, 40, 87, 31, 82,241,177,253, 95,173,176,135, 11,  5,248,144,141,174,228,179,177,
+119, 42,218,242,121,161, 18,164,221,180,148,207,147,217,132, 76,105,109, 98,144, 71,215, 37, 91,101,129,145,146,206,167,206, 38,
+119,  1,105, 36, 65,  8,106,239,232,108, 79, 31, 34,113, 16,233, 41,231,  9, 46, 32,227,160,  7,158, 47,210,  1,165, 11,168, 42,
+137,164,158,120,203,174,212, 52, 70,176,140,130, 22,207, 18, 48, 58,121,149,125, 55,168,216, 95,188,222, 11,218,221,197,186, 32,
+ 12,192,157, 16,134, 34, 62,  4,212, 68,159, 58, 96, 51,232,  0,156, 75,133,120, 50,133, 73,145,242,162,155, 52,129, 64,103,  3,
+144, 39, 41,250, 25,186,236, 52, 22,143,195,212,162, 75,  7,132,100,190, 76,207, 87,140,207,179,157, 61,220, 91,119,188, 58,206,
+121,208, 58,218,144,246,236,243, 62, 32,124,100,222, 59,244,176,159, 62,105,147, 24, 48,177,224, 47,226,129,254,226,215,244,149,
+183, 94, 99,182,183, 77, 57, 74,251, 69,173, 76,242, 23, 11,157,212,168,  6,252,144,128,100,148,120, 54,146,111,173,195,217, 56,
+128, 51, 34, 46, 68,188, 79,162,188,186,214,140,139, 11,223,182, 24, 50, 34,  4, 82,  8,250, 24,217, 88,139,141,145,214,185,103,
+ 33, 18,142,136, 25,124,169, 79,206, 27, 78, 91, 75, 89, 23,108, 13,177,186,181, 82,148,101, 78,221,123,132, 23,200,117, 79,214,
+121,124,215,226,251, 64,167, 33, 40, 73, 62, 42,168,148,196, 52, 14, 19,  4,186,179, 20,227,138, 32, 21, 15,  6, 64,210, 44, 55,
+216, 16, 17,117,145,196,107, 34,  9,245,144, 98,200,102, 18, 16, 99, 18,238,137,132,193,149,198, 36,196,170,148,200,152, 70,184,
+253,172,128,227,142,145, 48,132, 43, 35,212, 89, 75,253,141, 71,212, 55, 50,194,106, 73,189,238,  9, 27,216,222, 42,216,158, 21,
+148, 85,142,237, 29,110,171,224,165,215,111, 48, 63, 92,179,152,207, 57, 56, 60,226,254, 59,103,184, 24,113,235,126,176, 26, 41,
+  2,142, 56, 60, 56,237,176, 77,203,222,103,239,210,188,121,155,241,237,109,102, 90,240, 55,103, 35, 94,149,138,167,125, 75, 62,
+169,216,185, 49, 99,186, 63, 33,107, 60,223,118,142,243,174,167,115,158,105, 81,240,165,124,130,107, 23, 24, 37,  8, 58,226, 46,
+ 95, 35,247, 45, 74,192,218,182, 60, 42, 10,158,110,206,233, 92,199,166, 89, 51,239, 90,142,188,227,220, 11, 58, 36,167,173,165,
+223,244, 84, 85,198,121,107, 57,207, 52,215,246, 42,182,170,140,105,109, 88, 96, 56, 12,146, 71,239,127,  3,115,126, 68,190, 17,
+184,147,134,251, 66,113,117,148,115,187,204,120,121, 39, 71,100,138, 75, 59, 53, 91, 78,145,183, 93,250, 40,146,  2, 47,224, 84,
+106,102, 89,205,229,190,165,223, 28, 51,251,228, 29, 86,135,247, 40,124,129,237, 28, 58,128, 80,146,215, 13,236,201,136, 89, 55,
+ 28, 62,125,200,159,156, 46,248,160,235, 41,130, 77,136, 99,107,105, 90,203,198, 10,246, 84,207,181,216,243,102,132,219, 72,118,
+109,  2, 47, 85, 82, 37,102,119,  8, 72, 21, 57, 93,174,153, 55, 61,107,111, 17, 94,178, 83, 87,188, 61, 29, 35,165,226,199,202,
+146, 81,149, 49, 69, 32,155, 13,143,150, 75,214,222, 49,210,154, 49,142,135,206,210, 44, 78, 41,148, 97,175, 40,184, 92,213, 68,
+ 33,120,119,189,230,188,233, 56,179, 61, 31,110,154,180,186,115, 46,233,138,194, 48,241,107,125,170,222,147,113,250,174, 50,132,
+ 73, 66, 64, 97,116, 18, 87, 14, 17,199, 23,133, 91, 13, 69, 93, 93, 24,145, 46,254, 14, 80, 90, 35,140, 70, 78,119, 16,251,123,
+136, 59,183,224,245, 55,225,218, 13,184,250, 18,236,221,228,238,238,117, 62,191,191,197,116, 84, 80, 22,134,211,206,242,201,226,
+ 20,188, 37, 70, 71,236,122,194,102, 77, 88,159, 17,150, 11,226,227,199,132,213, 25,241,195,143, 56,222, 44,248,238, 71, 31,113,
+255,244,128,239,190,127, 15,119, 58,231,112,221,112,180, 88,147, 27,120,112,124, 76, 17,122, 14,142, 78,152,224,216, 18,145,157,
+102, 67, 38, 21,133,128,202,246, 76,165, 70, 18, 40, 92, 64,185,158, 16, 28, 85,179,102,215, 89,122,103, 25,183, 13,133,235,152,
+250,150,151,155, 21,175,  7,207,155, 50,240,122,215,242,213, 76, 51,113, 45, 55,137,236,234, 68,104,219, 86,154, 26,216,213,  5,
+149,115,236,133,200,109,173,184,161,  4,175,168,130,151, 76,206,181,124, 76, 25,  5, 87,202, 45, 84, 86,176, 43, 11,172,150,236,
+ 25,  3, 85,157,146, 25,235, 26, 83, 22, 88,  4, 58, 87, 24,173,145,131,102,204, 72,129,212, 89,170, 33, 33, 82, 21,  9,243, 26,
+ 69,250,188,216,180, 61, 82, 43,122,107,217, 52, 45, 17, 79,192,209,249,150,165,237, 88,118,107, 14,188,231,  7,203, 22,111, 45,
+ 65,184, 36,202, 13, 22,132, 66, 70,248,185,209,152,223, 89,110,248, 47,118,183,249,223, 79,231,252,244,180,228,107,231, 27,254,
+222,222, 46,191,124, 50,231,239,110,111,241,141,126,195, 79,143,198,252, 95,243, 51, 20,147,151,127,  9, 61, 40,217,  7, 16, 26,
+153, 74,163,104,147,253,165,138,202, 63, 87,216,229,160,198, 20, 50,117,118, 46,166,150, 77,136,231,106,241,190, 29,238,198,193,
+ 43,205,176, 87, 87, 67,216,184, 76, 79,230,222, 40, 25,234,199, 82,160,140,164,  9,145, 82, 73,198, 42,112,210, 36,144,128,247,
+ 17, 33, 35,177, 11,207,206, 35,193, 37,186,220,179, 29,126,232,152,152,140, 69, 27,217, 26,167,200,187,131,181, 99,100, 20,157,
+144,228,153, 34, 72,129, 68,146, 27, 69,215,118, 63,250,122, 47,196,125, 74,167,195,142,144,207,135, 88,201, 83,  4,114, 56,180,
+244,118, 64,222, 14,172,119,100,  2,225,244,205,160,210,203,  6, 40,204,144, 51,159,107, 38, 10, 58,149, 14, 63, 25, 17, 47, 84,
+218,129,203,240,156,  0,199,112,224,146, 98,144,175, 40,158,  6,199, 37, 35,217, 81,146, 67,235,217,143,176, 12, 48, 65, 96,173,
+103, 17,161,233,  2, 34,  4, 98,102,210,193,227,226,223,252, 11,190,158, 84, 21,159,189,243, 18, 16, 89,175, 54,116,155,  6,231,
+ 60,101, 93,179,119,105,130, 12,130, 44, 55,212, 70,167,  4,164, 16,201,134, 32, 16, 31, 99,234,134, 92, 68, 32,153,212,  6,103,
+ 61,253,224,248,203,179,164, 24,143, 34, 21, 65, 49,176,124,146, 35, 39,117,233,193, 71, 58,235,233,250,192,249,198,114,180,234,
+152,175,187, 52,234, 30,229,124,239,225, 49, 79,219,142, 85,140,108,156,227,241,102,195,185,  0, 21, 60,217,118, 69,147, 27,178,
+189,154,234,198, 14,242,165,109,182, 62,115,153,226,198, 14, 98,167,166,120,105,139, 77,149,161,131,164, 28, 21, 60, 94,183,148,
+ 70,112,100, 29,171, 16, 17,101, 78, 81,164,113,100, 16, 67,204,164,  2,171,161,147, 18,127,  1,202, 41,116,202,  8,207,146,134,
+ 68,  9,129, 46, 53,147, 50,103, 60,183,244,203, 13, 92,174,104,103, 21,197,237,109,202, 73,137,253,100,201,225,161, 32,  8, 69,
+115,214, 48,177, 29,217, 52,167,239, 28, 75, 23, 40,182, 42,110,189,113,157,197,227, 57,255,234,183,222,199,125,216,224,214, 61,
+110, 40,229, 23,126,226,100,100, 75,247,159, 56,111,152,127,237, 62,229,205,138,171,119,175,242,153,222, 51,126,247,  4,117,222,
+178,127,222, 49, 89,109,184,150,193,205,121,203,229, 16,248,172, 48,188, 90,140,184, 51,154,242,242,213, 61,202,233,132,221, 98,
+151,157, 87, 95,226,234,181,107, 92, 63, 92,146,119,150, 32, 10, 94,255,249, 47, 51, 89, 69,190,181,110,249,188,202,200,219,150,
+223, 62, 59,229,228,248,152,135, 15, 62,225,254, 71,223,231,193,135,127,202,175,127,227,187, 92,159,237,144, 21, 25, 81, 39,192,
+ 74, 84,138,168, 52, 42, 74,158,116,129,167,197,152,240,107,255, 27,246,221,111, 34,154, 99,100, 95, 33,246,118,248,183,174, 20,
+ 92,159, 22,236, 26,144, 54,208,244,144, 91,139,142, 17,235, 28,157, 86, 72, 36, 91, 50,114,107, 50,226,243,245,132,219, 85,205,
+151,138,140, 75,199,159,194,226,  9,247,142, 78, 57,235, 34, 51,235,224,120,206,251,143,239,241,235,159, 60,228,119,143,214,248,
+ 62,176,136,130,220, 91, 38, 50,162, 20, 92,201, 97, 11,197, 77, 34,159, 81, 25,123, 66, 82,233,156, 66,104, 38,166,  2, 33,  9,
+121,198,178,143,172, 17, 92,157,141,184, 52, 25,179,157,101,236,150,  5, 74, 40,174,103, 25,123,185,193,  7,207,121,179,228,201,
+124, 78, 29, 61, 27,223,211,245, 61,206,121,206,219, 53,125, 12,196, 24,152, 72, 65, 93,105, 74, 60,149,239,  8,182,227,157,174,
+ 29,236,178,253,224,178, 25,194,171,242, 28,246,182,224,202, 46, 76, 70, 48,173, 17, 85,  9, 89,134, 48,  5, 66,167,213,131, 80,
+ 73,247,241,172,144, 59,135, 26, 18,177,245, 80,208,117, 85,160,198, 91,200,235, 87,145,175,220, 69,220,190,131,184,126, 23, 49,
+189,130, 24,109, 67, 61, 67,100,  5, 72,137, 81,138, 27, 82, 83,106, 65,179, 90,243,240,232,132,  7,167, 79,137, 39,135,196,131,
+ 35,226,209,  9, 60, 57, 32, 30,158, 19,159, 30, 19,207, 78,137,199, 39,196,213,  2, 78, 78,136,231,115,154,163,179,212,104,185,
+ 14,214, 61,221,124,197,227,249,134,211,206,114,127,177, 97,164,  2,211, 16, 40,154,142, 81,174, 49, 49, 48,138,  1, 33,135, 84,
+200,  0, 27,215, 99,164,161,114, 29,193, 59, 74,101, 24,117, 13,133, 84,212, 62,240,182, 50,188,102,114,110,168,156, 61, 41,184,
+ 82,148,236, 11,195, 29,165,185, 45, 52,175,161,216, 87,154,207,232,130,155, 89,205,110,136,220,150, 57,147, 16,184,161,115,182,
+132, 34, 71, 50,173,102, 24,  4,117, 62,  3, 34,121, 94, 33, 76,198,184,168, 64,107, 76, 89, 16,164,162, 71, 32,181, 68,152,180,
+ 34,246,  8,138,204, 96,148, 65,  9,153,112,194, 68,230,182,167,245,158, 24,211, 52,108,221,117,104,173, 89,174, 86,244,193,179,
+106,215,232,224, 88,180,107, 62,217,204, 33, 90, 54,209,243,209,217, 25,143,172, 39,244,158, 16,210,106, 37, 70, 73, 84,154, 27,
+198,144,101,154,183,138,140,239,181, 45, 63, 89,231,252,105,215,241,246,164,230,183,206,151,252,194,206, 22,255,231,209, 25, 63,
+191,189,197,175,157, 44,248,197, 27,151,135,162, 78,120,238,109,144,131,141, 44, 27, 10,186, 16,  9, 90,242, 87, 17, 85,  6,159,
+246,204,113, 40, 28, 23,124,120,  6, 49, 71,176, 63, 44,144,123, 81,129,221,167,195,132,168,198,212,211,138,141,115,236,141, 42,
+188, 79,128,130,105,150,130, 68,142,150,107,114, 96,221, 56, 92,151,196, 86,105,172, 45,137, 93,155,130, 96,252,  0, 89, 89,183,
+ 32,  3, 93,  7,251,147,156, 32,  5,199, 93,228,165, 73, 70, 47, 83,146, 88,144,130,177, 16,108,124,100,221,165, 40,209, 31, 25,
+ 87,122, 49,141,232,125,154, 60,200,144,174, 71, 12, 45,126,116,233,201,179,131,143,223,133,231, 93,126,240, 73,137,127,209,113,
+203,129, 31,175, 21,228,154,237, 12, 22, 46,178,149,  9,234, 76,178,236,  6,225, 92, 74, 32, 72,  1, 57,241,197,  3,196,176,202,
+ 80, 17,239, 60,109,  4, 17, 36, 70, 68, 14, 99, 68,133,192,177,183,228, 90,114,218,245,180, 33, 32,163, 32, 51, 17,223,251,212,
+173,255,168,107,188, 96,  4, 61,120,204, 91, 95,248, 28,163,233, 24,188, 71,162,121,114,248,104,208, 58,100,108,207,106,182, 70,
+121, 26, 30, 12,231, 18,165,  5,189,141,207, 94,234,222,  5,214,182, 99,213, 88,164,  6,219,  6,156,135, 34,229,148, 38,170,152,
+ 72,236,240,214,122, 70, 42, 57,169,227,112,141,109,111, 17,192,122,227,112,  3,113,204,122,207,238, 86,197,162,241,204,231, 75,
+ 30,247, 61,243, 81, 73,190, 55,193,111, 23, 92,185,182,141, 40, 13,187, 47, 95,162,188,190, 13, 59, 37,155,182,231,147,147, 57,
+199, 71,115, 30,156, 47,121,178, 89,115, 30,  2,203,  0,123,179, 10,165,224, 97,223,113,214,122, 62, 58,183,156,116,112,115,167,
+ 76,113,178, 98, 48, 52,  8,153,222,220, 82,208,137, 20,  3, 28, 11,147,166, 44,133, 70,101,  6,145, 25,188,148,100, 59,  5, 38,
+ 87,104,231, 40, 15, 86,152,101,159, 14,  0,153, 34,191, 54,161, 13,208,156,247,216,190,225,254,123, 31,114,115,225,169,175,111,
+ 35,  8,220, 91,121, 86, 86,113,235,141, 91,180,249,152,  7,239,253,224, 89,151,158, 30,138,  4,122, 77, 15,  8,  8, 52,130, 53,
+199, 95,251,148,211,218,241,234, 43, 55, 48,227,196, 65,  8,181, 98,147, 43,186,220,160, 34,140, 60, 84, 66,160,103, 53, 98,127,
+ 66, 48, 25,178,208,112,109, 10, 70,164,108,237,195,  5, 90,101, 68,149,163,119,119,248,212, 20, 60,169, 39,252,157,207,191,204,
+246, 75, 47,243, 73, 52,220, 47,115,186,173, 45,150,213, 22,171,106,196,141, 75, 99,222, 63,123,202,175,127,247, 29,126,245,227,
+202,128, 32,160,  0,  0, 32,  0, 73, 68, 65, 84,  7,124,245,165, 59, 84, 69,198,163,222,243,237,133,227,221,206,211,245, 14,166,
+ 21,188,243, 77,196,227, 71,  8,191,225,120,114,139,217,108,196,213, 12,214,125,224,253,121,207,102,213, 50, 81,130,176,106, 88,
+180,107,122,157,225, 98,164,170, 43,114,173,153, 25,195,165,178,102, 87, 41, 94, 26,111, 33,122, 75,190, 62,166, 57,123,196,239,
+ 61,120,196, 31, 60,121,200,111,124,250,136,251, 77, 64,138, 36,128,148, 67, 66,217, 76,  5,110, 41,201, 37,  4, 87,116,198,171,
+ 89,197, 94, 62,162, 30,111,145,229,  5, 85, 94, 33,141,102, 82,214,156,  5,207, 90, 75, 38, 69,141,204, 52, 99, 83,160, 77, 10,
+ 28,217,205,147,207,124,229, 60, 62,  4, 86, 49,249,237,181,210, 16,225, 90,150, 83,232,140, 76,  8, 58,151,160, 39, 99, 41,216,
+ 82,234,255,229,236,205, 98, 52, 77,207,243,188,235, 93,190,237, 95,107,239,174,238,233,233,238, 89,201,225,112, 68,138,164, 40,
+ 75, 98,168,213,202,130,196, 65,156, 88,200,102, 69,112, 16, 64,  8, 16,228, 44,  1,124, 66,192,201,137,207, 28, 32,  1,146,200,
+128,  3, 40,113,  2, 91, 32, 98, 71,118, 44, 75,150, 21,209,220, 68,114, 72,206, 62,189, 76,239,181, 87,253,219,183,190, 91, 14,
+222,175,186,123,134,155,236,  2,126, 84,117,119,161,250,223,234,123,222,231,121,238,251,186,217, 81, 10,213,180, 12,132,229,237,
+186,141,109,141, 76, 98, 78,195,112, 13,198, 83,216, 88,139, 81,174,147,205,232,  4, 26, 78,249, 11,107, 57, 47,108,140, 25, 76,
+ 51,142,165, 64,166, 89,188,169,  4, 53, 29,163, 54,182, 25,188,252, 60,159,120,249,101, 94,125,245,167,152, 95,189, 76,184,254,
+ 34,234,202, 85,244,245,231, 81, 59, 87, 80,147, 29,228,120,  3,161, 52, 34, 73, 16, 82, 61,177,231, 54, 53,101, 83,243,156,175,
+169,231,199, 28, 31,239,241, 79,223,122, 19,110,125,  0,123,199, 80,206, 96, 81, 18,108, 67,112, 29,161,173,163, 96,237,169,  6,
+ 40, 60, 93,  7, 92,191,146,116, 29,194,116, 96, 90,124, 80, 44,  2,188, 58,204,184,156,167,100,125,150, 70,166, 83, 50,169,112,
+222,146,244,209,210,214,199,119,122,174, 51,164,109,201,210,140,145, 74,184,144,102, 76,133,100, 59,201, 24, 34,152,232,148,137,
+212,228, 74, 49,206,198,228, 18,182,134, 27,108,138,148, 66, 37, 12, 68,194, 16, 65,138,100,154,230, 72, 23, 24,164,  5, 69, 82,
+144,168,148, 44,159,162,116,130,146,241, 57,209,249, 16,153, 42, 66,154,129,140,155,215,144, 36, 24,169,  8, 64,235,124, 44,226,
+198, 68,144, 40,  2,235, 61,199,229, 10,227,  5,149, 49,164, 50,238,207,165, 15,212,101, 69,227, 45,117,221, 34,130,231,184, 62,
+101, 97, 13,173,173,217,107, 74, 58,215, 49,146,146,155,203,146,198, 58,188,148,132,198, 16,180,130,208,114,162, 19,158,215,  9,
+  7,174,229, 83,217,136,111, 85, 13,175,165, 25,239, 52, 13,159,155, 12,249,191,143,206,248, 43, 23,182,248,221,131, 99,254,234,
+238, 54,191,123,103, 15,197,228,218,151, 30,239,181,207,241,175,169,234, 45, 20, 42,182, 87,169,254,137, 35,219, 15, 41, 54,206,
+119,235,198,199, 23, 86,208,123,175,195, 19,127,251, 99, 59, 91,255,103,  5, 66,231, 80, 20,108,108,174,177, 83,196, 12,221, 52,
+ 31,176, 62, 24, 49, 25,229, 56,161,  9,  4, 58,227,233,172,137,204,119,223,171,200,203,182,247, 95,244,227,240,178,142,130,181,
+206,130,212,148,  4,106,175,185, 58,148,212,  8,106,  4,195,158, 77,126,210,  5, 20,208, 56, 27,173,112,222,253, 24,240, 78,191,
+ 74,120,140,120,237,119, 94,162,159, 60, 72, 17,213,239,189,248,235,241, 27,252,233,142,191, 63,241, 33, 99, 10, 93, 93, 59,158,
+ 29, 74, 22,109, 96,213,122, 66,214,  7,192,208,131,105, 68, 63, 50, 87,231, 85, 38, 60, 41,242, 33,208,121,143,149,208,244,193,
+ 25,181,131,137,214,204,218, 14,153, 42,180, 11, 92, 72, 36, 75,239,113, 56, 48,242,  7,215, 12, 31,149, 73,108,174,241,210,199,
+ 95, 68, 41, 77, 49, 40, 80, 34, 33,205,115,108,227,144, 73,202,250, 90,193, 36, 79,250,194, 30, 98, 10, 27,158,166,117, 88,225,
+105, 26, 67,211, 57,108, 99, 35, 87, 31,143,237, 28,203, 30,100,146, 75,193, 86, 30,139,143,146,145, 41, 46,132, 96, 51,141,  8,
+200, 32,  4, 77,107,209, 90,145, 17, 69, 88,153, 80,172, 15, 50,172, 11,236,205, 74, 18,165,  9,233,144, 98,107,202,231,174, 95,
+228,217, 11,235,220,153, 87,188, 89,214,140, 70,209,235, 51,239, 12, 75, 99, 48, 62, 80, 19, 56,177,129, 54, 85,124, 80,182,220,
+ 42, 43, 92, 34,216, 26, 23, 84,222, 83,249,192,229,245,  1,163, 60,146,175,188,232, 81,172, 33, 62, 93,149,241,156,185,192, 92,
+ 72,150, 82,210,106, 77,208, 10,159,164,184, 68, 81, 37,146, 71,139, 26,115,255,132, 97,145, 66,221, 33,239, 45, 73, 79, 13, 90,
+ 56, 76,170, 73,183, 11,144,158,211,155,  7,172,150, 71,220,124,116,151,231,221,136,201,230,  4,175, 60,195,105, 78,174, 20,207,
+188,112,145,171,159,125, 14,207, 17, 15,222,217,195,145,227, 46,104,124,161,120,249,175,253, 69,126,227, 55,126,142,223,250,207,
+126,137, 63,186,188,206,103,127,237,243, 60,248,211,155,156,125,235,251,252,225,226,148,  7,211,109,190,126,188,  0,223,241,135,
+183, 30,241,198,195, 99,190,242,214, 13,222,153,207, 56,116, 49, 64, 35,117, 34, 34, 59,235,142,174,170,152, 61, 56,230,225,141,
+ 91,220, 63,188,203,172, 90, 48,115, 29,135,141,164, 29, 13,241,121,194,160,241, 36,235,  5,183, 27,207, 89,219, 69,142,148, 10,
+180,217,132, 79,125,236,  5, 54,167, 59,188,111,  2,255,117,  6,227,195, 35,190, 38, 70,220, 91,  5, 94,239, 28,167,214, 16,234,
+ 25,225,224, 30,226,213,207,194,231,126,137,191,246,197,207,243,189,189, 25,223, 45,225, 52,207,113,149,229,230, 73,203,124,213,
+178,142, 97, 77, 39,176, 40,185,107, 91,  6,217,128, 86,194, 40, 77,153,166, 26, 41, 96,152, 15,113, 82,145,228,  3,200,199, 12,
+164, 96, 61,180, 28,183, 21,207,109, 79,120,105,119,157,207, 62,187,195,206,214, 58,175, 76,  7,204,140,101, 77,  9,174,167, 25,
+ 47, 36, 57,207, 38,  5, 23,139, 33,195,225,  4,157,230,120, 47, 16, 66,160,243, 28,129,128,222,150, 54, 24,164, 92, 28, 79, 25,
+228,154,113,150, 50, 74, 53,  3, 45,153, 68, 21, 40, 37,240,168,118, 40,165, 49, 42, 33, 79,115,  6, 89,138, 78, 52,235,195,132,
+  4,197,133, 60,229,229, 52,101, 67, 10, 84,103,168,131,197,250, 64,237,  3, 39, 58,139,157,121, 49,238, 25, 29, 27,144, 15, 96,
+184, 14,131, 53, 80,  5,159, 31,141,121, 46, 79,153,166,  5,163, 44,225,134, 84,145,121,144, 36,168, 65,138,202, 51,210,205,117,
+254,141, 11, 23,248,249,231, 94,230,194,133, 93,174, 76, 47,115, 43,159,146, 76,182,208, 58, 67, 43,133, 84, 10,233, 37, 82,  4,
+ 68, 83, 34,140,129,217, 30,156, 60, 64, 28,220,133,131,  7,188,243,254,123,188,113,235, 22,239,222,190, 11,135,143, 96,177,136,
+141,137,233, 89, 36, 61, 49,244,252, 26, 25,254, 28,189,158,240, 62,174,173,178,140,124,115,194,120,156, 83, 46, 99,147,179, 61,
+ 28, 18,100, 92,153,106,161, 48,222, 19,165,110,113,216, 11,  1,167, 18, 50, 33, 41, 84,194, 24,197, 84,105, 82,149,144, 11, 73,
+ 34, 69,204,136, 72, 11,180,135, 60, 31,160,101,130, 78, 50,178,116,138, 82,146,172,216, 70, 39, 89,  4, 67,233,140, 68,231,232,
+ 36, 69, 39,  3,116, 62,  0,227, 80,121, 14, 89,134,212,154,144, 36, 40, 33,240, 34,174,126, 91,  4,171,224, 34,237,219, 71,158,
+ 99, 23, 34,153,239,164, 92,209,  4,208, 40, 78,218, 37, 45,209,198,108,186,142, 16,160,108, 42,172,181,212,166,229,164,158,145,
+ 72,205,202, 86, 28,155, 18, 37, 28,169,212,156,153,134,111,159,214,184,198,197,130,158,165, 96, 12, 97, 48,192,181, 49, 18,252,
+ 51,131, 17,127,127, 85,241,159,110,173,243, 59,167,167,252, 59,147, 53,190,124,114,198,191,191,190,198,223, 59,216,231,183,175,
+ 94,225,111,223,127,200,111, 63,127, 13,193,245, 95, 13,116, 13,232,252,113,199, 27,187,192, 52, 22,119,149,246, 34, 48, 34, 33,
+237,233, 24,207, 31, 39,156,179,150, 39,218,250, 62,  4, 70,165,113, 44,253,244,  1, 32,190, 83,162,162,114,178,  1, 91,107,252,
+236,218, 56,146,178,242,130,245,241,  6,153, 20, 81, 10,154, 72,230,203, 51,142, 23, 53,111,220,189, 19,  1,250,174, 15,135,233,
+120,146,140, 38,125,196,196,218,250,137, 74, 61,201,216,152,228, 52,109,111, 21,200,  5,117, 31, 46,103,122,129, 86,181,172,227,
+232,190,106,126,252,227, 27,228,209,190,199,135,207, 37,143,191, 62,247,129,123, 27,159,  7,251,145,174, 56, 27,197, 16, 28,157,
+146, 41,137, 77, 19, 92, 99,144,153,194, 11, 17,119,223,222,163, 18, 21,179,225, 77, 27,253, 51,210, 63,  9,199, 57,159, 80, 60,
+ 29,178, 35, 50,178, 73, 70, 46, 20, 99,160, 72,  4, 11, 19,208,192, 18,207, 98,213, 33,117,136,194, 55,249,147, 31,231,127,245,
+ 55,254, 58, 91,187,235,172,230, 21,213,210, 96,203, 22, 65,194,213,107,187, 92,187,184,206,206, 70, 30,173,248, 46,208, 57, 71,
+217, 57,102,179,134,206, 89, 14, 14,151, 52, 62, 16,188,167,173, 76, 68, 67,138,128,206, 36,215,118,198,108,140,115, 46,141, 19,
+106,235,  9, 61, 89,202,  7, 72,130,167,181, 14, 27, 60,243,170,195,  4,200,165, 96,185,108,162, 74,117, 99,128,107, 13,124,103,
+143,159,255,133,143,115, 79,122, 30,182,142,129, 55,152,163,  5, 15,171,150,195,174, 35, 47, 82, 62,249,252, 22,137,140, 32,140,
+101,101,185,119,188,194, 54,  6, 43,161,154, 55,164,153, 34, 75, 83,190,240, 83,207, 32,147, 24, 42, 50,202, 82,210, 52, 33, 32,
+ 72,100,244,133,203,214,226,107,195, 73,217,177,183, 50,172,156,199, 17,131, 94, 38, 90,177,145,197,  0, 27, 41,  4,239,175,106,
+230,239,157,145,221,127,196,171,121,202, 39, 46,172, 83, 92, 25,146,140, 51,194,131, 37, 85,145, 97,159, 29, 51,219,159,179,247,
+250, 45,234,197,156, 66, 74, 62,243,234, 39,209,215, 54, 73, 47, 76, 57,182,142, 71,166,227,254, 89, 75, 82,151,236, 90,195,239,
+126,253,  3, 94,122,113,135,195, 58,230,149,255,235, 87, 39, 12,115, 77,  3,252, 63, 55,207,120,176,106,  9, 85, 69,168, 43,218,
+179, 35,194,235,239,240,220,231, 94, 98,224, 44, 95,251, 95,190, 79, 69,135, 66, 60,161,196, 95, 29,242,243,159,221, 33,155,142,
+ 96,186,206,188,172,217,120,230, 25,190,246,213,175,114,252,250,119,162,237,121, 48,226,139,175,188,198,197,151, 63,206,120,109,
+139,170,156,113,227,224, 17,167,203, 51,106,229,185,127, 88, 51,188,184,205,231, 95,249, 36,172,111, 51, 48, 53,191,109,106,178,
+214,241,245,197,156,255,166,216, 37, 76,135,228,120,  6, 18,190,119,120,138, 56, 61,224,123,127,245, 87,216,185,182,193,223,250,
+211, 59,252, 79,239, 30,146,140,134,108,100,  9, 63, 55, 25, 32, 23, 21,175, 77, 37, 63,163, 19,210, 89,201,236,224,144,253, 44,
+165, 73, 19,158, 25,228,  4,231, 16, 66, 98,165,160,171, 26,230,120,222,173, 91, 14,202, 21,123,173,225,164,109, 89, 27, 12,249,
+194,230, 26, 71,213,130,177, 82, 72,107, 57, 62, 59,162,109, 74,174, 16,248,124, 62, 38, 79,114, 10,157, 50,154,110,129, 76,177,
+193, 83,219,134, 90, 72,218, 52,225, 56,  4,190,221, 85,140,135,  3,108,154,179, 51, 46,240, 62, 48, 12,113,197, 52,206, 18,142,
+202,150,183,155,134,195,210,176, 32,112,214,182,164,210,179, 22, 36,185,  2,235, 61,163,  4,158,243,158,103, 85,202, 56, 85,204,
+234,138,239,174, 74,246,186,138, 47,175, 42, 58,231,  8, 73, 66, 72,114,130, 46,122, 32,151, 36,168,148,207,227,121,105, 90,240,
+188,150,156, 86, 37,243,106,201,172, 58,101,191,238,248,238,170, 66,121,251,120,212,254,249,201, 58,159, 26,141,120,254,210,117,
+198,131,  2,147,104,222, 61, 61,227,110,217,114,218, 25, 22, 77,205,161,115,184,230, 12,187, 60,195,204, 43,236,209, 25,246,240,
+ 33,118,178,137,179,101,236,137, 58, 27,107,182,181, 31, 86,200,255, 57,125,239, 63,170,207,  3, 16,151, 47,178,117,237, 18,215,
+243,156, 11,243,  5,207,121, 79,158,167,172,165, 25,235, 58, 97,172, 19, 84,112,196,129,159,196, 57,131, 82, 17, 39,158, 73,205,
+ 80,104,118,101,194, 68, 39,100, 34, 68,236,180,233, 72,148,  6,227,208,249,  0,165,242,  8,109,209, 26,130, 66,166, 89,252,218,
+152,199, 90, 29,172, 69,140,167,224,226, 66, 75,168, 72, 33, 68, 39, 88, 66,236,192,149,192, 33, 56,  1, 78,148,231,216, 65,173,
+ 35, 29,175,108, 12,  3, 33,104,172, 35,193, 19,172,163,234, 90, 12, 14,108, 84,229,111, 10,193,220, 52, 76,116, 70,103, 91, 62,
+ 88,158,176,165,115, 90,223, 48,146,158,214, 91,  2,129,131,106,201,239, 31,158,113,235,160,198,121,135,207, 51, 66,112,132,233,
+152,224, 28,122, 99,141,207, 78,214,112, 66,241, 31, 93,121,142,255,126,111,143,191,190,187,203,223, 61, 57,226, 63,220,220,230,
+ 43,139,  5,127,121,235, 34,255,231,193, 62,255,197,149,203,252,239, 15, 30,245,101, 87,141, 98, 65, 20, 61, 14, 53,205, 97, 52,
+130, 76,245,216,215, 65, 31, 88,210, 23, 21,107,127,252, 43,124,254,239,143,191,173,151,108, 42, 27,139,179,232,231,182,231,  5,
+253,156,239, 62,204,120, 81,199,116,168,221,193, 24,161,115,214,  7, 99, 74,211,161,146,140, 86,104,182, 39, 41,139,230, 17,151,
+119,119,120,120,231, 94,124, 51,153, 94,124,103,  1,209,244,224, 23,243,228,190,  8, 29,207,  4,  1,230,214, 19,180, 36,145,146,
+ 85,229, 24,165, 26,219, 89, 42, 47,158,  0,115,126,210,129,  5, 98, 55, 46, 68, 60, 21,132,167,222,185, 45, 17,135,123,190, 82,
+ 80,242,169,231,225,220,218,214, 64, 40, 64,200, 72, 92,243,113,204, 51, 32,198,204,154, 92, 65,  3,173,177, 40,149,226,154,158,
+200,236,207, 45,105, 93,188, 31, 90,127,100,138, 96, 80, 78,147,104,193,161,243,172,  7,201, 64,192,178,127,  9,178, 92,210,214,
+238,201,110,254,252,240,245, 35, 62,222,248,254,247,249,165,139, 95, 96,178, 54,192,217,146,249,209, 49,222,194,157,219,  2,235,
+  2,163, 98,135, 52, 81, 72,  9, 34,  8,242, 62,196, 36, 24, 71, 62,201,209, 61, 53, 47,209,178,247,211,199,149,201,225, 89,141,
+181, 17,212,179, 51,201, 88,116, 14,173,100,188, 96, 43,193, 64,107,132, 15, 36, 18, 58,235,232, 44,140, 70, 25,  4,207,122,150,
+224,179,156,147,181,146,255,235,107,239,242,173,  7, 55, 49,  4,142,218,154,129,214,108, 14, 71,228, 50, 67,231, 41,139,163, 37,
+195,201, 24, 33, 37,131, 81,130, 22,146, 70, 72, 78, 15, 78,104, 22,139,232, 58, 84, 18,153, 42,190,240,201, 43,209, 77,145,  9,
+164,148, 88, 31,122, 65, 28, 88, 37,105, 83, 73, 85, 75,200, 21,174,141,235,  5,235,  5,173,115, 44,141,162, 72, 97,146, 43,252,
+250,  6,249,238, 26, 73,119,133, 27,123, 43,110,188,113,200,231, 15, 13,215,118,167, 20,187,129,201,237, 57, 62,129,209, 48, 99,
+247,167, 95,196, 55, 29, 77,  8,148,193, 50,108, 91,244,131, 19,100,158, 98, 69, 28, 63, 94,200, 53,137,151,252,230, 23, 95,228,
+209,202, 32, 71,146, 89,166, 88,174,103, 12,148, 98,101, 45,131, 75, 19, 46, 47, 90,174,135,130, 45,189,141,224, 10, 27,191,246,
+ 51,188, 51, 43,105,170,138,255,224,111,190,200,124, 85,178, 44, 27,156,235, 96, 80,112,244, 15,255,  5,237,149, 43, 28,252,179,
+215, 17, 87, 78, 16,163,130,157,151,174,115,248,250,119,158,160, 66,171, 21,255,228, 91, 95,197,125,235,171,216,203, 87,113,179,
+ 85,164,130,209,224,187, 94,211,245,240,  1, 55,206,142,248,212,171, 63,207,229,221, 11,180,235,107, 12,165,224, 89,224,139,123,
+111,115,147,231,201, 70, 35,180, 13,184,151,174, 33,222,168,249,239,254,217,187,252,229, 87,118,249, 59,239, 30, 96,219, 14,225,
+ 44, 51,165,249,167, 39, 51, 46,102, 57,133, 83,124,236, 74,206, 51,151,214,185,168, 53,223,126,247, 77,182, 54,118,152,121,207,
+133,209,128, 82,198, 14, 89, 21, 25,157,181,116,198,210,228, 19,156,168, 89, 75, 11,174,140, 52,167, 50,112, 97, 48, 65,  3,243,
+176, 98,115,125,155,180, 42,184,140,194,119, 53,169,119,100,162,183,216,246, 57,243,193, 25, 72, 83, 66,103, 56,  9, 29,161,103,
+115,111, 56,143,233, 44,178, 79, 62, 20, 46,176,240, 29, 77,127,206,214,120, 78, 59, 71,112,150,210, 56,146, 52,163,114, 14, 17,
+ 20, 99, 60,155,195, 33,211, 44,163,109, 13,149,202, 64,181,188, 97, 60,198,247, 90,156,115, 55, 80,240,100, 56,214, 70,  3,118,
+ 16,124, 58,207,216, 21,146,113,162, 72,139, 33,165,183, 20, 98,131,183,155, 99,132,214, 72,162, 96, 75,107,205,165,241,144,204,
+121, 46,122, 24,121, 16, 85,205,101,235,185,215, 46, 16, 93,195,237,211,135, 84,135, 39,188,183,172,120,111,255,  4,149,128,169,
+154,168,140, 95,156,112,174,210,249, 97,172,120,241, 19,138,118,248,136,  7, 62,252,168,127,111,  3,179,178,230,142,243,200,182,
+ 67, 89,195,101, 41,209,137,166,  9,130,179,166, 35, 65,160,149, 34,113,158, 84, 71,226,104,176, 30,165,  3, 66,122,132,140, 36,
+ 75,231,  3,  9,146, 36, 29, 18,108,131, 74,  7,  8,153, 18, 66,136,235,  5,145, 34,164, 67, 40,  5,198, 68,127,191,236, 31, 89,
+154, 64, 83,130,206,145, 82,225, 93, 11, 40,130,181,136,158,143, 17,  2, 49, 92, 71, 43, 86,157,167,  9,129, 89,103,232, 84,204,
+101, 95,153, 24, 36,212,118, 45,198, 70,226, 94,133,165,232,101,139,247,156, 97,164, 82,238, 87, 51,102,245,146, 84, 42, 62,168,
+207,208, 66,112, 22, 28,101, 91,210, 25,203,235,103, 11,110, 63, 92,224,187,152, 65, 18, 86, 51,194,100,147,176,170,160,200,176,
+167, 51,190, 97, 60, 63,187, 53,229,111, 62,186,203,127,187,115,137,191,189,255,136,223,218,186,192,223, 61, 57,226, 55, 55, 47,
+240,229,195, 71,252,187, 91,155,252,157,253, 99,126,227,210, 46,138,209,115, 95,194,119,177,155,117, 54, 94,232,  7,195,152, 23,
+ 46, 68, 44,234,231,187,117,215,211,211,126, 82, 81,255,145, 65, 48,105, 52, 42,247,140,111, 66,140, 23,140, 49,160,154,193,176,
+ 96, 99,178,206, 88,  4, 58, 33,120,118,247, 42,137, 82, 20,197,  0,145, 38,140,  6, 25,203,198, 80,117, 13,206,195, 73,240,125,
+ 18, 27, 79,132,126,193,245, 33, 49,231,161, 37, 46,142,204, 73, 40,  3,164,131, 20,239,  2, 77, 27,177,166, 85, 99, 49,153,142,
+ 99,122,111,250,209,116,127,197,210, 58,250,199,165,140,143,253, 60,  4, 69,246, 48,115, 84,175, 72,127, 42,181,174,231,199,208,
+ 17,239,131, 15, 63,  8,122, 73,116, 20,102,232, 12,167, 85,159, 95, 46,216, 45,  4, 71,173,103, 43,133, 60, 17, 17,119,159,193,
+ 56, 81, 84,166,143,179,125,122,167,254,209,131, 84,162, 49, 45, 84,193,177,155,104,150, 62,208,122, 71,234, 37,171,208,197, 34,
+ 37, 60,104, 98,148,172,251,241, 35,248, 59,111,191,207,167,126,238,103, 25,142, 10,118, 54,214, 73,178, 12,103, 96,243,194, 26,
+ 73,162,201, 18,141, 18,146, 60,141, 99, 48,  2, 88, 23,250, 61,116,212,104,139, 62,197,206,135,120,225,132,128, 23,176,168, 13,
+165, 13, 84, 33,208,250,152,230, 38,129,129,150, 88, 23,176,190,119, 10,218,248,124,183, 54,224,157, 64,229, 41,149,130, 47,127,
+229,117,190,118,231, 38,167,109,203,237,179, 37,169,144,108,143, 70,116,206,144, 74,  5,  2,150,101, 73, 87,213, 52,166, 99, 57,
+ 43,169,140,101, 53, 95, 32, 16,188,246,234,115,124,246,181,231,216,125,102,  7,165, 36,182,115, 76,134, 25, 82,168, 40,133,176,
+177,163,213, 90,245,246, 59, 79, 75,136,108,111,  2, 66,120, 52,129, 68,123,164,128, 65, 42, 25,166,130,253,147,150,121, 11, 42,
+ 83, 36, 91,  3,212,229,  9,179, 44, 99, 88, 40,242, 97,138,203,  4,170,181,100, 37,100, 13,164, 85, 75,162,  3,162, 72,104,206,
+ 42, 86,119, 78, 57,123,247, 30,195,195, 37,195,221, 33, 94,  9, 38,169, 98,154,105,214,165,228, 84,  9, 78,133,100,238,161,242,
+129,131,206, 81,181, 14, 21,  4, 63,181, 57,100, 60,204,184, 58, 29, 48, 65, 49,237, 28,239, 46, 44,143, 42,207,137, 87,212, 94,
+ 81, 76,167,232,193,152,201,231, 95, 99,109, 52,225,149,159,126,137,245,221, 93,142,110,220,230,180, 58,163,104, 20,  7,181,197,
+250,238,  9,255, 27,112,203, 57,214,212,184,182,194,183, 29,206, 70,107,142,111, 43,252,254, 62, 15,125,205, 67,161,121, 36, 20,
+186,110,248,189,217, 25,223,156, 47,216,117, 21, 74, 15,200, 58,195, 39, 22, 11,218, 79,127,140,175,220,221,231,247,254,223, 63,
+160,222,187, 11,123,119, 16,123,247,225,225,  7,136,211,135,212,203, 83,110, 39, 99,126,126,107,196,118,154,144,  2,215, 77, 66,
+ 53, 59,225,127,120,247,117, 94, 28,111,210,165,113,109,227, 66, 96,225, 28,251, 58, 97,101,  3,206, 71,254,193,206,184, 32, 15,
+ 32,180, 96,101, 44,153, 82,132,224, 81,214, 50,234,106,138,224, 80,  2,132,105, 81, 34, 65, 40,137,237, 58,140,119, 24,235, 88,
+152,150,219,109,205, 94, 91, 99, 85, 66,161, 37,222,244,217, 11,198,145,166,138,202,  6,150,117,139, 50,  6,233, 91, 70,190, 33,
+119, 29,151,165, 99,214,118, 40,161,120,175, 92, 33, 72,120,102, 52, 96, 71, 39,180,120,142,218,134, 63,154,205,120,189,105,159,
+100, 60, 52,117,212,228,232,132,103,242,  2,225, 45,175,201,192,179, 90,144, 73,  9,198,177, 46, 37, 39,198,240,103,139,146, 67,
+235, 80, 42,160,210, 20,157, 15,217,205, 11,174,101,154, 23,210,  9, 69,185, 96,179, 53, 76,150, 43,166, 77,197,165,174, 99,125,
+126,196,206,170, 34,239, 58, 46, 34, 40,138,140, 71,171, 50, 94,123,123, 11,220, 15,116,213, 79,251,223,127,194, 77,126,  4,110,
+243,248,179,214,136, 62,162, 22, 41, 17,222, 16, 74, 67,125, 86,179,119, 54, 99, 71, 64,235, 28, 71,193,209, 52,142, 36,141,185,
+243,206,217,152,220, 71,143,208,150, 18, 47, 37, 99,  1, 67,149, 34,108, 67,174, 83, 68,240,136, 16, 80, 74,161,180,198,155, 14,
+165,211,248,255, 42, 13, 66, 69, 56,143, 78, 30,175, 73, 67, 79, 50, 21,  8,130, 51,  8,165,  9, 62, 32,164,196, 57,135,119, 29,
+ 72,133,107, 27, 42,215,178,232, 90,142, 92, 71,165, 21, 43,211, 97,156,101, 86, 87,212,214, 48,175, 75, 90, 99, 56, 94,157,114,
+ 86, 47,113, 93, 76, 13,205,164,162,243,158,198, 25, 58, 91, 71, 62,153,141,211,202,224, 28,243,186, 98, 86,118, 60,168, 27,190,
+117,127,134,171, 75,124,215,197,233,136,245,  4,215,198,201,185, 51, 80,164,  8, 27,120, 40,  2,191,144, 42,254,215,179, 57,255,
+229,133,203,252,131,249, 41,127,105,178,206, 31,207,102,124,122, 48,224,125,239,249,226,120,200,239, 60,122,216,239,212,207,119,
+232, 66,199, 87, 40, 43,162, 10, 83,233, 39,123,225, 44,235, 81,174,254, 39,238, 99,127,116, 81,239, 49,168, 42, 34, 95,133, 76,
+158, 40,202,243,130, 43, 91, 35,156,235,152, 12, 70, 60, 63,216, 96,168, 82, 54, 46,108,176,190, 49, 97, 56,202,169, 92, 32,209,
+  2,141,102, 81, 87,180,206,210,150,203, 88,212,211,254,196,123, 14,157,193, 61,177,111,133,168, 48, 71, 38,209,246, 41,  4,100,
+ 58,138, 78,179, 62,116, 70,136, 72,116,115, 54,118,194,217,  8, 46,108,194,120,210,155, 68,237, 19,113,153, 16,113,167, 46,228,
+ 19, 12, 46,125,222,186,232,223,222, 46, 64,222, 71,173,202,143,232, 17,156,  3,153,227, 68,212, 45,100, 82,162,164,199, 42,193,
+118,166, 24,249,192, 44,  4,174,104,  1, 38,112,220, 24,130,147, 79,118,233,231,187,245,115, 84,237,121, 56, 75, 15, 87,223, 72,
+ 51, 14, 86,134, 81, 34, 24,  1,123,101,199, 52, 81,120,239,104, 90,  8,231, 62,254,243,215,246,199,124,172,239,110,113,245,185,
+171, 28, 30,159,209,118, 22,235,162, 53,195,  7, 98,161,245,129, 60,213, 81,200,229,  3,109,239,130,  8, 38,250,194,131,  7,153,
+136, 40,228,203, 20, 78,  8,188,141,135, 68, 21,  4,173,245,116,198,163, 19, 25,227,101,125,164,205,121, 41,113, 82,112,218,121,
+ 26, 36, 22,129, 81, 26,169,  5, 70,  4,246, 30,156, 98,219,142,141,124,192, 70,158,145,234, 24,178, 32,133, 68,  8,197,201,106,
+201,170,109,232, 92, 71,211, 52, 52,109,131,176,130,203, 59, 59, 92,187,180,197,178, 54,220,188,125,192,173, 27,247,121,120,255,
+128,147,147,134,139,187, 19,166,131,140,166,179,  4, 60,169,142,118,186, 32,192, 17,217,251,238, 28, 84, 67, 32,147,144, 73, 65,
+145, 18,243,236, 19,201,234,246, 25,234,168, 36,109,  3,173, 13, 24,231,168, 51,197, 65, 90,176,187, 54,192,  6,129,210,144,109,
+174,193, 89, 64,172, 26,228, 78, 70,216, 26,226,157,195, 46, 27,138,105,193, 96,154,197, 29,108,174, 24, 37, 41,131, 32, 72, 31,
+174,152, 47,150,124,235,205,  7,248, 89,205,222,237, 19,150,143, 78, 80,171,146,176,114,236, 92, 24, 81,100,154,149, 11,116, 85,
+199,119,206,106,238,204, 42,188,146, 12,  6, 57, 27,163,148, 53,  9, 83, 13,133, 51,252,133,181,130, 23, 54,166, 20,105, 66,121,
+237, 89, 84, 39, 88,203,  4,207,174, 13,217,185,176,195,238, 51,151,152, 92,216,198, 14,167,204,100, 17,119,138,182,251, 16, 74,
+244, 49, 63,252,240,144,166, 44,121,235,108,201, 31,180, 53,223, 52,146, 67, 33, 25, 89,199,206, 56, 97, 83,  6,198,153,226,149,
+179, 51,174,143,135,108,109, 92,100,111, 56,197,222,125, 31, 30, 62,130,114,  9,143, 30, 33,142, 14,145,237,  9,121,217,241,146,
+ 30,145, 90,143, 50,142,113, 93,241, 41,  5, 55,170, 37, 95,105, 21, 23,  7,  9,251,198,114,199,  7,206, 42, 71,139,100, 17, 34,
+187,123,144, 72, 70, 90, 35,137,191,255,169, 16,148,182,163, 51,134,196,180, 12,130, 39, 13, 17,141,235,157,197, 56,135,117,142,
+218,118,236, 45, 79, 40,125,199, 94, 87,115,234, 13,123,171,154,205, 52, 69, 56, 71, 98, 12, 74,107,172,113,236,173,150,204,155,
+146,196, 25,214, 77,139,176,158,173, 96, 88,115,134, 13, 33,120, 80, 46,168,108, 75, 73, 74,174,225, 97, 83, 49, 43, 87,188, 63,
+ 59,225,171,243, 83,154,122, 21,187,197,166,238, 29, 65, 30,145,103, 12,165, 68,  4,199,101, 60,133,130,129,183, 36, 33,240,230,
+106,193, 55, 22, 53,111,119, 45,210,117, 72,157,162, 84,194,122,154,176,155,142, 25,203,132,237, 84,115, 17,201,150, 82,172, 15,
+ 10, 10,149,162, 59, 19, 41,154,190,141, 54,208, 76, 50, 29,143,112,227,  1, 71, 70, 34,122, 97,240,143, 42,236, 63,224,131,255,
+ 17, 30,120,249,209, 98,175, 53,164,186, 39,223, 41,240, 50, 14, 37,234, 54, 34,184,157,225, 65,211,114,203, 72, 86,  4,190,223,
+  6, 58, 97, 88,217, 88,124,141,115,184,224, 64,169, 88, 12,165, 64,  6, 72,137,144,171, 92, 72,164, 80,104,  2, 34,196,107,153,
+210, 89,244,134, 88, 19, 15, 18, 62,230,117,  8,235,162, 41, 85, 74,130,105,192,199,159, 39,164, 36,116,109, 63,232,140,164, 58,
+111, 44,222, 26,218,224, 40, 77,199,158,181,236, 57, 75,109, 45,149,139,120, 91, 33, 98,166,124,213,149,156,214, 51, 78, 76,195,
+254,114, 70,235, 13,141,119,145,246,169, 37,137,243,204,109, 36,148, 58, 60, 74, 40,108,215,178,242, 14, 17, 60,137,240,220,173,
+ 58, 90,215, 18, 76, 31,196,163,  1,157, 18,154, 14,145,100, 80, 25,196,184, 64,212, 13,183,117,202,127,188,177,206,255,120,176,
+207,191, 54,200,248,227,101,201,181, 60,101,134, 39,183, 29,255,240,228,132, 79, 76,167, 40, 38,207,127,233,113,135,238,109,244,
+154, 43, 31,187,201,243,142, 80,244,  5,160,237,250, 83,229,191, 98, 81,215,242, 73,241, 13,  1, 17, 92,124, 20,215, 47,241,241,
+ 75, 27,124,226,153, 23,184, 52,221,226,165,173, 93,158, 25,111, 34,114,205,181,237,117, 86,222,210,153,192,104, 50, 32, 40,205,
+131,131, 67,214,199, 99,110,159, 29, 96, 86,125,234, 88,103,226,207, 14, 42, 30, 58,240,209,190,117,238,137, 23,196, 19,155, 82,
+253,247,137,184,140, 10, 34,118,242, 90, 70, 53,250,170,141,127, 63, 30,193,120,  8, 69,191, 46, 88,244, 39,235,243, 81, 55, 50,
+254,172,115,225, 95,146, 63,225,212, 43,221,191,145, 93,188, 63, 79, 67,100, 30, 63, 31, 30, 66,252,217, 90,  4, 70, 69, 84, 87,
+174,245,  9, 97,151,181, 70,121,207,134,138,  2,158,121,235, 34, 97,142,240,100,  5,114, 14,146,120,124,104,178,208, 70,162,220,
+ 84, 11,150, 33,230,239,166,137, 96,213,  6,188, 10, 76,148,160, 13,125, 34,158, 23, 63, 20, 23,251,244,199,205,239,191,195, 23,
+255,173, 95, 97, 99, 50,100, 89, 54, 49,181,169,179,116,141,137,193, 10, 66,145, 38,  9,131, 76, 71,202,174, 13,125, 94, 76, 64,
+247,  2, 63,173, 98, 82,152, 84, 18,215,249,216,125,  3,193,249, 56,198, 31,166, 12,138,148,198,249,199,254,112, 47,  4,101,231,
+104,250,116,218,243, 19,123,227, 29, 89,170,  8, 33,161, 59,171, 65,138, 24, 24,163, 53, 73, 63,142, 12,193, 33,148,100,160, 52,
+ 74,105,  6,217,128,141,181, 45, 70,147, 49,235,147,156,189,253, 51, 30, 62, 58,  0, 41, 41,242,156,166,233,176,193, 82,163,216,
+221, 26,225,131, 71, 17, 80, 74,162,117, 68,224, 57,231,232,140,165, 53, 54,134,163,244,145,188, 82,  4,180, 20,104, 17, 51,230,
+147, 66,177, 56,108, 24,165,146,237, 92,113, 57, 75,240, 14, 94,155, 36,108, 21,154,  3, 27,240, 62,142,234,241, 30, 70,154,230,
+210,  4, 51,200,  9, 89,130, 30, 21,136,237,  9, 97,154, 35,134,  9,153,243, 80,183,  4,235, 88,168,192,187, 66,112,253,229, 29,
+214,114,201,149,205,130,143,125,108,139,112, 92,177, 38,  2, 97, 99,196,126, 23,120,111,105,120,115,222, 50, 51,129,221,164, 99,
+224, 29,207,155, 57,203,147, 67,158, 75,115,182,117,202,115,  4, 46, 21,145,184,101,141,225,189,178, 68, 59,199,154, 15, 12,132,
+ 98, 82,228, 20,137,100, 45,207,216, 42, 82, 46, 76,  6, 12, 54, 38, 28, 39, 99, 12, 22,223,118, 63,144,  4,198,226, 12,230, 51,
+186,170, 36,156,158, 16,164,163,194,243,234,112,196, 90,146, 80, 32, 73, 19,141,106, 59,210, 97,194, 48, 36,220,169,142,225,228,
+ 36,254,238,104, 13,139,  5,161,172,185,115,188, 79,222,204,217,182,138, 20, 40,178,140,137,119,108,183, 43, 30, 46, 79,185,217,
+118, 28, 90,203,101,239,216, 54, 13,223,245,130,147,182,230,154,106,153, 91,197, 51,169, 36, 85, 26,109,  3,214, 25,172,243, 28,
+149, 11, 26,111,217, 49, 29,162,109, 81,222, 48, 91,205, 16, 33,112,216,173,120,103,254,136, 42,  4,238, 45, 78,121, 48, 63,226,
+102,181,162,170,150, 72, 17,176,171, 37,251,213,130,179,206,241, 96,118,130, 13,158, 77,211,209,181, 45,181, 51, 76,188,193,135,
+192, 26,129,196,118,100,182,161,241,112,228,106,206, 26,195,119,246,239,242,181, 71,247,249,254,236,152,114,177,128, 85,  5, 39,
+ 11, 88,172, 98,151,222, 58,200, 51,108,128, 81,154,241, 65,215,113,217, 55,184,186,102,102, 12, 15,218,154,127, 81,150, 72,211,
+ 34,130, 67, 57,131,212, 25, 87,211,140,105,158,147,250,192, 40, 75,217, 29, 20,108, 37,  3,134,131, 28,229, 37, 88,131,176,  6,
+111, 59,172,181,100,105, 74,161, 21,147,193,136,106,154,115, 38,250, 61,126, 80,209, 77,209, 95,167, 62, 90,204,197,211, 94,248,
+159,112, 67,107,132,146,113, 74,231, 69,236,137,212,147, 97,188,  8, 14,124, 64,184,216,136,148,139,  6, 23, 60,123,157,231, 65,
+219, 17,122,108,107,227,162, 69,239,156,176, 23,  3,158,  2,107, 74, 19, 76,135, 14, 14, 37, 53, 88, 23, 83,191, 67, 76,100, 59,
+ 47,238, 16, 16, 82, 19,188, 69,  4,240,214, 32, 84,130,183, 13,  8,133,235,237,213, 65, 42, 92,215,225,123, 79, 73,227, 90,170,
+174,228,160,173,184,225, 91,218, 52,227,172, 89,225,172,165, 54,134, 89,189,192,226,153,155,150,133,235,184,187, 92,177,244,130,
+121,185,140,217,101, 34,170,107,103,222, 48,214, 26, 23, 60,  2,201,170,169,168,112, 24,239, 80, 66,114, 84, 55,200, 34,225,168,
+  1,239,187,184,254,241, 50, 70, 69, 75,141,176,  6, 38,  3,196,217,  2,177, 62,229, 25,219,242,181,206,240,249, 34,231,173,206,
+178, 50, 53, 55,140,163,236, 58, 30, 24,207, 84,  4,190,182, 56, 65,177,118,237, 75, 36,170,  7,195,232,152,231,157,232,120, 83,
+250,195,227, 93, 99,162,255,208,152,127,181,  0,152,180,207, 92,215, 17, 82, 35,242, 49, 92,186,204,175,190,252,  9, 94,189,250,
+ 50,105, 54, 96,123,123,155, 75,235,155,120, 18,158,189,180, 78, 35, 36,237,170,102, 48,202,105,173, 71, 42, 73, 38,115,234,174,
+197, 55, 45,167,222,198, 39,227,220,158,161,101, 31,129,218, 39,191,185,238,201,232, 95,245, 34,183,200,246,140,111,184,243,119,
+176,212, 49,113, 45, 81,113, 12,223,118,209,214,103,  2, 44, 87, 96,234, 15,171,216,149,  0,145,244,157,115,255,174, 21, 60,225,
+183,107,221,115,220, 93, 47,158,179, 63,228,249,136,246,182,221, 97,202,172,243, 60,167, 21, 19,165, 24,  4,137, 14, 81,220,230,
+140, 99, 34, 36,163,  4, 78,218,126,243,117, 14,245,177,246,169,207, 79, 17,250, 68,191, 43, 62, 15,101,  8,176,169,160,108,  2,
+109, 48,100, 58,193,153, 62,128,230, 39,116,234,  0,107,155,235,188,242,202,139,  4, 41, 72,115,205,198,120, 72,231,  2,182,243,
+ 12, 38,  3, 46,175,143, 81, 90,160, 84,204, 74,246,189, 67,210,248,128,150, 17,214,160, 50,137, 12, 49, 94, 85,246,246, 16, 84,
+188,127,137, 76,200,242,120, 40,136, 83, 50, 65, 32,224,  2, 72, 33,226, 83, 74,160, 72, 53,227, 60, 69,202, 64, 58, 76, 57,126,
+112,138, 18, 10, 37,101, 20,188, 16,185,  5, 74,106, 70,249,144,193, 96,192,179,187,151,248,245,159,249, 56,155, 27, 99,246,143,
+ 22, 28,157,206, 24, 78, 70,140, 39, 35,202,178,162,115, 29, 27, 59,219,236, 92,218,196, 56, 79,145, 39,140,138,148, 36,145, 24,
+ 27, 21,175,214,122, 66,159, 36,230, 93, 92, 25,  9, 31,176, 54,178, 18,206,175, 87, 74,  9,150,165,165,107,  2,249, 32,137, 57,
+209, 90,146, 56,203,254,157, 83,228,170,229,221, 59,103,156,236,159,177,153, 41, 90, 25,184, 51,144,188,227, 36,199, 78,114, 88,
+ 59,110,189,115,143, 71,247,246, 56,156,149,148,214, 82,183,150,170, 53, 36,211,  1, 11,  1,223,190,241,136,236,246, 13, 62,247,
+252, 37,254,198, 87,222,230,209, 59,183,105,131,103, 88,149, 36,121,198,123,179,134,  3,165, 56, 10,129,195, 32,248,181,171,  5,
+191,126,109,155,183, 31, 60,228,155, 15,110,242, 79,238,222, 35,168,  0, 94,112, 57,139,194,179,251,  7,199,220, 95, 44, 24, 59,
+199,192, 88,148,233,200,  2,140,181,230, 74, 62,224,103,183,175,176,150,167,180,137,198,111, 13, 56, 45,214,177,178, 32,212,154,
+ 96, 10,144,105, 47,191,139,204,242, 48, 59, 37,156, 30, 18,116,198,107,215, 95,100,153, 77,216, 17,142, 76, 69,173,132, 74, 20,
+171,214, 82,174,206,184, 89,183,132,229, 28,202,138,160,227,117, 39,216,128, 43, 27,190,183,127, 68, 48, 51, 46,167,  5, 35, 60,
+197,104,140, 91,157, 50, 59,222,227,247, 15,143,120,239,116,193,221,206,242,229,131,  7, 60, 76, 50, 78, 44,220, 53,134, 55,218,
+142, 63, 41, 27,254,164,178,188, 42, 12,202, 59,230,229,138,247,203,134,133, 89,226,219,154,172,107,152,205, 23, 20, 74,242,246,
+242,140,119,206, 78, 56,237, 12,247,151,103,188,123, 52,227,189,211, 19,110,221,220,227,224,116,197,189,147, 67,  6,218, 18, 92,
+199, 89,181,192,154, 21, 89, 91,225, 77, 67,144,144,  4,135,145, 10,237, 29,185,247,132,174, 70, 59,  3,166,194,116, 13,111,150,
+103,204,170, 25, 77, 85,225,202, 10,206,106, 68, 91,193,193,105,116,233,204, 74, 68,103,160,169, 48,153,100,133, 96, 89,151,188,
+ 93, 54,188, 55, 91,240, 94,181,226,187,203, 21,194,180,  8,103, 17,109,131,116,  6, 41,  3, 23,138,  2,229,  2, 90, 72, 10, 31,
+120, 46, 75, 89, 83, 58,226,175,149, 66,167, 41,190,109,168, 93,139, 21, 14,225, 29,211, 98, 68,162, 37,195, 44,229, 76,  8,150,
+ 66, 64,145, 65, 58, 64, 36,  3, 68, 26,217,242,194,187, 15,129,109,158,190,233, 31,  2,184,121,220,173, 39,125, 81,239,127,199,
+ 63,180, 44, 12,  1, 17,250, 70, 40,213,143,243, 49,132,239,192,122,188,131,163,101,199, 28, 71,129,196, 27, 75,135,196, 58,199,
+ 80, 41,202,174,166,243,150,156,136, 69,238,156, 65, 17,245,  8, 65,  4,148, 84,216,166,126,172,213,242,166,137,235, 63,215, 70,
+  1,154,179, 56,215, 98, 93,  3, 82,198,  3,159,169,113,128, 17,158,186,171, 57,107, 87, 84,206,114, 11,199,126, 87,113, 96,106,
+206, 90, 75,101,106,142,154,101,100,181,183, 37,165,183,156,214, 53,149,117,172,130,195,121,137, 12,129,153, 53, 52,182,139, 61,
+241,249, 52,136, 64, 16,158,178,139,142,158,101,137,101, 66,182,  0,  0, 32,  0, 73, 68, 65, 84,221, 50,144,138, 34,  4, 76,170,
+153, 45,226,227, 15,244, 73,154, 26, 68, 62, 64,204,150,136,173, 41,226,224,132,114,109,194,199, 21,188,141, 70,116, 21,211, 44,
+163,180, 29, 59, 50,229,253,114,198, 80, 69,131,171, 98,227,249, 47,209,217, 39, 59,117,161, 99,  1,234,122,111,186,137, 72, 70,
+234, 85, 28, 19,201,126,  7,126, 14,148,249,151,234,214,243, 88, 72,133,131, 98,130,152,174,243,201,171,151,120,118,243, 25,132,
+ 78, 80, 42,225,226,214, 26,193,121,116,  8,204,235,142, 34, 19,104,173,168,106, 75, 72,  5,243, 85, 75, 85,119,120, 99, 25,164,
+146, 91,179,167,226,  8,207,  5,120,178,127,171,157,135,151,156,219,191,242, 65,111, 13,147,125, 26, 90,159, 43,158,244,143, 57,
+ 75,122, 92, 99,136,187,250,197, 18,202, 50,222, 62, 10,107,145, 50,190,179,147, 36, 30,126,206,139, 56,125,145, 63,143,167, 85,
+105,156, 24,164,242,  7, 11,187,148,224, 53, 11,103, 89, 79, 18, 54,165, 32, 11, 17, 62,227,  9,236,  8,193,153, 11,140,  3, 56,
+ 33,217,212,146, 35,215,119,253,231,157,250,227,207,189, 69,174, 47,244,174, 47,252, 57, 34,238,151, 91, 67,154, 43,180, 82, 49,
+158,150,222,  3,255,231,  0, 16,188,251,221,183,248,236,175,254,  2,219,235, 19,164,146,204, 87, 45,211,233,144,147,147, 25,243,
+211, 37,181,  9, 72, 21, 59,210,104,  3, 11, 49,158, 84, 42,138, 92,147,100, 18,225,162, 11,221,138,152,188,150,104,141, 22, 10,
+111, 61, 74,198, 16,149,170, 54,120,231,113,206,211,117, 30,173, 37, 74, 62,185, 13,243,140, 76,235,152,  1, 36, 20,109, 29, 40,
+ 23,101,223, 97,  4,178, 36,165, 72,  7,140, 39, 19, 38,211,117,158,123,254, 25, 62,247,242, 46,139,147,146,111,188,127,135,116,
+144, 81,140,  6,180,109,199, 98, 85, 49,152, 12,185,120,113,155,225,184,192,247,187,251,213, 50, 94,168,  7, 89, 18,197,123, 62,
+ 18,242,140,141,  5,221,121,143,235, 85,253,198, 58,156, 11, 72, 41, 73,180, 34, 77, 52,227, 65, 74,146, 42,208,113, 60, 88, 87,
+ 29,109,211,113,116,255,144, 91, 55,239,176, 56, 61,225,224,225,125,110,223,219,231,237,219, 15,248,214, 91, 31,112,156,175,177,
+ 51, 46,152, 37,154,183, 66,194,151,191,250, 45,190,254, 63,255,  9, 95,189,241, 46,255,232, 15, 94,231, 31,253,227,111, 35, 86,
+199,188,124,249, 58, 39,251,167,252,155,175,190, 76, 33, 52,191,255,213,111,112,229,234,101, 62,251,185, 23,248,245,237, 33,127,
+ 38,128, 11, 67,202,165,229,229, 73,134, 82,154, 95, 30,166, 56, 31,248,238,253,  3,188, 53,124,236,234, 85,220,100,131, 67,  2,
+218, 25,238, 86, 45,167,171,146,235,197,152, 32,  4,  3, 33, 49, 38,134,136,164, 82,242,233,141, 93, 46,236,236,176, 57, 28,115,
+211, 90,110,184, 12, 49,154, 64,161, 48, 58,193,111, 20, 20, 91,235,236, 92,219,129,209, 58, 45, 26, 86, 22,164, 37,  4,201,228,
+217,103,185, 62, 78, 25, 11, 73,103, 59, 18,173,217, 47, 87, 44,155,150,133,149,124,176,154, 69,104,211,108, 21,131, 44,130, 36,
+120,219, 31,236,  4,111,207, 86, 92, 80, 13, 27, 74,211, 85, 37,143, 22,135,252,189,123, 71,188,249, 96, 70,117, 60,231,232,224,
+ 16,237,107, 46, 54,103, 44,110,220,160,109,103,160,  4, 66, 39,  8,219,242,237,229,140,163,166,230,165, 34,227, 15,110,189,135,
+246,129,213,252,152,211,249,130,155, 85,203, 91,243,  5,239,150, 21, 95,155,151,188,126,182,228,221,121,205,131,217,146,217,106,
+137,107,107,156,109,169,170,146,155,243,154,253,182, 37,152,138, 60,213,236, 74,201, 84,128,113,150,160, 20,170,107, 81,214,112,
+236, 45, 27,166,161, 67, 64,215, 50,111,151,212,139,138, 85, 85, 33,124,  0,231, 16, 94,192,188,129,118,  5, 93,141,176, 29, 84,
+ 37,156,158, 33, 14,143,240,103, 11,192,227,203,138,122,181,164, 92, 44, 16,139,  5, 98,181,132,186, 66, 46, 22,136,174, 69,  9,
+195,202,117,172,107,141,144,  9, 74,192, 69, 45,217, 17,158,161, 76,145, 90, 18,234,146, 96, 29, 70,128,212,138, 81,154, 33,128,
+ 66,105, 10,165,113,161,195,100,138,153,241,136, 44,129, 97,  6,163, 17, 66,166, 72,149, 34,113, 72,231, 62,  4,181,209, 79, 21,
+118,253,195, 10,187,142, 35,115,126, 72,136,140,112, 46,214, 20, 41, 99,167, 46,162, 72, 48,142,203, 29,162,234,192,  5,170, 85,
+203,253,202,176,232, 12, 34,  4,130, 12,204,155, 38,114,230,  3,116,109, 75,227, 12,185, 15,184,224,232,188, 65,122,168,187, 42,
+166, 45, 58,135,235,106,156,233, 98, 65,247,142,174, 94, 17,132,199, 88,139, 13,142,206, 89, 90,111,113,222,177,104, 86,148,109,
+195,153, 45,217, 55, 45,111,119, 75,110, 54, 43,110,149, 53,119,203,154,210,118,220,238, 58,150,173,161,242,142, 86, 73,102,171,
+ 18, 43,161,179, 22,101, 35,236,108,209,212,148,222,227,181,228, 65, 85,115, 49, 75, 56,181,134,182,173,177, 33,224,149, 64,219,
+232,199, 55,214, 49, 85, 10, 33, 96,179, 72,217,171, 76, 20, 81,123,143, 48, 22,108, 28,193,203,249, 10,177, 54, 69, 30,204, 56,
+ 77, 20, 98, 49,199, 14,134,172,230,115,188,210,156, 52,115,100,154, 49, 11,158,114,121,134, 98,116,237, 75,232,243, 78,189, 79,
+ 87,235,179,101,177, 29,212, 77,236,222,109, 63,218, 78, 84,180,141,105,126, 44,192,228,  7, 62,178, 52,238,184, 19, 21, 79,132,
+227, 33,131,233, 26,175, 93,190,198,100,109, 28, 35, 59, 61, 12,  6, 57,178, 23, 64,248,186, 69, 43,201, 96,152, 97,156,229,204,
+121,170,101, 75, 23, 12, 78,192,114,181,228,160, 93, 96,170,174,183,204,201, 39,209,169,231,176, 27,211, 19,230,210, 34, 22,239,
+252,188,  8,247, 59, 23,165,123,206,125,218, 43, 80,251,125,181, 51, 31,142,150,253, 97,235,  4, 21,161,251, 72,221, 23,243, 36,
+ 58,  6, 92,128, 81,209,231,201,247,197,190,238,126,112,212,237, 92, 31, 75,171,217, 78, 20,195, 30,206,210,187,238, 48,  6,118,
+ 18,193,125,239, 24,186, 64, 30, 60, 71, 82,224,186,167,118,233,231,157,250,211, 74,246,126,109, 18,124,192,132, 56,238, 86,104,
+108,176,113,244, 29,252, 19,220,237,159, 51,170,113,184, 54,225,226,181, 93,138, 36,199, 56,195,254,253, 35,188, 51, 12,  6, 35,
+ 28, 48,155, 55,120,  4,147,113,134, 16,130,245, 34, 65,  8, 65,158,107,148, 82,100,153, 36,207, 20,193,157,  3,102,  4, 89, 46,
+ 73, 19, 69,150, 69, 14,130, 53,158,209, 80, 19,130, 64, 72, 17, 71,102, 65, 60, 30,225,159,199,218,  7,235,217,159,149,125, 34,
+159, 96, 48, 25, 50,154, 76, 24, 77,198,140, 38, 99,146, 60, 69,167,  5,173,177,236,205, 86,204, 77, 96, 48, 28,130, 20, 72, 47,
+ 73,146,132,233,250,152, 52, 77,104, 27,195,236,116,193,219,239,191,203,255,246, 71, 95,231, 79,254,244, 13, 82, 20,235, 59,107,
+140,139,244,241,232,207, 67,175,118,117, 44,202,142,186, 49,148,165,161,169, 45,214,248, 72,197,235,237, 55, 39,173,231, 99,157,
+225,170,246,188, 25, 60,243,170,102,181,170, 89,149, 21,117,187, 36, 81,  9,243,213, 25, 15, 14,247,216,223,127,196,173,218,241,
+ 96,  1,126,123,196, 34, 75,176,207, 60, 75,158,150, 28,190,254,128,240, 65, 75, 56,171,184,251,157, 61, 62,243,133, 87,184,242,
+252, 46, 97,125,192,157,121, 69,125,122, 76, 97,106,222,185,117,159,  7,143, 30,242,245, 59, 15, 57,122,255, 30,215,240,252,123,
+ 47, 61, 67, 45,224, 31,191,243,128, 71,139, 57,111,207,106,158,219,216,228, 23, 63,243,113, 54, 94,125,158,181,235,187,220,244,
+130,123,247,238,240,193,131, 91,124,112,114, 76,131,103, 39, 31,240, 64,167, 44,218, 21, 50,209,188, 52, 93, 39, 77,115,106,107,
+248, 78,215,241,102, 82,176,157,101, 92,209,130,157,196,144,143, 51,198,211,  9,195,124,192,246,198,144,193, 48,101,161, 83,124,
+231,193, 25,102, 23,183, 25,232, 49, 74,122, 74,165,104,234,154,253,174, 99,229, 53,221,149,171, 28, 79, 47,210,118,115,120,120,
+ 16,131, 69, 92, 31, 22,226, 61,190,159,144,188,109, 91,218,106,201,205,182,228,255, 40, 87,124,103,105,113,243,  6,247,193, 28,
+127, 56,199,220, 93, 49, 95,149, 96,170,216,217,248, 14, 49, 63, 70, 78,214,216, 30,111,241, 59, 95,248,  4,191,252,169,151, 48,
+173,231, 96,126,204,219,251, 51, 62,184,247,128,123,103, 43,238,122,193,163,166,165,105, 44,214, 54,177,115,107, 27,108, 23,133,
+130,206,251, 88, 32,188,165, 92,173,216,107,  2,147, 84, 50,192,209,248,142, 11, 66, 82,123,143, 22,  2,235, 12, 83,211,178, 82,
+  9,109, 53,231, 65, 85,179, 10,129,174, 92,113, 58,171, 98, 55,142,138, 81,163,161,111,  8, 62,186,211, 54, 22,177, 92,192,124,
+ 14,179,121,108, 44, 22, 53, 98, 54, 67,156,157, 32,142, 79, 16,199,199,200,197,  2,121,186,128,197,130,185,109,153,153, 10,133,
+ 98,135,192,181, 52, 35,181, 22,209,182,248,206, 97,  8, 56,111, 73,149, 34, 17,138, 34, 73, 73,133, 66,121, 79,234,  3,206, 59,
+ 38,227,156,113,145,240,252,120,192, 11,107,  3,214,166,  5,227, 34, 97,222,  4,148,245,113, 59,233,253,227, 66,158,126,164,200,
+235,167, 58,122, 33, 68, 44,210,166,239,212,205, 83,227,119, 23, 67, 78, 68,136,157,186,112,253,  4,247, 60,184, 38,  8, 68, 87,
+ 65, 42, 17,109, 77,217,  6,246,219,134,147,186,101,148,234,200,205,234, 26,154,  0,141, 49,204,113,164, 33,208, 56, 67, 27,  2,
+166,107,113, 34,208,118, 53, 22, 79,101, 27,156,107,113,214, 96,189,197,184, 14,227, 13,101, 87, 81,217, 22,231, 58,246,218,138,
+131,122,198,  7,109,201,237,106,197,183,109,205,222,114,201, 55, 79, 87, 44, 92,199, 65, 89,115, 38,224,208,121, 78,172, 67,107,
+ 69, 89,150,168, 52,199,  6,139,113,158, 78,  9,150,141,195, 56,207,178, 50, 28, 25,199,153,241,140,173,101, 32, 28, 86, 40, 90,
+103, 81, 46,166,146, 90,239, 25,234,120, 65,203,164, 96, 36, 21, 75,239, 89, 90, 19, 15, 62, 68,160,152,148, 14,129, 66,182, 75,
+212,100,140,154, 45, 81, 89,138,182, 14, 53,202,145,117,137, 74, 52,170,142, 60,125,169, 51, 20,235,207,127,  9,219,119,234,231,
+230,131,208,  7,172,208,231,131, 43, 25,139,177,234,247,235, 42, 60,137, 88, 85,242,  9,159,252, 71, 89,192,164,  4,153,197, 93,
+118, 58,132, 98,128, 72, 83,  6,195, 28,145,164, 76, 82, 77,146,102, 40, 25,240,  1,114,173,145, 74,144,  9,176,166,163, 89, 53,
+204,106, 71,219, 25,206, 22, 37, 42,213,180,171,  6,176, 28,148,115,234,170,137,221,177, 13,177,112,203,190,115, 69, 64, 48,125,
+242,141,140,209,167, 73,127,191,125,136, 35,167,208, 31, 52,252,249,232,186, 39,196,157,123,224,127,220, 58,129,126, 77,145, 21,
+189, 50, 61,196,195,129,214, 79,146,215, 68,191, 14, 16,231,251,240,143,118,252,113, 70, 53,214, 30, 47, 21,218,129,246,113,188,
+123,190,122, 95, 35, 78, 70, 74,239, 25, 10,207,105,119,142,138,181,125,132,107, 95,118, 30, 47,181,206, 95,147, 94, 84,231,125,
+244,104,170, 62,207, 62,244,135, 55,255,231, 63,148,221,248,254, 13, 94,249,204,107,168, 76, 51, 46, 10,234,182,195, 89,199,114,
+ 49,103, 99,115, 74,158,198, 85,205, 48, 75, 98,200,139, 32, 10,224,132, 32, 81,  2, 27,  4,206,  6,130,140,170,101,173, 98, 24,
+ 74,146, 38,164, 89,138, 76, 52, 74,  9,130,  9,113, 56,212,196,200, 93, 99, 60,198,216,120,190, 10,158,217,178,163,174, 61,213,
+178, 67, 41,201,104, 24,139,119,146, 37,188,120,125,155,151, 46,111, 16, 84,138, 15,129, 68, 73,164,144,172,170, 21,243,147,  5,
+ 82, 10,100, 34, 56,124,116,192,247,110,188,195, 31,127,247,109,254,236,246, 45,190,242,246, 45,110,126,103, 15, 62,168,225,118,
+205,141,113,205,199, 47, 93, 98, 99,125, 68,170,162,187, 91,247,178,146,198, 56, 58,227,112, 30,154,198,210, 54,142,198,246,201,
+193, 90,146, 41, 77, 55, 84,124,122,163, 96,120,161,224,238, 32, 97,184, 53, 98,124,101,131,236,165, 75, 36,207, 93, 33,108,173,
+145,138,  1,251,167,167,188,251,206,  1,109, 17,120, 20, 18,214,150,150,236,194,148,  3, 37, 25, 60,127,157,171,215,183,121,246,
+ 51, 59,124,230, 87, 94,226,211,191,246,113, 78,148,229,238,193,  1,239,223,126,200,183, 30, 60, 68, 33,248,173,201, 38, 27, 94,
+240,207, 27,203,157,170, 65,234,140,201,197, 75,216,205, 41,199, 90,211, 77, 11,154,139, 91, 36,151, 47,113, 89,167, 20, 71, 21,
+223, 60,171,121,243,254, 41,239,221,186, 71,215, 89,178,245, 77,222, 42, 87,236, 47, 79,169,234,138,249,114,142,150,130, 85,158,
+ 83,213, 75,164,181,220, 48, 29,223,181,  6,165,  7,228,222,179, 46, 61,  3,215,210,106,201, 95, 26, 13,249, 43,211,117, 94, 82,
+ 18,167, 21, 42,151, 44,172,224,250,100,200, 56, 87, 84,197,132,  3, 18,142, 90,207,253,106, 73,105, 45,109, 91, 51, 89,219, 34,
+ 75,  4,114,178,201,194,204,  8, 71,199,208, 57,130,238,233,118, 66,224,165,161, 89, 54,188, 57, 95,242,237, 69,201,161, 83, 56,
+ 65, 20, 82,174, 41,252,105,212,231,167, 43,207, 79,229,154,191,184, 94,240,252, 98,197,205,186,  4, 28, 87,159,189,198,199, 71,
+  3,214, 18,205,223,122,235, 30,183,131,136,187,202,163, 57,193,119,120, 20, 94,107,156, 15,209,137,210, 69, 30,130,243,254, 49,
+201,207,  3,193, 69, 17, 21, 78,112,156,164, 92, 25, 42,118,131,199, 58,203, 24, 65,107, 58,134,  4,156,115,100,166, 97, 30, 60,
+167,222, 51, 63,155,115,186,168,232,218, 22,119,178,138,214,170, 44,229,213, 11,  5,255,246,165,117, 62, 62, 29,243,198,241,234,
+113,108,234,227,142,214,244,130,221,182,133,182,142, 28,143,208,  7,184,244,187,101, 89,199,  8, 95,121, 82, 34, 59, 67,233, 26,
+ 82, 37, 24,219,142,245,166, 66, 57,143,243,150,186, 45,  9, 50, 32,157, 39,149,  2, 45, 64, 11,141, 12, 30, 41, 37,133,146,108,
+ 38, 41,159, 24, 12, 25, 39,  9,211,108,192,122, 62, 96,146, 40,126,122,115,194,199,198,  3,214,181,224,200, 58,146,  0,169,247,
+164,125, 97, 79,250,219,211, 29,187,240, 81,148, 38,180, 64, 24,158,100,190, 59, 31,129, 55,206, 61,  1,210, 40,137,176,145, 61,
+ 32, 68, 28,249,147,104,132,141, 13,143, 16, 81, 84,214,117,158, 71,171, 14,105, 59,202,206, 50,  8,130,149,  8, 88,235, 56,117,
+142,  3,  1, 71,182,163,146,146,135, 85,201,137,112,172,154, 21, 51,239,104,218,150,189,174,193,155,134, 67,215, 98,141,161, 82,
+138,101,219,114,191, 46,185, 85, 46,248, 32, 56,190,113,186,226,131,206,112, 99, 94,243,192, 58, 26,231, 89,213,150, 86,  6,170,
+101,133, 79, 83, 26,239, 73,  8, 56, 41,169, 77, 71, 25,  4, 74, 40,142, 86, 13,235, 89,194,126,109, 40,155,134,182, 53,108,103,
+146, 19,103,216,148, 26, 97, 45,155, 74,209, 66,212,191, 16, 83, 30,231,206, 16,  2,212,214,113,185, 72,120,127,209, 64,211, 69,
+205, 53, 30,233,  4, 82,216,184,202, 59, 93,160,130, 64,167, 26,109, 12, 74, 43,116,  8,104, 23, 35,175,149,148,200, 85,133, 98,
+218,239,212,221, 57,253, 77,197, 66,224,252,147,  0, 17,210, 94,237,221,227, 93,117, 74,246,252, 69,214,175, 94, 64, 95,216,164,
+ 29, 15, 97,107, 19,  6, 99,184,120, 33,126,189,181,  9,147, 53, 24,140, 98,145, 77,147,136, 60,204, 18,228, 56, 35, 77, 18,100,
+112,140,117, 26,177,125,185,102, 58, 28, 49, 29, 23, 76,166, 41,174,181, 56,111, 32,120,188,132,106,181,192,244,172,220,163,211,
+ 25, 85, 83,114, 80,205,152,213, 21,198,  7, 66,119,190, 15,239, 85,225, 69, 10, 77,251,132,134,148,232, 88,212,181,142, 43,134,
+244,169,241,187,238, 59,247, 68,199,125,134,210,177,168, 43,249,227,167, 17,185,142, 43,  5,124, 20,212,233, 60, 22,246, 44,233,
+ 45,117, 34,138,239,206, 73, 76,173,123, 34,182,251,  8, 51,255,149,188,160,  8,176,239, 59, 46, 41,141,  2,150,253, 47,241, 88,
+  8, 18, 33, 72,165,164,240,240, 64, 75,130,  0, 90,251,228, 96, 96, 31,171, 84,122,111,190,232, 21, 27, 34, 78, 16,148,  2, 93,
+244,147,  8, 27, 31,223,191, 76,172,110, 34,217,183, 29, 47,189, 16,225, 22, 87,118, 54, 57, 91, 84,156, 29, 31,225,131,138,135,
+177, 60, 99, 88,100,212,181, 33,200, 88,212,109, 32, 90,209,164,192,123, 17,247,228,113,225, 69,162, 20,214,250, 30, 69, 31,199,
+219,182,207,137, 15,222,211, 57,135,107, 28,131, 97, 26,247,218, 65, 16, 28,228, 89,194,104,152, 51, 26, 23, 92,216, 25,179,181,
+ 49,224, 51, 47,237,240, 51,215, 54, 89, 53,134,251, 71, 75, 30, 62, 60,160,106, 58,190,249,230,247,185,127,116,196,239,127,239,
+ 29,254,236,143,223,226,235,223,187,193, 27,119, 30,112,255,222,156,178,181,180,231,118,205, 81, 30,133,136,135,  6,127,167, 38,
+127, 38,229,202,181, 93, 38,195,  2, 25,226,240,197, 19,207,141, 65,200,232,149,117,145,124,165,164, 68,101,154, 97,161, 25, 23,
+ 41, 27,121,194,239,189,183,207,215,111, 28, 49,187,121,196,217,173, 67, 56, 94,177, 60, 89,224,131, 35,153, 20,236, 92,219, 98,
+114,253, 42,255,249, 47,190,134,218,220,101, 49,157,160,101,224,167, 82,197,219, 69, 65, 54, 72,185,250,242, 46,249, 51, 23,144,
+ 23,183,185, 57,235,248,211, 15, 30,240,255,157,214,124, 93,140,120,127,178,203,175,188,250, 34, 47, 92,222,228, 52, 31,242, 72,
+228,108, 77,167, 60,251,201, 23,153,236,110,112, 40, 20,157,245, 12, 11,205, 32,207,120,118,152,241,153, 66,176, 88,214,124,251,
+100,193,221,166, 98,103,103,141,245,103, 47, 51,188,180,205, 88,143,120,189,236,184,175,167,188,176,181,205, 21, 41, 89, 10,193,
+119, 66,224,123,214,177, 39, 21, 73, 26,149,220,169, 20,180,213, 18, 99,106, 26, 23,248,205,233, 58,207, 12, 71, 92, 72, 50,238,
+217,142,  3,231, 24, 42,152, 52,150,141,249,138,105, 98,145,131,117,110,216,138,169, 74,233,108,135,242,142,253,147,  3,134,211,
+ 77,130,113, 44,101,130, 93,206,  8, 85,  5, 62, 16,186, 38,142,225,173,193,227,241, 66,226,250, 11,179,147, 26,145, 74,134,163,
+132, 38, 11,140, 22,129, 79,108,228,252,226,245,117, 62,183, 57,102,146, 37,172,117, 14,177, 90,241,126,115,198, 63, 95, 88, 78,
+207, 22,124, 99,190,136, 86,167,181,141,  8,183,240, 16,186, 50, 90,243, 44,120,215, 60, 41,228, 66,196, 46,253, 41,149, 63,196,
+ 97,165,235, 90,198,227,156,165,113,236,138,128,116,134,169,177, 52,174, 37,224,153,183, 45,117,107,168,173,101,182,108,168,170,
+ 22,233, 44,141,233, 16,198, 32,138,156,255,228,202, 22,191,188,115,129, 65,170,248, 86,219,208,204,234, 15, 77,205,196, 71, 35,
+ 85, 85, 44,228,231,  2, 52, 33,163,128, 86, 90,139,176, 29,162, 44, 17,199, 75, 14,143, 79, 57,105,102,236,132,142,177,237,232,
+154, 18,159, 38, 24,107,  8,109, 69, 22, 60,174, 51, 72,161, 48,222, 32,132,100,173, 24,179,158, 23, 12,178,130,141,124, 76,167,
+ 20,195,100,192,246,112,157, 11,105,193,115,195, 33,151,  7, 57,207, 72,205, 21,165, 41,148,228,106,158,179,150,165,124,122, 52,
+101,223, 91, 18, 33, 80, 61,131, 94,156,119,235,177,245,142,161, 72, 46, 10,173, 63,164,144,151, 18,153,196, 68, 68,233,125,252,
+218,121, 68,255,119,162,235, 34,202,214,185, 24,113,237, 61, 39, 93,199, 94,231,249, 32, 56,110,159, 54, 60,244,134,165, 20,124,
+208,118,220,110, 27,110,215, 45,247,188,225, 86,215,241,102,101,120,171,108,184,163,  2,183,156,225, 77,211,114,100, 44,111,152,
+142,  7,117,201, 91,182,227, 86, 91,243,118,109,120,163, 49,156, 25,203,204,122,218, 16,237,171,198, 56, 80,130,214, 70,203,173,
+ 49,  6,135,103,222,121,230, 62,142,241, 59,235,121,104, 12,153, 20,204,154,150,206, 90, 66, 99, 17,198,177,108, 60,151,  7,138,
+220, 88,174,103, 41, 82,  4,182,149,194,123,207, 26,208,244,152, 97,107, 61,169,128,101,221,225,125, 96,225, 44,194,199, 60, 18,
+  9, 40, 99, 81,157, 69, 21,154, 68, 41,116,213,162, 85,194, 21, 87,211,233,148,169,177,248,186,137,223,163, 20,250,  7,  9,113,
+221, 15, 94,208,117, 15, 71,144, 50,178,141, 95,185,196,245,205,109,154,206, 51,206, 83,234, 45,199,162,118, 28,214, 11,214,147,
+130, 36, 45, 40,155,134,253,178,138,251,219,164, 23,220,233, 39,251,248, 60, 21, 76,178, 20,130,195,132,142, 73,146,162,148,100,
+152, 11, 76,103,  8,170,163,177,142, 84,129,112,134,164, 72, 73,  4,180, 18,238, 29, 44, 34, 67,128, 64,189,234,240,222,199, 67,
+195,121,116,105, 63,198, 66,167, 79, 30,131,  1,114, 31,139, 91, 34,227,247, 75, 29,139,126,154,210,211, 81,158, 20,251, 85, 10,
+117,253,100,223,254,195, 62,170,  6, 54,198,125,225,238,159, 39,213,167,174,229,253,253,176,253, 33, 33,113, 31,166,237, 61,245,
+244, 18, 60, 95,175, 75, 62,145, 23, 92,215, 25,203, 16, 24, 11,193,179, 66, 62,246,  9, 19, 60,117, 15,140,185,228, 44, 15,206,
+ 87, 26,231,135,132,199, 63,183, 31,197,235,  2, 54, 55,226,255,189, 42,123,112, 77,143,158,173,254, 37,133,142,137,132, 32,185,
+251,149,239,114,243,133,231, 41, 62,247, 26,243,213,138,143,189,244, 12,207, 93,191,196, 91,111,222,226,240,209, 35,218,178, 35,
+207, 52,137,210,168, 10,  6,195,  4,103,  3,149, 51,100, 65, 70,217,130,146,228,121, 18,109,107, 62,110, 78, 91, 23,213,169,198,
+ 65,145, 73,140,240, 36,137, 70,117,158,144, 71,181,184,214,138,113,145, 80,202,  8,170,137, 23, 60, 65,219, 57,210, 68,243, 15,
+254,240,255,103,236,189,122, 44, 75,179,244,188,231,115,219, 30, 27, 54,125,102,121,215,213,102,218, 84,147,163,129,208, 50, 35,
+ 18,148,  4,112, 40,  8,188,162,  0,253,  2,233, 94, 16,248, 19,116, 33, 72,  0, 37,  8,208,141, 64,  2, 26,104, 64,129, 24, 81,
+131,230,104, 60,167, 77, 85, 23,171,170,203,102,101, 86,250, 12,115, 34,142,219,246, 51,186,248,118,102, 86,119, 87,207,116,  0,
+129,116,129,140,115, 78,236,179,215,183,214,122,223,231,253,128, 71, 39, 71, 76, 71, 83, 30,159,156,115,111,185,224,189,187, 71,
+168, 76,114,177,204,217,153,149, 44,214, 61,156, 14,207,125, 54,252,124,142, 91, 72, 21,201,190,198,238,229,248,191,163,224,110,
+199, 31,255,249,207,121,225,249,231,152,190, 85,176, 63,202, 49, 34,178, 21,148,210,104,229, 98,104, 71, 22, 16, 74,160,  4,104,
+163, 72,149, 68, 75,129,244,158,221,182,163,237,122, 78, 23, 39, 32, 21, 75,219, 99,235, 53,235,143, 54, 24,149,178,116,130, 43,
+223,125,145,231, 94,185,200,215, 38, 91,110,221, 60,229,202,209,154,107,103,154,174, 18,156, 94,154,242,200, 42,230,235,142,223,
+ 53,158,159,228,  9,122,182,195,235,105,201,205,180,224,197, 36,229, 63,157,106,236,170,226,167,199,143,113,101,193,229,209, 14,
+197, 60, 99,238, 45, 63,217, 70, 26,222,200,193,244,108, 77, 85,102,212, 57,180, 23, 74, 46, 79, 83,246,130,103,190, 51,230,162,
+150,124,250,193, 29,146,229,130,195,124,204,120,118,129,236,194,  8, 89, 55,184,237, 26,181,233,232,131, 39,164,130, 84, 41,232,
+ 29,143,117, 73,147,195,105,211, 48, 49,129, 44, 73, 16, 46, 16, 68,100, 46,116,  4,230,  8,246,139,132,139, 89,134,116, 61,119,
+ 78, 62,101,103,239, 50,231,222,227,148, 33,145,158,170,171,121,247,147,247,105,199, 59, 96, 12,242,229, 87,241,117, 13,139,199,
+120, 93,198,108,108, 41, 16, 85,141, 48,131,227,164,238,193,158, 99,117, 74,155,101,  8,  7,114,170,153,207, 19, 46,229, 41,115,
+147,160,  9,220,214,154,151,172,227,181,  7,199,188,189, 94,242, 39,155,171, 96, 70,  8,147, 32,144,112,227,121,152, 78,  9,119,
+238, 17, 54, 21,161, 89, 71,189,116, 15,193,200,167, 14,209, 95,  1,170,180, 29, 98,186,195,  6,152, 72,197, 18,129,219, 52,156,
+ 26, 25, 59, 87, 21,145,212, 77,213,227,250,142, 41,113,250,120,199,250,168,212,238, 44,178,106,121, 49, 73, 73,133, 66,234,132,
+209,104,194,249,100, 77, 88,213, 67,  2,223,175,129,189, 12,112,172,224, 60, 65,201,167,118, 66,  7, 56,107,177, 52,116,231, 13,
+ 31,173,207,248, 95,238, 60,230,251, 38,227,198,108,204,120, 62, 34,155,142,120, 46, 27, 83,181, 53,185, 74,232,251,150, 30, 79,
+146,231,160, 12,217,240, 61, 77, 90, 48,245, 30,235, 29,227,180, 32, 45, 39,216,205,217, 48,114, 15,136,113,193, 15, 66, 32, 67,
+ 80,  8,197,186,107,120,171,157,114,212, 52,188,183, 92,242,110,221,162,250, 14,101, 45,194,254, 82,222,251,151, 14, 72, 79,  1,
+156,157,125,154,  1, 47,158,208, 63, 59,139,120,146, 11, 31, 60, 33,209,241,121,246,131, 32,174,247,172,155, 26, 13, 84,149,228,
+241,195, 21,186,200,208, 50,  6, 45, 41, 41,144,168,152,  1,159, 70, 71,147, 16, 17, 61, 13,110,216,178,134,  1,  1,237,241, 77,
+143,183, 30, 55,220,175, 92, 18, 35, 91,179,210,208,  5, 71,130,100, 21, 98, 79, 22,128,160,  4,222,246,172,147,  4,223, 58,  8,
+ 29, 75, 25, 87,216, 50,145,144,106,194,166, 67,164,138,157,214,242, 66,106,208,125,203,142,202, 16,222, 71,200,216,112,235, 47,
+132, 36,211,112,180,106, 16,193,115, 57, 87,220,173, 19, 68, 84,101, 32,123,144, 74,163,140, 68,123,152,102,130,203, 74,243,237,
+ 82,209, 88,199,117,111,105, 83,201, 81,102,184,185,174,185,189,110, 81,140,174,253,211,191, 85,181,174,  6, 96, 74,  8,112,237,
+128,231,246,102,180, 54,176, 91,150,228,166, 36, 51, 25,123,229,132, 76,104,114, 19, 57,189,163,212,144,200, 64, 97,  4,171,110,
+216,121, 11, 65, 98,146,184, 71, 21,130, 34, 49,104,  9, 55,118,118, 48,105, 74,162,  2, 93,215, 83,164,146, 92, 43,166,165,198,
+216, 64,179,109, 25, 25, 65,187,172, 88,111,207, 73,180,102, 81,109,185,119,118,134,237, 61,146,200,227,133, 39,161, 32, 67,241,
+106,219, 33, 18,181,137,197, 45, 77, 24, 84, 80,207, 70,237,121, 22,191,134,161, 83,183,253,112,120, 81, 80, 87,241, 74,251,155,
+198,240,194, 67, 57,138,190,171, 50,139, 69, 60, 77,  6,117,123, 22,197,135,102, 80,199,123, 23,213,158, 95, 86,156, 63, 25,251,
+ 59,207,117,173,240, 66,178, 12,129,145, 15, 84,  2, 82, 33,162, 94, 81, 64, 41,  4,159,217,150, 92, 73, 54, 82, 70, 92, 42,  3,
+100,199,250, 95,180,184,205,119,153, 92, 60,164, 28,141,169,165,142, 83, 11, 61,232,225,131,143, 73,115, 90, 71,135,192, 47, 24,
+ 82,252,175, 30,234,228, 83, 63, 10, 31,254,236, 67, 94,255,230,155, 36, 89,202, 98, 91, 49, 46, 50,186, 16, 80,105, 66,181, 90,
+ 35,179,148,253,157, 49,227, 60, 65, 34,152, 36,  2,173, 37,163, 68, 81, 91,143,148,112, 48, 54,113,191, 45,  5, 10, 65,110, 52,
+ 58,213,200,129, 62, 55, 78,163, 32, 46,114,155, 21,125,231,168,182,150,117,211,177,222,118,212, 85,199,182,234,168,250,158,122,
+211,211, 11,207,189, 59,199,252,139,191,126,155,101,181,166, 76, 13, 82, 64, 19, 98,218,215, 40, 51, 84, 46,208,235, 64, 48,192,
+202, 69, 49,100, 42,163,  8,244,118, 27, 51,143, 39, 17, 88, 65, 42,224,221,138, 59,101,197,139, 87,174,112, 97,103,196, 36, 79,
+227,132, 32, 49,164, 70,162,  7, 26, 34, 34,196,188,119,249,196,109,232,217, 54, 29,171,166, 37, 49, 16,188,164,107,123,200, 83,
+244,197, 93, 46,124,239, 53,190,113,117,151,127,244,141, 27,220,187, 48,231,115, 41,233,203,148,139, 23,167,124,195,247,124,235,
+213, 67,174, 78,225, 38, 41,123, 99,205,181, 89,193,238,106,197, 79,110, 63, 70, 20, 35, 94,191,177,195, 27, 99, 77, 18,122, 14,
+131,229,110,232,184,103, 52,243,249,152,221,197,134,211,211, 37,201, 39,119,169,174, 92, 68,118,142, 63,255,171,183,249,248,143,
+127,136, 93,181,220,125,120,196,173,  7,247,249,224,103,239,115,243,237,119,184,113,225, 58,203,109,207,103,143,239,243,211,155,
+ 55, 41,109,199,165,249, 30, 19,163,113,137,198,104, 67, 90,102,116, 94,160,205, 96,121, 37,144,116, 53,127,184,173, 57,205, 39,
+ 60,144, 57,191,111,  5, 63, 72, 20,183,109,203,187,109,203, 81, 93, 49,174, 59,246,132, 98, 90, 24,102,227,  9,135,105, 70, 38,
+ 37, 69, 89,210,  7,197, 44, 79, 57, 24, 21,232,190,227,130, 16,248, 36,103,163, 50,152,149,132,211, 37,228,134, 16, 20,  1,133,
+ 23,150, 32, 19,188, 84,241,179,111,162,  0,108, 91, 19,132, 96,156, 37,236,149,154,203,133,225,165, 81,206,149,157, 25,175,205,
+114, 38, 46,176,168, 90, 94, 15,144,159,159,243,197,250, 28, 49,153,198,131,130, 50,  8,149,192,222, 30,228, 41,225,172,138,185,
+225, 10,188,139,200,226, 32, 69,108, 24,190,252,118,207,198, 48, 74, 56, 13,138, 60,151,180,109,143, 87,154,186,106,113, 74,209,
+247, 14,217,117,132,174,167,116,129,189,214, 33,109, 64, 90,199,194,134,104, 25,235, 45,251, 99,133, 73, 19,254,109,183,229,199,
+173,139,158,228, 22,  4, 81,161, 46,126,185, 75,127, 34,149, 25,108,159, 66,240,180, 91,127, 10,144,241, 50,110,251,250,158,202,
+121,110,182, 13,239,156,158,242,163,227, 51,206,214, 21,174,217,210,119, 61,133, 18,145,251, 32,  5, 86,104,172,209, 88,165,145,
+ 69, 70,151,165,104,147,146,100, 25, 34,196, 52,179, 92, 70, 63, 56,222, 51, 53,138, 84,  4,174,148, 35,198,202,112, 99,103,159,
+203,163,  9,151,203,140,189, 36,101,207,104,238, 12,  9,213,191,124,223,252, 21,223,187,247, 40,239,145, 90,199,209,177,181,113,
+179,107,237, 32,184,211,207,244,  7,246, 73,138,167,  4, 27,179, 38,188,235,241,189,197,225,113,193, 98,117, 66, 31,160,239, 28,
+189,209,116, 70,210, 41, 73, 43, 36, 45,208, 10, 65, 27,  2,173, 20,180, 66,208, 13,177,207,164,134, 38,209, 72,161,216,155,141,
+120,177, 76,121,109, 90,114,163, 24,113,161, 72,121, 62, 49, 92,202, 52,107,  2, 85,158,209, 11, 65, 72,211,232,212, 73,212, 83,
+203,119, 16,146, 96,163,125, 13,  9,175, 39,130,111,102,134,239, 22,  5, 19,  2,135, 70, 49,150,177,246,109,189,139,  1,166, 33,
+208,244, 49, 18, 90,133,192,219,155,154,182, 11,  8,173, 80, 34, 68, 87,145,144,131,240, 56,225,239,150, 25,111, 77, 71,188, 84,
+ 22, 92, 25,143,120,121, 50,198, 40,197,203,105,198,141,209,136, 61,205,111, 80,212, 97,216,207, 70, 66,154, 60,152,112, 48, 42,
+216, 47, 39,140,211, 49, 62,  8,198,249,  8,163, 83,138, 36, 35, 53, 38, 78,122,197,147,221,143,167,204, 83,150, 85,  3, 74,162,
+130, 68, 42, 65,161, 12, 33,120,118,202, 41,147, 84, 50,155,151, 72, 41, 40,210,140,124,148, 50, 77, 21, 35,163,112,189, 67,186,
+150,126, 93,209, 53, 91,164, 20,124,177,120,200,  7,247,143,105,123, 79,158, 40, 90, 47,152, 10,141, 16,129,174,139, 30,200,129,
+134,  2,205,102,200,132,  7,178, 44,238,209,211,129,150, 39,134,142, 29, 49, 16,226,  6,168,140, 28,188,238,189,143,  7,131,191,
+201,246,165,242,216,253,143,179,120,241,165,102, 40,174,122,200, 86,215,131, 95,125, 80,122,118,245,175,134,227,248,200,  5,120,
+ 48,116,232,151,141, 97, 19,  2,115, 21, 59,245, 38,196, 92,241,147, 65,184, 83,  9, 72,125, 96, 43,158,224, 94, 19,184,254, 18,
+ 47,191,249, 38,167, 42,135,147, 71,112,184,199,165,217,156,217,168,164, 15,208, 46,206,226,129,198,185,103,143,231, 43,  7, 16,
+191, 92,216,  7, 85,253,151, 62,126,252,103, 63,226,187, 63,248, 62,147,162, 96, 83,215, 40,  4,245,166, 97,178,183,131, 86,130,
+182,245,  4,  9,227, 60, 29,242,135, 21,137, 86, 76, 75,195,180, 72, 16, 42,210,232, 38,153, 33, 47, 12,121,166, 40,141,102,148,
+ 27,132, 20,180,189,101, 83,117,108, 58,203,102,221,178,218,182,  8,  5,171,243, 58, 90,221,240, 52,181, 37, 77, 12, 89,153,160,
+130,228,202,181, 61,250,147,115,238,172,215, 40,  4,153, 74, 81,210,179,238, 28,151, 71, 19,118,210, 52,102,237,120,112, 89,128,
+179, 97,194,177,147,194,238, 48,201,209,146,189,195, 49,227, 89,193,246,106, 66,213,195,190, 73,120,225,218,  5,102, 99, 67, 38,
+ 20,153, 20,  3, 82, 51, 12,111,228,104,163, 43,148, 33, 81, 10, 23, 60, 54,120,210,204,176, 62,107,216,214,142,157,111,223,224,
+218,215,175,177,127,105, 14, 58,190, 39,166, 77,197,159,254,228, 22,159,255,213,207,249,248, 47,223,225,248,222,154,247, 22, 21,
+ 63,215,130,203,227,140, 68, 38,164,101, 74, 97, 36, 63, 50, 41,226,234, 62, 85,106, 56,111,123,194, 78,193, 52, 75,152, 20, 25,
+ 63,157,143,153, 94,222, 99,190, 59, 69, 63,127,129,249,124,204, 97,154,226, 38, 99, 38,133,225,218,115, 87,249, 87,255,253,191,
+224,163,243,  5,159, 62,122,200, 71, 15,143, 17,244,124,243,213,215,249,237,239,191,206, 15,255,232, 79,248,131, 63,250,107,142,
+178,148,111, 93,188,200, 56, 53,145, 98, 38, 66, 28, 15,  6, 65, 39,  5, 93,239, 48,196,244, 67,213,215, 60,239, 27, 86,199,143,
+ 88, 59,139, 67,241,105, 91,243,133,150,116,206, 82,216,158, 73,223,179, 63, 74,217, 25, 79,152, 76,118, 33,201, 41,243,  9,169,
+201,152,236,237,144,142,199,120,149,112,189,200,185,161,224, 34,158, 68,104, 30,202,  4, 70, 41, 88, 75,240,142, 96, 99,148,101,
+ 72,  4,193,197,227, 58, 58,118,212, 96, 17, 30,236, 36,103,150, 39, 28, 22,134,215,198,  5,123,123, 23,201, 76, 70, 17,122,222,
+127,112, 70,102, 52,123,  2, 62, 87,146,190, 48, 72,169, 17, 89,142, 50, 41,255,236,183,222, 64, 36, 25, 31,105,  8,199, 43,130,
+239,  9, 82, 16,188,136, 30, 20,239,127, 33,214, 65,168,  4, 89,230,200,222, 51, 54,146,171, 69, 22,199,241,105, 74,225, 29, 59,
+ 62,112, 24,  2,  7, 65,114, 73, 66,230,224,170,150,132,222, 49, 21,158,199, 54,102,181,191,183,220,242,163,170,229,125,  7, 34,
+213,177,128, 21, 58,138,202,172,125, 86,216, 77, 20,147,137, 16,190, 52,118, 39,142,179,135, 80, 25,225,191,  4,120, 29,238, 43,
+193,199,199,238,  1,239, 29,143,183, 91,126,118,190, 38,177,142, 69,240, 44,130,227, 24,143, 51,134, 86,198,174,182,241, 30,153,
+ 36, 60, 82,154,218,195, 56, 77, 24,235, 40,236, 19,125, 75, 46, 21,173,107,185,144,100,228, 38,101,119,114,136, 81, 25,249,120,
+151, 66,231, 28,148, 25,187, 90,115, 37,207,240, 90,241,104, 48,109,135, 39, 22,105, 41, 17,169,137, 99,119,173, 80, 90, 33,141,
+ 65,105, 25,247,241, 66, 60, 45,246, 79, 70,242,226,233,  4,114,104, 58,188, 37,104, 25,101, 65, 82, 18,178,  2,143,198,151, 37,
+ 46, 79,112, 69,129,157,230,244,169,166,147,146, 62, 77,232,148,164, 11,146, 54, 81,116, 73, 74,151, 37,244, 66,208, 43,197,104,
+148,225,132, 97,103, 92, 48,202, 50, 94,152,140,248,157,189,107, 92,204,166,236,155,130,171,197, 52,122,219,149, 98,148, 72, 54,
+ 94, 96,211,140,198,187,120,157, 56, 23, 11,185,134, 50, 68, 66,120,231, 61,169,119,124,179, 72,121, 77, 43,130, 12, 40, 36,107,
+235, 40,140, 70, 15, 89, 23,181, 15,116,222, 13, 98, 76,207,113,219, 35,145,156,216, 88,240, 37, 10, 41, 37, 90, 40,166,163,156,
+255, 48, 79,249,222,222,152, 27,163, 17,211, 34,225,181,157,125,188,209,236, 23, 99,146,180, 32, 75, 50,114,165,127,195,162,254,
+164,  0,121, 79,152, 22, 60,183,183, 23, 71, 73,104, 82,173,209, 74, 99,135, 19,164,150, 42, 50,243,  7,  4,236,186,174,216,218,
+142,109, 31,103, 23,233,144,187, 29,132, 32,145,  2, 47,  3,123,163, 17,121,150,147,164,  9,229, 40, 65,248,192, 72, 75,186,243,
+  6,183,173,161,105, 57, 95, 46,200, 36, 52, 77,195,166, 90,113,127,211, 48, 75, 19, 42,239, 81,  1,186, 68,211,122, 71,110,210,
+ 56, 49,239,186,161,168, 15, 88, 91,105,134,116,180, 33,192,123, 92, 60, 91, 11, 60, 41,240,114,128,210, 40, 13, 93, 59, 92, 68,
+253, 51,165,250, 87,137,  0,133,135,180,128,100, 16,225,101,201, 64,205, 35, 38,190, 37,195,247,237,186, 56,154,183,225,233,126,
+232, 87,242,218,137, 72, 88, 27, 28,115,109, 56,119,158,141, 16, 20, 64, 13,172,  0, 25,  2, 33,  4,214, 18,148,144,244,  2,216,
+ 63,228,191,254,251, 63,224,239,255,206, 55,248,222,107,111,240,231,103, 27, 66,219,242,226,229,171, 92,158, 95,160,245, 13,139,
+135, 71, 67, 92,236,128,173,125,178,143,215, 67, 13,215, 95,174,229,254, 23, 59,117, 63, 28,236,190,244,241,246,241, 25,223,120,
+233,  5,202,113,198,122, 93,211,213, 45,213,102,205,106,177,  6, 33,169,155,158,170,119, 88, 11,163,210,196,236,100,163, 49,198,
+ 32,181,198, 72,133,  8,106,176,133,121, 26,231, 88,183,150, 77,107,169,234,158,186,141,  2,146,174,181,209, 74,102, 61, 42,149,
+184, 62, 16,108, 76, 24, 83, 82, 81,164,  9,227, 34, 97,148, 27, 94,122,245,  6,219,163, 13,125,223,113,107,121,142,237, 29,199,
+203, 45, 15,183, 21, 82, 10, 30, 85, 13,253,186, 97,200,187,  4, 35, 72, 15,114,174, 29, 78,152, 21,138, 67,142,  0,  0, 32,  0,
+ 73, 68, 65, 84, 31,150,236, 79, 11,140,132,157, 60,231,165,157, 67,190,123,237, 37, 70,249,132, 44,215, 92,156, 23,  4,225, 81,
+ 33, 80,119,150,213,182,167,243, 30, 45, 96,150, 27, 46, 79, 51,118,139,132, 84,203, 33, 69, 44,161, 40, 19,150, 77,199,213,231,
+ 15, 57, 62,223,242,240,223,221,225,214,159,191,207, 31,254,240,207,249,231,255,247, 95,241, 71,255,211, 79,121,255,147, 47,248,
+232,100, 65,187, 61,162, 93, 45,248,235, 31,255,140, 31,253,228, 61,118, 95,121,147, 99,165, 88,164,154,147, 91, 71,124,240,255,
+252, 25,205,186,230,209,221, 71,144,100,236, 94,156,177,127, 80,240,199,143,106, 92, 22, 35, 84,123,239, 49,206,161,246,103,232,
+193, 50,179, 62,171,249, 81,117,151,160, 20,173,209,124,251,210,132,215,111,188,194,119,222,250, 58,231,219, 13,255,195, 95,188,
+141,223,223, 33,228, 57, 50, 40, 46, 22, 41,120, 71,237,  2,  5,130,  7,231,167,156,110, 27, 84,232,105,186, 22, 25, 28,216,150,
+ 18,205,101,  9,163,234,140,251,206,242,184,119,220, 10,146, 92,198,110,233, 85, 35,249,123,  7,151, 25,151, 51, 72,115,102,211,
+ 25,203,196,224,141,198,148, 35,188,210,140,178, 20,227, 35,192, 72, 43,208, 72,166, 74,115,150, 20,136,114,132,175, 55,241,144,
+140, 32,108,155, 56,114, 14,  1,130,138, 17,201, 62,110,192, 93,112,228,211, 17,137, 18, 92, 20,129,185,  4,223,119,124,246,197,
+ 99,254,223,247, 79,152, 20, 10, 45,  5,255,237,215,223,224, 13,  2, 47,159, 31,113,124,112,133,255,238,197, 75,124,239,219, 47,
+241, 82, 81,242,197,217,154, 59, 71,199,248,229, 54,202, 78,132,199,247,207,220, 33, 79,174,254, 39, 52, 55,105, 61,109,237, 57,
+176,142, 73,170, 56, 72, 19, 46,  5,197,190,148,209,175, 46,  5,161,243, 92, 78, 13,157,130, 44, 77, 17,157,229,139, 44, 39,232,
+ 12, 89, 85,216,222, 34,108,204, 24, 16,105,130, 20, 32, 50,131,108,101,180,146, 89,144, 34,196,174,245, 73,183, 62, 20,115, 49,
+ 88, 85,159,250,188,127,137,215, 30,158, 82,255, 52, 46,254,111, 56,  9,159, 52,150,159,214, 53,183,132,228, 76, 72,154, 68, 18,
+164,160,149,154, 38, 73,249,184,169, 57,114,158, 50, 77,201, 16,104,231, 49,193,227,250,150,190,175,208,  4,198, 58,229, 96,122,
+137,164,152,147, 77, 14,209,217,132, 68, 23,104, 85, 48, 74, 83,114, 25,176,137, 36, 45, 18,250,178,164, 10, 10,100,202,116,154,
+209,146, 96,138, 34, 90,152,103, 83, 52,154,201,206,  4, 47, 18,246,230, 99, 58,157,163, 70,211,136,253, 72,199,  8, 51,  4,129,
+ 25,160,200, 65,103,132, 44, 33,148, 35,194,116, 70,152,141,  9, 23, 15,152,204, 39,136, 34, 71,229, 41,110, 84,210,102, 57, 86,
+107,250,124, 68, 95,148,116, 73, 66,159, 23,244, 73, 14, 38,101, 60,158, 49,205,243,120,200, 28,141, 24,229, 83,110,236,204,121,
+181,220, 99, 87,103, 28,100,  5, 19,101,200, 84,130,  0,234, 16,187,231,181, 12,220,105,162,246, 34, 12,247, 98, 37,  5,116,150,
+ 61,169,227, 33,223,122,174, 26,216,241,158,107,153, 38, 21,160,137,133, 93,  6,168,137, 49,212, 50,  8, 30,247,150,142,168, 41,
+ 90,224,185,211,247,180, 94, 34,117, 64, 50,116,233,198,240, 15,166, 25,223,223, 25,147, 37,154, 75,101,198, 52,207,  9,  2, 70,
+163, 29,116, 86, 98,178, 49, 82, 39,236, 77,102,191, 97, 81, 31,144,127,136,  4,150, 21,199,169,225,185,221, 61,188, 15,164, 73,
+142, 36,112,190,222,146,153,  4, 31, 60, 18,168,187,134,109,215,224, 67, 96,209,212, 32, 60,174,247,244, 77, 71, 63,228,210, 86,
+  3,102,212,  9,197,245,221, 41, 69,153,162,131,163,175, 26, 66,223, 96,143, 55,172,207,207, 89, 86, 43, 74, 36,167,182,  5,219,
+ 80, 87, 53,181, 13,212, 66,224,172, 69, 26,131, 71,160,  6, 81, 90,245, 36,146,117,181, 29, 80,170, 79,246,250, 14, 76, 10,179,
+114,200,251, 13,177,224, 38,146,194, 24,250, 16, 67, 85,250,224,227,223, 75,224,100,245, 12, 55,251,203,133,216,251, 33,212, 37,
+141,144,246,100,240,185,167,195,225,225,201, 76,150, 65, 60,183,173,227,191,  7,251,213, 48, 26, 33, 56,  7, 14,181, 98,229, 29,
+ 86,  4, 10,169, 88, 56, 79, 39,  5, 91,215,145, 41, 67, 67,192,136,136,120,172, 58,  5, 23,198,252,147,127,240, 59,140,178,130,
+113,105, 56, 59,237, 41,199, 37,191,251,189,239,243,234, 75,135,140,165,226,157, 15, 62,136, 35,120,223, 15, 62,209, 65, 45,111,
+109,124,156,246, 75,190, 20, 63, 16,246,212, 19,225,160,248, 21,199,169,187,255,152,227, 80,243,252,181,171,140,198, 25,213,182,
+102,189, 58,199, 89,203,226,232,152,114, 50, 99,113,180,164,235,  3,143,207, 43,156, 84,209,154, 38,163,154,188,183,241,162,109,
+122, 71,213, 89,186,222, 71,208,140,136,129, 42,125, 23,255, 44, 85, 28,223, 11, 41, 81, 66, 70, 76,112, 18,133,132,206,121,172,
+  8,120, 27, 56, 59,175, 25, 21,154,114, 52,230,230,157,187,124,124,255, 12, 43, 61, 87,230, 19,206,207,106, 42,233,217, 43, 12,
+ 86, 43,156, 13,144,107,152,100, 76,203,148,121,106,216, 73,115, 70,105, 78,153,102,104, 17, 29, 24,227,209,140, 36, 41, 88,157,
+ 55,236, 29,230, 20,169,166,178,142,214,  5,214,141,197, 57, 75, 38,  4,243,194, 48,203, 52,153, 86,116,214,209,244, 30,169, 37,
+222,  7,150,171,138,147,187,231, 60,120,255, 38, 15, 63,253,148,197,250, 12,156,229,235,175,191,194,254,171, 25,159,157, 44,162,
+135, 54, 83, 60,191, 59,  6,224,222,201,150, 63,253,232, 35,178,215,191,142, 74, 21,221,182,225,237,255,237, 15,120,240,224, 14,
+ 15,190,184,199,163,163,199,236, 95,185,140, 29,101,248, 47,238,242,127,252,203, 31,178, 56,110,233,122,168,148, 98,161,  5,251,
+ 72,234,222, 33, 47, 77,248,247,127,240, 61,254,189,255,248,183,121,235,173,111,240,131,139, 87,185,171, 39, 28,125,248,115,254,
+244,131,207, 57,214,138,214,  7,130, 82,212, 68,160,206,197, 44, 33, 39,176, 94,173, 88,172, 23,116,237, 26,108,135, 20, 80,109,
+150,140,178, 17,179,201, 46, 23,139, 25, 55, 38,123, 60,167, 28,157, 80,156,214, 53,243,209,132, 81, 94,240, 79,118,247,121,225,
+240,  2,153, 73,176,105,129, 79, 18, 86, 89, 70, 87,148, 88, 99, 40,115, 51, 76,112, 12, 99, 35, 41,133, 36, 81,158, 44, 81, 36,
+102, 12,197,136,229,100, 10,213, 34, 30,146,141,132,109,  3, 73, 70,112,245,112,232,126,  6,198, 58,239, 90,238,  8,131, 21,146,
+227,147, 37, 71, 39, 43,254,232,139,  5,127,178,108,216,109, 45, 59, 66,208, 28,157, 48,109,107, 46,  4,201,155,205,130,242,120,
+193,230,243, 71,252,228,189,119,121,240,248, 46,155,198,178,233, 33,116,158,176,117,132, 85,207, 19,127,169,208,209,154, 37,123,
+141, 68, 32,203,146,209,225, 14,106, 54, 98,111, 58, 34,241,129,203,  4,114, 23,200,165, 34, 13,158, 84, 27,122,239,  9, 82,146,
+ 88, 79,146, 38,140,172,231,174,245,200,209,  8, 89, 53,113, 52,223,244,168, 68, 33,147,  4, 25, 52, 50, 85,200, 36, 71,160,227,
+ 40, 90, 12,120, 16,231,159, 65, 93,134,110, 93,252,210, 61,233, 87,139,186,140,137,103, 90,225,180,196,  5,112,194,115,190,108,
+248,162, 15, 28, 97,217,104,184,217, 87, 28,185,142, 19,109,232,156,165,212,134,194, 58,186,182,163,111, 43,182, 93,141,243,113,
+ 20,126,169,152, 80,230,115,178,201, 46, 58,203, 80, 38, 31,250, 18,133, 80, 26,215,111,163,115, 33, 85,204,138,148,157,210, 48,
+205, 52,179, 34,101,119,158,179,208,134, 23,230, 37,123,153,226,187,251, 51, 94,204, 50,190,115, 56,231, 98, 89,240,214,165, 61,
+ 94,223, 41,121, 99,127,135, 11,147,168,103, 57,151,  9, 54,207, 98,198,249,116, 68, 24,151, 48, 41, 32, 47,  9,179, 17,255,249,
+225, 62, 95, 27, 79,248,209,239,255, 27, 92,170,249,135, 47,191,202,231,206, 82, 37, 25, 78, 42,172, 49,184,124,140, 72,114,118,
+ 76,202, 44, 43,153,167, 25,227,180,160,212,  9,121,154,147,231,134,125,157,113, 61, 45,153, 61,109, 84, 29,141,119,148, 58, 69,
+ 73,201, 73, 87, 83,  7, 71, 23,224,220,197, 41, 93,112, 81, 37,176, 47,  5, 91,231,226,161,211,122,174,164,146,151,181,100,162,
+ 53, 77,231, 80, 18,180, 16,180,222, 51, 23,113, 81,124,106,123,142,156,167,  7,206,122,135,211,134,  5,129,166,143,150, 64, 53,
+ 76, 51,190, 63, 75,121, 37, 79,184,150,231,100, 90, 49, 75, 51,210,164, 32,207, 71,244, 82, 67, 26, 83, 67, 71,249,136,206,100,
+191, 97, 81, 79, 74,200, 39, 48, 25, 67, 94,224,140,102,213,117,148, 73,194,209,118, 27,177,126, 74,209,217, 14, 27, 58, 92,112,
+  4, 33, 88,247, 91,206,170,138, 85,223,209,109,122, 88, 14,163,231,222, 15, 10, 87, 79,221,118, 60,222, 86,164,210, 97,108,199,
+227, 71,143, 25,245, 91,206,110,222,226,248,225, 61,170,237,134,164,107,233, 19, 77,127,126, 66,221,247,116, 85,135, 48,138,179,
+222,211, 43,205,198,  7,186,  1,212,223,  9, 73,174,117,  4,104, 56,192,110, 33,203, 99,202, 28, 33,142,170,181,138,167,190, 52,
+254,176,140, 16, 52, 46, 48, 49,154, 78,  4,114, 33, 99,252,251,166,141, 29, 93, 87, 71, 77,192,175, 43,236,195, 69, 77,145, 70,
+ 98, 93,211, 61,227,220, 19, 24,178,  4, 97, 84,192,114, 29, 59,245,175,234,252,  7,117,206,227, 16,168,165,100, 44, 20,139, 39,
+240,194, 16,152,232,132, 51,107, 73,129,199,192,152,192,170, 11,160, 53,175,223,184,194,206,180,228,147, 91, 11,126,252,225,135,
+124,253,133, 55,249,238,215, 46, 51,202, 51, 28, 29,127,246,215, 31,196,239,221, 91,144,238, 89,138,222,151, 11,186,181,177,160,
+155, 47, 57, 29,158, 78, 50,  6,203,158, 29, 14, 76,244, 44, 62,189,203, 66, 90, 94,126,233,121,102,187, 99, 64, 99,109, 79,221,
+108,184,119,255, 30, 88,135,109, 61,203,229,150,243, 85,195,233,121,195,218,122,172,141,190, 89,231,163,195,194,135,128,145,177,
+  8, 10,169,201,180,196,203,216,157, 40, 35, 16, 66, 34,165, 36,205, 53,133,137,130,196,182,237,233,157,195, 59,135,240,129, 64,
+ 32, 47, 82,138, 60,165,171, 60,125,191, 98, 99, 61,  7, 69,201,238, 36, 99, 55,207,152,100,  5,175,236, 31,242,218,213, 43,188,
+121,237, 26,175, 93,188,204, 97, 57, 66,  4, 79,166, 19, 38,217,148,131,209, 62,179,241, 30, 69, 54,102,182, 51, 39, 73, 36,105,
+154,113,176, 59, 97,111,162, 88,111, 45, 39,171,150,186,235,169, 91, 75,221, 91,172,139,  0,139,101,221,115, 92,117,  3,  9,174,
+103,185,109,208, 82,112,113, 86,240,209,199,183,233,250,142, 16,  4, 35,109,184,183, 60, 33, 79, 51, 14, 14, 71, 60,114, 29,155,
+ 91, 43, 62,187,189,224,161,119,120, 35,232,110,159,209,126,251,155, 92, 26,101,236, 28,140, 56,249,236, 19,148,239, 57,216, 27,
+ 65, 87,113,231,193, 49,207,141,103,188, 46, 60,147, 44,229, 95,253,243, 31,242,243,191,124,155,183, 63,250, 16,125, 86, 99,179,
+ 25,166,245,140,171,134, 31,254,233, 59,236, 23,134,145,150, 20,179, 17,238,227, 79,241, 67,222, 64,109,  3,199,206,226, 69, 64,
+170, 56,169, 58,175, 26, 90, 91,113,220,108, 57,107, 43,130,119,232, 32,144,193, 33,138, 49,105,146,241,234,124,143,121, 81, 34,
+ 19, 67, 62,158,115, 56, 46,185, 50,157,242, 87, 31,188,199,215, 14, 46, 51, 25,229, 92, 48, 57,107,161,168, 68, 32, 76,198, 52,
+243, 49,173, 16, 84, 38, 35,205, 13, 65, 41, 14,159, 16, 32, 59, 75,131, 64,107,195, 74, 40,242,217,156,231,167,187,124, 97, 74,
+168,150,132, 60,137,211,182,103,180,249,248, 62,214,106,  0,154, 88,108, 23,184,237, 61, 39,157,227,167, 85,199, 23,210,115, 41,
+ 79,184,150,104,174,171,136,236,157, 27,141, 14,150,169,131,169,183,204, 17,220,208, 57, 47,107,133, 10,150,119,122, 31,133, 84,
+101, 70,152,150,188,240,252, 14,103, 58,143,108,141, 81,142, 24,101,177, 32,239,207,201,247,118,184,182,127,153,217,236,128,249,
+116,159, 92,107, 70,193,146,185,192, 54, 56,140,146, 36, 73, 74, 34,  6,199,128,128,233,222,140,217,188,228, 40,205, 81, 23,247,
+163,202,185,239, 81,235, 10, 57, 88, 48,149, 78, 80,169, 70,149, 41, 50,201, 72, 38, 99,176, 49, 66, 86,120,135,124, 50,138, 15,
+  1,225, 37,226, 75,147,181,240, 43,133, 93,226,181,138, 68,104,173,113, 42, 90,245,172,244,184,174,230,188,246,124,190,173,169,
+145,156, 40, 88,245, 14,163, 18,232, 43,166, 72, 82,235, 88, 85, 11,100,176, 84,206,145,  4,199,133,108, 74, 49,222,197, 36, 57,
+114,176, 31,203,201, 24,130, 36,244, 29, 65,  6, 26,122, 58,165,176, 18,210, 36,193, 72, 73,145, 37, 36, 70,147,103,134,151,139,
+140,239,141, 74, 94,204, 83,158,159, 76, 25, 39, 57,175, 76,103, 76, 76,193,149,162,228, 32,205,153, 37,  9, 23, 70, 57, 23,114,
+ 77,154,105,202, 82, 51,202,114,108,150,209, 25, 67, 57, 46,248,135,243, 25,223,158, 28,242,252,104,135, 71,191,243, 22,255,205,
+243, 47,243, 63,102, 19,190, 31,122,110, 11, 73,167, 13, 33,201, 73,116,202, 78,146, 48,214,154, 50, 81,200, 32, 73,132, 32, 49,
+  5, 82, 72,118, 76,202,142, 50,236, 73,197, 60, 43,105,251, 14,109, 18, 76,136,218,171, 46, 56,106,239,121,228, 90,142,154,158,
+ 42, 68, 59, 93,240,158,113,  8,180, 34,218, 16, 19,  1, 29,130, 66,  6, 14,  6,235,116, 98, 20, 59, 34,174, 24, 82, 25, 27,151,
+202,  7, 62,235, 45, 39,222,179,176,150, 45,130,181,119,116, 38,234,127,100, 26,119,252,215,199,138,151,115,205,243,121,138, 20,
+130, 81,154,160,164, 38, 49, 41, 38, 77,192, 36,104, 19,139,122, 35, 98,224,213,223, 94,212,181,142,214,180,217,124, 16, 97,  9,
+ 16,138,106,213,112,127,185,166,182,209,  7,152, 36,154,117, 91,177,109,107,182,237,154,117,191,102,177,173, 56,174, 42,186,227,
+ 13,156,157,199, 98, 94, 85, 81,141, 93,213,136,237, 54,170, 89,235,134,187, 15, 79,120,239,227,219,124,120,255, 17,243,163, 99,
+214,143,207,201, 60,200,161,227, 95, 29, 47,208,206, 81,183, 61,  8,168,  2, 60,106, 44, 91, 17,208,  8, 66,162,249, 79,190,241,
+ 61,238,159, 60,196,250,128,147,192,182,130,218, 66, 91, 71, 65,156, 28, 40,115, 58,  5, 99, 40,202,148,174,235,201,211, 20, 45,
+161,114,118,160,155,129,237,226,206,132,109, 29, 11,221,223, 52,134, 71,193,116, 52,236,238,135, 81,126,154, 12,150, 64, 61, 20,
+ 66, 11, 65, 32,148, 66, 84, 27, 68,111, 17, 95, 65, 92,122, 34,116,235,172, 98,173,  2, 90, 68, 14,242,121,  8,232, 16, 34,164,
+ 14, 34, 54, 83, 39,116,218,209,183, 29,231,139, 19,126,244,233, 61,254,221,237,207,185,125,255, 24,161, 36,207,221,184,206,106,
+185,225,230,199, 15,120,239,131, 79,160,170, 65,182,241,249,200, 47, 89,225,244, 19, 33,202, 64,201, 99,176,121,241, 37, 74,223,
+147, 36, 58, 63,168, 86, 92,124,218, 39,159,220, 65,151, 25,207,189,248, 28, 89,145, 34,101, 66, 94,142, 25,143,198, 24,173, 57,
+ 95,157,147,153,148,221,249,  4, 43,  3,182,237, 89,174, 42, 64,144,164, 26, 57,236,168,227,168, 73,160,181,192, 40, 73,145,106,
+ 18, 19,137,116,153, 49, 24, 19,109,113, 10,129, 35,142, 44,181,150, 24, 36,163,113, 74,150, 27,250,214,211,244,129,157,249,156,
+ 36, 24,246, 77,201, 40,201,216, 29,237,112,101,231, 50,251,179,  3, 82, 41,201,211,130,188, 40,200,211, 17,163, 98, 66,130, 97,
+ 50,218,225,240,224, 34, 87,175, 95,226,107,111,220,224,107, 47, 95,225,205, 23, 15,249,250, 75, 23,153,239, 77, 16,202, 48,201,
+ 60, 77,107, 99,247, 69,244,172, 55, 85, 79,135,199,  9, 65,229, 28,221, 32,124,169,186,136,225, 61,152, 22,188,114,121,206,195,
+227, 45,119, 31, 61,102,103,186, 67, 49, 26,209,185,142,207,142,143,104,123,203, 56, 55,164,179,148,116, 47, 35,201, 36,223,184,
+178,207,115,215,230,220,122,251,109,158,251,238,183, 40,115, 77, 62,158,115,247,157,247,200,140, 36,207, 82,150,103, 43,116, 83,
+225,102,187, 92,254,254,107,140,115,205,135,239,223,102,188,109, 41, 55,231,188,240,234,235, 28, 26,193, 97,154,240,205,221, 61,
+206, 22, 13,237,195,115,206,190,120, 72, 21, 28,202,  5,250,222, 18, 46, 93,229, 19, 39,  8,213,150,107, 73,202, 89,189, 65,119,
+ 53,139,106,195,162,238, 57,204, 52,243,124,196, 56, 47,240,166,160,204, 10,174,150, 35,174,152,148, 34,207, 88,151, 41, 91,239,
+ 41,138, 18, 35, 53, 95,191,246, 28, 82,193,121,  8,164,147,  9, 15,157,195,141, 74,150,169,230,204,104,164,150, 56,161,232,144,
+236, 22,  6,225, 97, 44,  5, 53, 49,102,119,225, 61,169, 76,121,253, 96,204,127,121,117,204,126, 49,229,199,157, 64,108, 22,113,
+181,149,165,241,194,211, 89,196, 52, 59, 16,122,  0, 48,185, 14,183,109, 57,  9,158,115,225,153, 11,201,141, 76,113, 45, 53, 28,
+ 26, 69,153,106,180, 81,140,147,  4, 58,203,193,100,196,100,186, 79,158, 23,228, 74,147, 25,205, 50,133, 59,121,130, 43, 82, 94,
+187, 52, 38,207, 12,201,200,176,108,  3,210,129,148,  9, 98, 90,240,143, 47,206,248,230,206, 46, 59,211,125, 70,229,136,185, 78,
+ 64,101,236,248,232,165,158,100, 25,173,139, 97, 71, 94, 66,162, 20,179, 23, 94, 35,187,244, 18,187, 47,190,201,213,107, 55,184,
+180,179,207,165,253, 67,100,230,216, 10,129, 92,108, 80,117,143,202, 13, 42, 77, 81,227,130, 23, 15,246,249,123, 55, 46,243,234,
+193,152,135, 94, 96,183,219,193,227, 29,  6,133,248, 87, 11, 93,159, 29,125,124,100, 60, 40,249,180,160, 63,241,222, 59, 15,206,
+117,184,117,199,106,189,230,180,182, 28, 47,215,156,250,154,188,173,144,109,  5, 93,133,113, 29,171,170,198,225, 24, 11,201,229,
+209, 46, 70, 36, 36, 73,142, 42, 75, 40,226, 90,209, 91, 75,111, 59, 58,223, 83,  7,203, 90,120,250, 97,122, 58,206, 18,114,163,
+104,133,228,235,101,201, 85,165,249,198,120,202, 72, 38, 76,147,132,189,108, 66, 80,154,195,108, 76,105, 10, 70,218,112, 49, 31,
+ 35,131,103, 47, 43, 41, 18,205,200, 24,178, 84, 51, 79,227,  8,250,141,188,224,149,209, 14, 55,202, 57, 66, 74,190, 99,226,234,
+243, 37,223,225, 85,164,105, 30,251,152,126, 55,  1, 74,157, 70,235,157,212, 24,161,208, 42,  1, 17,200,211, 20, 27,122, 46,153,
+ 52,254, 28,131,167, 24,210, 73, 91,231, 72,141,102,221,183, 44,250,150, 19, 34,  6,246, 92,128,117, 14,233,  3,162,181,140,156,
+163, 31, 68,205,137,  8,172, 16,236,  9,207,133, 68,115,160, 20,189,119, 44,109, 28,213,111, 61, 28,133,192,167,189,163,  3, 90,
+  1, 94, 10, 86, 74,178,237, 37,157,209,  8,165,216, 77, 52,215,114,195,235,121, 74,130,192, 11,193, 78,154,129,214,148, 89, 74,
+167, 12,163,108, 66, 67,192, 10, 65,171, 20, 45,242,111, 43,234, 26,242, 18,230,243, 65,232, 37, 98, 39,234,135, 96, 22,231,105,
+125,207,178,179,100, 26,186,224,144, 74,177,172, 42,142,235,154,199,143,150,184,199,  3,198,117,187,133,122, 27, 59,102,219,197,
+ 95,251, 54, 50,144,235, 77, 76,105,170, 54,132,186,102,234, 36, 47, 29,236,176,236, 59,164,209,116,  3, 19,183,147, 18,229, 60,
+107, 33,216, 75, 18,238,160, 56,173,106,132,144, 96, 61,159, 31, 61,196,  5, 31,187,246,174,141, 20, 55,250, 72,192, 99,232, 66,
+251,161,163, 30,231,244,141,101, 84,150,108,218, 22, 51,248, 64,219,206, 34,108,244, 75,211,181,195,213,223,199,199,236,134,240,
+151, 95, 46,236,154,232,209, 87,102,240,245, 63, 17,176, 13,100, 62, 37,163, 16,166,107,227,191,119, 62, 42,235,127, 73, 21,250,
+180,168,135,  0,210, 83,106, 77, 39, 33, 23, 34, 54, 51, 65, 48,214,154, 62,120, 52,130, 99,239,216, 19,134, 76, 56, 30, 45, 55,
+ 60,120,184,102,217, 68, 15,250,241,221,251,124,186, 88,114,235,254, 57, 63,124,231,231,112,239,193,240,216,186, 65,252, 38,191,
+  4,191,249, 50,227,241, 75, 93,250,147,130,254, 36,208,135,129, 91,224, 35, 24,230, 73,  0,243,237,143, 62, 37, 45,115, 94,126,
+237, 69,164, 22, 84, 85,220,177, 23,163, 17,222,247, 52, 93, 77, 62,158, 34,125,236,198, 43,219,209,214, 61, 89, 97,168, 90,135,
+181,129,118,128,  5,101, 70, 12,137,107,146,204, 68,174,123,162,163,167, 61, 75, 35, 36,168, 72, 12,137,145, 20,153, 97, 50, 74,
+217,153,229,236,143,114,116,102, 72, 83,205,238,180,100, 50,157,144,148, 99,164, 77, 41,179, 73, 60,104,204, 38,104,149, 82,148,
+ 37,229,100,130,239, 28,163, 73,201,165, 43,151,120,225,185,171,188,244,194, 33,175, 94,155,113,125,191,228,112,148,178,172, 60,
+ 39,149, 37, 83,129,159,124,252, 41, 31,125,122,139, 11,135,115,186, 16,109, 74,  1,232,156,197, 89,199,170,238, 56, 91,214, 44,
+ 87, 53,155,117,195,114, 81,177,218, 52,224,  3, 51,173, 57, 93,183,172,214, 13,203,245, 25,206, 58,164,210,104, 17,184,119,182,
+161,183,158,113,110,112,206,243,112,213,209,245, 45,207, 31, 92,224,130,134,254,249,151, 40,210,132,189, 11,115,254,206,223,125,
+139,127,253, 71,127,129,198,146,164,138, 59,103, 43,108, 82, 50,187, 48,231,229,215,111,144,  9,207,189,229,130, 43,187,  5,147,
+170,230,181, 23,110,160,100,244,212,103, 70,113, 84,181,244,125,141,245,129,102,179,193,246, 45,119, 31, 63,224,139,119, 63, 34,
+236,205,249,189,107, 47,242,163,197,  9,250,236, 20,223, 91,174,204,199,204,243, 49,187,229,  4,159, 21,140,138,146, 81,146,112,
+209,  7, 14,147,132, 10,207, 23, 65, 18,140,166,114,  1,202,156, 44, 79,163,151,118, 50, 97, 45,  5, 39,227,156, 83,239, 57,107,
+ 29,105,158,208, 33,216,108, 58, 92, 31,181, 19,107,101,184,231,  2, 43,157,176,242,154, 66, 27,124,219,241,143, 47,141,184,190,
+ 63,166,212,112,115,107,216, 14,221,210, 75,218,177, 40, 75, 84, 97,  8,153,161, 40,115,108, 63,192,150,140,140,141, 67,223, 16,
+218,134,149,183,  8, 23,152, 75, 73, 39, 60, 34, 79, 40,166, 41,218, 24, 18,173, 24, 21, 69,212,120, 36, 57,141,117, 44,148,100,
+101, 18,198, 38,176, 78, 52, 70, 74,178, 84,115, 94, 91, 54,181,  5, 37,249, 71, 23, 10,254,233,197, 57,191, 59,223,225,107,229,
+156,153,210,156,166, 57,157, 16, 92,  8,129, 52,120,114,111, 89,119, 29,101,145,177,117,142,253,162,160, 30,205,209,  7,215,217,
+185,124,133,253,113,206, 94, 86, 32,146,168, 50,223,223,217,231,242,100,204,168,148, 44, 87, 21,186,181,232, 50,198,170,254,222,
+245, 23,248,173,253, 75, 76,138, 57,171,212,113,212,  6,100,211, 33, 91, 79,220,172, 63, 41,236, 79, 70,111,191,104,193,123, 86,
+216, 45,222,232,167,183, 51,175, 98,172,177, 87, 34,170,253,113,132,243, 53,225,248,132,118,181,229,222,189,  5,247,206,150,152,
+174, 70, 88,139,235, 58,148,247,140,145, 28,152,132, 60, 31,163,179, 18, 97, 36, 66, 39,248,182, 39,216, 46,194,110,250, 45, 15,
+251, 13, 27,192, 72, 65, 47, 20,185,140,174,158, 23,178, 28, 21, 60, 95,203, 70, 84,222,179,151,143,208, 58,197,152,132, 84,103,
+ 72, 19, 15,241,133,206,232,125,199, 44, 25, 97, 67, 20,252,153, 36,165, 39,144,106, 69, 34,  4, 87,139,  9,215,210, 18,  7,  8,
+101,112,193,161,148, 96,150,166, 44,173,101, 65,207,137,139,148,186,204, 40,100,240,104,169,209, 33,234, 94, 52,  2,149,168, 56,
+169, 19, 10,239, 45,123, 58, 37,115, 49,181, 45,174, 81,  4,125,223,113,220,213, 60,234, 59,142,125,207,178,110,169,188,163,222,
+ 84,120,231, 72,136,233,141,115, 37, 41,  8, 44,  3, 36, 14,238,123,193,124,144,250, 87, 66, 48, 29,178, 46,238,  5,207,207, 26,
+203,137,136,119,227,141,128, 70,  8, 86,  8,182, 14,102, 25, 36,  8,156,150,124,215, 40,114, 21, 72,165, 34,151, 10, 37, 97,100,
+ 12, 94,106, 50,157, 18,148,198, 73,195, 86, 42, 92, 16,212,206,253,109, 69,221, 67, 49,137,197, 41, 75,145,105, 74,158,153,184,
+115,126,194,126,223,214,224, 61,139,147, 21,167,189,231,164,173, 88,220, 63,166, 62, 90,195,253,251, 49,106,175,105,127, 45,113,
+ 78,124,197,  8,122,108, 20, 78, 25,198,121,202,102,216, 73, 97, 20,161,237,177, 70, 83, 40,205,143,219, 22, 41, 29,141, 84, 52,
+125, 28,127, 58, 31,227, 63,159,250,192, 87,213,160, 54, 31, 32, 51,142, 24,161,234, 93, 76, 72,155, 79,232,186, 14,169,  4, 14,
+137, 36,224,196,192, 77,223,110, 99,145, 14,196, 68,165, 39,187,102,220,175, 22,117, 33,162, 32, 47, 49, 81,  5,255, 36,110,240,
+ 75,  4,168,104,155, 27,168,119, 74, 12,135, 26,251,171,150,143,167,248,215,104,191, 16, 66,209,136, 64, 75,160, 28,138,236,142,
+138,202, 78,124,160, 35, 48, 21,  9,210, 58, 54,161, 39,172,182,209,166,101, 27, 86,189,229,168, 90,194,249, 42, 30,168,156, 69,
+ 72,251,139,223,199,126,169,176,243,165, 46,253, 73, 97, 87, 67, 65,127, 26, 43,203, 51, 55,192, 19,201,128,132,207,222,255,152,
+253, 75, 23,185,252,220, 37,130,144,241,166, 93,109, 98,206,177,119,156, 30, 69,246,248,225,165,125,210,196, 32,165, 98,127,146,
+179,173, 45,219,206, 98, 18, 29,173, 98,131,242, 88,105, 25,119,234,131, 30, 40, 51, 10, 41,100, 28, 83,132, 24, 96, 49, 42, 82,
+178, 52, 33,211,138,162,212,164,  3,163,160, 72, 37, 89, 98, 40,138,  4,167,  3,206, 90,140, 82,228,217,152,209,180, 36,201, 12,
+ 74,105,188,179,204,103, 35, 46, 94,153,114,105,167,224,202, 44, 35, 79, 52,141,245,124,113,222,242,120,189,225,232,248, 17,111,
+191,251, 14,159,223,249,152,119,111,221,230,133, 27,215,153,143, 51,188,139, 81,172, 77,211, 83, 55, 29, 77,213,179, 89, 54, 52,
+155,134,237,186,162,173,163,117,241,112, 82,208,184,192, 23,199,231,204,247,247, 64, 26,206, 54, 75,214,237,134, 68, 27,146, 52,
+208, 59,143, 11,  1,105, 36,153,150,172, 58,203,221,229, 25,214, 89,142, 63,187,197,139,223,120,157, 43, 70, 49,145,138,249,213,
+ 43,172, 62,191,137,147, 49, 69,110,181, 56,229,185,195,203,204,118, 70, 92,127,245,  6,133, 72,120,251,147,155, 76, 83,193,119,
+ 94,123, 61,142, 97,133,224,104,211,114,210,247,156,110, 54,252,235,144,113,195, 85, 60, 88,157,241,227,179, 83,154, 71,167,240,
+224,  1,223,159,103,124,162, 10, 30, 39,154,229,135, 15,120,245,234, 30, 89, 94,146,103,  5,118,160, 96,181, 82,145,  9, 65,112,
+158, 62,201,184,217,244,164,211,130,109, 27,185,  1, 73,162,152,206, 74,156, 13, 44,156,228,124,219,114,182,110,232,170,138,243,
+243, 45,235, 85, 67,150, 72,232, 58, 10,  9,171,198, 67,154,210, 39, 26, 53,206, 89, 39,134,165,147,172,130,229, 18,240,251,103,
+150, 59,125, 20,118,190,216,175,113,218,112, 65,  9,190, 57,155, 96,140,231,226,184,164, 44, 37,139,173,  7, 23, 16,125,253,165,
+123,137,227,204,118,124,216, 86,188, 93,247,172,164, 67,105, 67,105, 34,223, 94,  5, 71,240, 61,155,174,230,147,174,226,166,132,
+165,237, 81, 54,130,100,214,189,163,233,123,238,156,117, 32,  5,151, 71,134,223, 27,165,252,214,108,198, 56,203, 81,206,210,120,
+203,231,213,134,190,222,162,155,138,108, 16,147,101, 66,198, 12,  4,163,217, 72, 77,153,164,152,233,  1,  7,187, 51,198, 69,206,
+220, 40, 10, 41,240,214, 49, 73, 82,102,243,125,158,219,191,198,155,151, 46,243,202,254, 28,187, 62,231, 82,154,243,189,157,125,
+ 46,236,204,240,198,112,167, 17, 60, 76,  4, 74, 39,200, 52, 65, 56, 27,239,109,222, 35,126, 81, 20,243, 11, 35,248,167,157,123,
+128,160, 36, 94, 69,175,187,215, 50, 22,125, 69,140,254,236,135,228,189,182,  3,  2, 77,215,113,123,221,177,170,107,142,234,138,
+ 16,  4,133, 22, 28, 74,193, 40, 27, 35,149,142, 94,116,231,  8, 93, 71,223, 84, 84,245,146,181,171, 88,248,158,115, 28, 54,  8,
+ 74,165,216,120,199,133, 36,103,233, 29,175,166, 37, 78,192, 78,154,227, 66,160, 76, 75,156,148, 36, 67,167, 29,144, 32, 60, 18,
+ 69,235, 45,141,239, 81, 82,196,164, 70,165,240, 56,180, 48, 28,100, 25, 59,186,196, 17,133,144,133,214, 52, 46,242, 12,206,187,
+134, 47,250,154, 51, 27, 83, 21,147,224, 49, 62,166, 45,106, 17, 48,  2,204,144,224,102,131,167, 11,158,214,121, 18,219, 49,147,
+138,  4, 73,211, 54, 88,107,121,216,108,185,217,172, 57, 13,150,133,235, 88,247,142,123,103, 43,124,219,195,166,162,109, 59,138,
+ 32,201,148,103, 97,195, 83,109,208, 38,  4, 30,181,158,187,210, 83,247,158,255,175,237,249,172,182, 44, 67,224,175,154,104,239,
+189,221,131, 87,129,147, 14, 86, 34, 82, 64,141, 86,100, 18,180,  8,212, 34,112, 73, 73, 10, 33, 41,132, 64, 43,129, 64,146,104,
+131, 73, 50,122,101, 56, 69, 80, 17,232,130,199,255, 70,234,119,229, 33,207,193, 36,140,203,156, 30, 71,110, 98,238,186,171,251,
+ 88,176, 23,143,225,232,  4, 78,142,  8, 15,143, 34,175,184,218,254,198,108,147, 95, 46,236,167,206,243,242,100,140,205, 20, 90,
+ 64, 19,  4, 88,135, 50,154,166,107, 56, 87,138, 76,  9, 30,183,158, 83, 47,162,  2, 52,132, 33, 28, 96, 80,118,111, 99,188, 94,
+204, 74,183,207,226, 98,245,144, 25, 63, 60,  7,180, 38,248, 64,112, 46, 30,  8,194,128,114, 53, 67,215,237,109,204,154,175,171,
+248, 90, 72,241,235, 19,215,166,243,152, 57,175, 99, 44,171,176,195,215,139, 33,226,181,233,227, 24,223,251,248,152, 93,247,213,
+232,245, 39,  2, 60,192, 89, 69,103,  5, 19,  3, 99, 33, 81, 74, 81, 57,135,247,158, 14, 24, 11,112,196, 19,232,105,227,152,164,
+208, 58, 23,247,248,121, 49,188,163, 29,244, 53,162,111,159,165,185, 61,117, 53,248, 97,189, 96,159,141,229,191,124, 59,  8,225,
+ 41,244, 98,240,202, 12,135, 27,255,139,157, 62,240,222,143,127,198,181, 23, 95,226,226,181,125,148,138,227,240,190,173,  9,193,
+ 19,164,167,235, 90,206, 78, 79, 89,158,173, 57, 61, 57,229,248,180,102,211, 52, 44,207, 42,130,145,212,173, 99, 85,117,228,169,
+137, 36, 37, 25,187,118, 33, 32, 49,146,220, 72, 50, 99, 40, 51,131, 82,138, 44,215,228,137, 65,232,103,137,123,189, 13,120,160,
+106,226,227,156,142, 50, 46, 95,156, 82, 76, 50,246,246, 51,202,169, 97,190, 83,176,183, 87, 50,219, 31,243,198,245,125, 14,167,
+ 25, 69,170, 56, 95, 53,188,247,197, 17,127,241,238,199,124,246,217,103, 60,184,247, 57,239,126,248,  1,239,220,185,203,  7, 71,
+103,220, 91,214,204,172,231,245, 87,111,144,104,133,146,130,214, 58,234,186,139, 74,233,100, 80,231, 35, 48,153,224,187, 59, 99,
+174,239, 78, 88, 54, 29,247,207,150, 28,238,205,152,204, 10,148,202, 73,188,225,209,250,148, 68, 42,186,224,176, 33, 48,207, 51,
+202, 84,115, 56, 29,147,106,137, 87,130,169,239,121,225,198, 75,104, 41,105,140,164,219,159,179,253,226,140,176, 61,167,200, 34,
+147,253,179,207,110,114,249,197, 23, 80,121,202,141,235,135, 76, 68,198,163,197,130, 63,249,252, 30,223,184,122, 13, 39,224, 94,
+219,241,227,247,255,138,127,249,254, 71,156,187, 45,159,156, 63,230,246,241,130,243, 91,199,132,205,146,208,215,252,248,206, 61,
+170,197,121,212,126, 92, 61,224,179,207,239,241,181, 43, 87,232, 16,104,147, 32,165, 70, 73, 67, 45, 37,231,193,115,146, 40,130,
+ 49,180, 77, 71,235,  4,181,243,148,133,142, 14,141,174,103,187, 56,161, 91,109,120,184, 94,163,172,165,173, 43, 18, 44, 73, 83,
+ 83, 12,139,148,121,145,144, 24,  9,121, 78, 39, 36,231,121,202,120,148,241, 96, 27,248,201, 73,205,209, 98,203, 73,103,121,113,
+123,206,166,111,185,150, 25,178, 44, 99,229,122,174,103,  5,149,235,249,121, 19,248,214,229, 41, 15,151, 77,212,183, 40,255, 21,
+250, 23,199,163,186,225,167,235,154, 73,237,168,154,158,181, 11,220,238, 90,254,109, 93,243,158,235,120,108, 27,250,182,165, 58,
+ 89,178, 17, 48, 71, 82,213, 45,137,132,177,145,228, 26,126,123,146,179, 39, 32,241,176,174,215,252,116,121,198, 95,110,215,248,
+110,131,169, 43,164,237, 72, 17,204,180,194,202,152,123,208,218,158,198,164,204, 38,187,204,178,130, 50, 79, 81,157,195,244,142,
+177, 73, 24, 39, 49,222,118,119, 50, 66, 39, 57,187,187,251,188,178,127,141,203, 50, 33, 23,208, 55, 29,119,234,138,  7,189,227,
+ 76, 72,212, 56, 71,230, 10,145,151,136, 52, 71,  8, 29, 27,135,158, 47, 37,221,127,133,120,206,251,104, 15,244,224,181,124,  6,
+219, 81,224,219,246, 89,135,159, 38,241,158, 85, 78,162,226,123,119,206,114,235,216,236,206, 41, 85,180, 90,153,106, 73, 46, 20,
+216, 30,231,  2,206,246,212,245,146,141,173,120,208,174,121,224,123,194,112, 24,239,173,101,100, 82, 30,246, 45, 87,179,156,218,
+121,118,147, 12, 33,  4,101, 54,198,227, 24, 23, 99, 54,189,197, 38,  6,223,119, 36, 73,130,247,129, 62,  6,145,178,234, 59,156,
+ 20,108,156,165, 37,250,243,149, 80,132,  0, 83,157, 80, 26,141,247,144,105,195,178,169,185, 93,175,184,213,212,172,172,165,119,
+ 22, 33,160,243, 29,184, 30,231,122,164, 23,212,125, 77,215,182,113,109,208,117,212,237, 10,217, 55, 44,251,142,166,171, 57,233,
+ 27,150, 93,197,173,102,197, 99,103,121,212,110, 57,247,150,202,  5, 78,215, 91,194,106, 75,240,241, 48,153, 36,134, 32,  4,153,
+ 20, 20, 74,176,112, 30,235, 97, 27, 96,225,  5,183,122,207,194, 11, 30,118, 61,183, 58, 71,135,228,220,  7,122, 33,216,122, 73,
+ 31,  2,  4, 65, 72, 37,170,243,148,  6,218, 32, 81, 42,176, 35,227,253,246,192,104,206, 58,143,146,195, 24, 31,193, 93,  4,149,
+214,108,173,195, 42,205,169,237,126,131,162, 46,135,113,241,124,142, 49, 18, 53,156, 66,170,174, 31, 84,225, 50,166,183, 53,221,
+ 47,118,124, 38, 25,198,209, 67,241,252, 13, 18,221,158, 22,119,163,185, 27, 20,151,138,  4,239,162,154, 93, 40,205,178,169,241,
+ 58,  3,231,248,211,109, 75,162, 52,219,174,123, 54,178,126, 18, 74, 51, 96, 72, 89,159, 15,227,227,225, 77, 46,205,112,189, 91,
+240, 38, 78, 32, 82,  3,189, 67,  9,143, 25,242,208,131,148, 76,132,164,109, 26,216, 14, 65, 44, 97, 16,136,245,  3,  0,225, 87,
+242,209,135, 56,131, 44,133, 34, 69,108,187, 24, 30,131,143,175,159, 34,230, 78, 53, 45, 34,196,132, 34,209,118,113, 63,246, 85,
+175,131,247,113,220,175, 61, 16,149,171,137,144,180,222,145, 72,193,  8,141, 23,209,226,118,223, 91, 82, 33,120,209, 72,250,224,
+ 89, 63, 61,180, 71,127,232,244, 96,143, 23,222,120, 13,117,225,  2,219,109, 15,161,128, 55,223,226,183,127,231, 63,227,158,115,
+136,211,123,  3,246, 54,137,107,132,108, 54,144,244,220,211, 20,165, 39, 12,249,120, 24,248,245,232,220,119,254,242,199,188,241,
+157,111,177,115, 56,197, 24,141, 48, 17,  4,227,173,199,139, 16,223, 68,244,180,182, 37,132,192, 98,177,160, 40, 74, 50,147,210,
+182, 22,147, 74,242, 68, 83,166,  6, 59, 88,251,139, 68, 33,130, 36, 77, 34, 38,209,  7,143,210,  2, 51,172, 16,210, 65, 89, 47,
+164, 32,213,160,165, 36, 85,138,249, 40,225,218,126,201,238,184, 32,203, 19,202,145, 65, 75,197,254, 52, 99, 50, 74,160,235, 89,
+215, 27, 30,174, 54,252,252,243, 35,126,244,206,187,124,252,241,251,252,240,131,119,249,232,209,125,126,254,248, 49, 31,221, 62,
+230,252,108, 75, 95, 59, 72, 21,143,215, 75, 94,191,126,131, 75,187, 99, 18, 45,233,  7, 63,233,141,189, 17,111, 28, 76, 48,101,
+138,212,146,231, 74,195,235,243, 49, 58,  4, 62,126,184,224,180,110,184,118, 48,101, 90,102, 60, 56, 62,231,202,254, 30,105, 82,
+ 98,148,224,218,197, 43,236,230, 35,178, 52, 33, 77, 36,243, 52, 99,150,151, 92,221,221,103, 50, 26,241,232,206,125,194,206,  5,
+238,120,135,208,146, 27,223,122,137,229,199,247, 16,182,166, 76, 19,188,119,124,254,241, 45,246, 47, 94, 98,220,116,220,184,178,
+199,121, 29,200,131,229,224,149,235,180,121,224,255,250,131,255,147,211,236,144,147,106,133,255,236,  1, 77,223, 81,183, 45,225,
+100, 67,168,150,208,219,168,228,237, 35, 62,149,182,131, 43, 23,185,174, 52, 90, 27,180, 82,244,  2,130,183, 56,  9, 78,104,214,
+ 29,100,153,161,239,123, 84,179,  5, 27,120,116,182, 65,216,142,237,249, 18, 87,173,113,237, 22,221,181,156,184,158, 77,  8, 20,
+125,203, 78,128,185,235, 25, 19,152,107,195,104,148,162,149, 98, 17,162, 80,236,226,200,112, 48, 47,208, 38, 69,105,201,158,131,
+102,189,228,249,105,206,231,235, 45, 85, 83, 51, 78, 19, 54, 78, 18,148,224,181, 81,202,191, 93,118,  4, 45,226,248,157,  4,136,
+150, 72,190,228, 51,143,133,205,242,254,166,229,253,206,178,178, 45, 15,131,231, 78,221,179,168, 58,110,159,158,243,201,249,154,
+ 99, 47, 73, 15,167, 28,142,115,122,231, 56,119,150, 92, 10, 50,161, 48,157,101,209, 54,252,236,228,140, 63,124,112,202, 63,123,
+188,226, 81,235,223,218,122,142,  0,  0, 32,  0, 73, 68, 65, 84, 40,250,154,210, 58,250,224, 56, 52,112,142, 98, 36, 35,244,164,
+ 82,154,115,192,168, 17,187,147,  9,174,233,145,137,162,237, 44,157,237,153,142, 50,242, 84,147, 35,152,101,  9,210, 72,228, 40,
+103, 60,223,197,  8,131,237,122,100,215,161,113,164, 66,178, 22, 10,161, 21, 34, 53,200, 81, 10,227,  2,161, 82,152,140, 96, 60,
+ 66,204,102, 48, 29, 62, 85,  2, 98,136, 58, 30, 92, 65,193, 71,239, 63,206,199,146,233,  6, 63,126,154, 12, 22,194, 36,162,116,
+ 83,141,184,122, 41, 94, 15, 55,174,210,212, 91,252,120,143,170, 93, 34,203,  9,105,187,161, 35, 32, 92,207,233,246,148,135,253,
+154,155,205, 57,183,250,134, 58,  4,114,165, 56,235,123, 10,163,169, 67, 96, 71,106,110, 91,203, 11,105, 70,231, 45,123,  3, 86,
+ 91, 11,201,253,182, 65,100, 25,155,182, 67,165, 41,174,235,105, 67, 36,190, 45, 92, 75,175, 36, 39, 93,131, 11,130, 30, 75,227,
+ 44,214,119, 20, 90, 51, 18,138, 92,106,130,117,212,182,227,110,189,230,131,237,130,135,117,197,195,166, 34,177, 29,139,205,  6,
+219,119,136,182, 66,186,150,163,213,130,174, 94,115, 94,109,184,249,248,152,227,205, 25,155,243, 21,141,175,121, 92,109,184,181,
+ 93,241,160,221,242, 97,181,226,182,183, 28,185,150,165,117,108,123, 79,223,121,172,137, 19,226, 32,227,244,163, 19,224, 19,133,
+245,112,226, 35,222,213,138,161,190,200,232, 12, 32, 12, 26,181,109, 19, 67,139, 92,120,182, 10, 85, 17, 40,132,133, 30,  1, 22,
+198, 38,208,183, 16,  8,236,132,168, 35, 19,193,211, 58,203, 61,239,168, 93,207,210,104, 78,125,160, 22,112,218,247, 52,184,223,
+160,168, 59, 23,109, 77,121, 17,115,109,125,244, 20, 71, 16,118, 23,137,105,155,234, 23,153,230,105, 18, 85,230, 98,160,237, 60,
+ 21,173,254,134, 81,173,206, 17, 18,201, 35,239,201, 18, 77,145,106,238,172, 27,110, 20, 57,143,154,154,207,164, 71,120,197,137,
+227, 89,  7,110,135,168, 83,231,159,112, 19,227,239,187, 38,118,221,246, 73, 94,252, 80,241,236, 96, 61,211, 42,142,124,134,238,
+  2, 37, 25, 11,201,170,237, 73,122, 27,215,198, 77, 19,199,248, 16,159,167,245, 95,253, 58, 57, 96, 92,198, 40, 65, 99,158, 61,
+134, 68, 33,150,213,179,  9, 65,219,198,215,198, 61, 27,193,127,101, 97,103,232,216, 77, 44, 84, 78,122,118,134, 28,225,  6,203,
+  4, 73, 47, 34,125,110, 46, 37, 39,206, 81, 15, 63,124,242, 98,112, 43,104,190,121,245, 57, 94,190,112,157,111,191,246, 53, 66,
+  6, 15,215,129,255,234,119,255, 35,254,139,255,224,  5,222,250,230,215,121, 72,224,248,163,219,209, 37,144, 20, 17,154, 19, 52,
+ 40, 59,164,222,133,103,241,181,246,215, 20,244, 98, 20, 41,117,192, 95,255,155,191,224,205,183,190,199,222,254,152, 36, 75,201,
+199, 17, 29, 60,158,206, 41,166, 35,242,162,164, 44,198,164, 69,134, 78, 52,245,118,201, 98,177,224,236,108,129, 16,154,245,214,
+ 97,117, 20,157, 44,219, 62,  2, 54,132,136,161,  6, 66, 80,217,104,119, 19, 16,177,172, 79, 70,139,  2, 50, 25,119,241,137,138,
+113,168,121, 98,  8, 90, 83, 26, 67,145,166,236, 76,114,114,105,216, 52,150, 85, 93,211,214,150,109,219,113,126,178,230,241,163,
+ 71,124,248,240, 17,119,238,158, 83,173, 27, 90, 27, 96,107, 33, 85, 20,251, 25, 47,237, 77,152, 22,  6,187,172,217, 59,220, 35,
+ 85,154,210, 36, 92,158,229,188,185, 63,229,202,238,136,157, 44,193,139,192,170,141,252,231, 63,187,121,159,159,222,250, 28,215,
+ 89, 46, 30,238,177,169, 90, 30,159, 46, 33, 75,217,187,176,135, 16,  9,194,121, 52, 10,135,136,202,230,196, 48,206, 11,102,211,
+ 29,116, 94, 98,130,103,251,197,103,220,201,118, 41, 52, 72,173,217,236,236,113,252,232,  4,217, 86,100, 74,147, 39,154,234,241,
+130, 23,111, 92,198,143, 75, 70,215, 15,185, 56,155,243,220,133,  9,255,243,255,250,191,243,216,106,110, 62,188,135,127,239,179,
+216, 97,244,  3, 40, 41,209, 48,140, 94,201,146,120,205,118, 33,178,240, 23, 43, 62, 29,101,252,252,236,148,185,140,176,155,182,
+  9, 72, 36,219,222,227,189,163, 58, 95, 83,120,135,105, 26, 54,213,130,166,233,121,176, 92,243,117,111,249,142,250,255,185,123,
+179, 88, 79,211,252,190,235,243,108,239,246,223,207, 82,167,214,174,234,165,122,186,123,118,207, 52,198,177,227, 69, 38,118, 98,
+ 71,193,114, 34, 43, 66, 17,  4,  9, 41,  8, 36,110,184,135, 11, 64,202, 69, 16,  8, 16,  8,  4,145,130,130,132,  4,138,  9,177,
+ 49,182,135,140,199,158,173,103,198, 61, 61,189,119, 85, 87, 87, 87,215,114,234,236,255,253,221,158,133,139,231, 61,117,170,151,
+217,130,114, 97,254,210, 95, 71,213,234,243,255,191,231,125,158,247,249,109,223,197,176,221,172,249, 95, 95,125,135,105,162,152,
+183, 53,173, 15,156,107, 23,236,  8,120,  6,216,202,114,130,137,243,113,169, 20,189,194,240, 92, 63,163,144, 48,201, 20,152,132,
+ 69,229, 24, 38, 57,199,171,154, 13, 45, 24, 38, 18,231, 26,188,  8,224, 21, 90, 75, 46,171,192, 93, 27, 58,133,200, 64,168, 98,
+135, 41, 88,255,177,118,116,144,158,202,183,220,169, 43,110,156, 44,120,255, 96,197,157,195, 25, 15,103, 51, 78, 86, 11, 14,147,
+148,187,189, 28,231,  5,223,159,215, 44,124,212, 42,210, 26, 94, 94, 52,124,103, 85,243,207,239, 30,243,206, 73, 13, 58, 26,207,
+ 12,  7, 25, 57,130, 84, 43,246,130,194, 39,  9,  7,193, 51,147,154, 67,169,144, 82, 83,122,199, 80, 37,  4, 99,152,151, 53,199,
+182,197,118, 92,231, 84, 70,153,217, 44,209,228,157,219,159,151,130,180,200,217,233, 13,120, 34, 31,115, 25, 67, 17,  2,  9,146,
+125,239, 58, 49,154, 72, 17, 37,213, 29, 86,168,207,197,115, 19,126,229,210, 57,126,245,137,203, 60,113,174,207, 29,169,105,181,
+  1, 17, 25,  7,  4, 79,176, 54, 86,153,222, 71,113,152,212,196,162,103,178,  1, 27, 35,206,237,108,178,218,222,138,103,231, 96,
+192, 24,139,239,111,208,184, 10,219,223,224,126, 61,227,158, 73,121,111,190,207, 93,225,184, 85,206,120,208,214,188,189, 94, 16,
+108,205, 72, 41,246,109,205,213, 52,227,196, 58, 82, 33,216,199,243,108, 90,240, 70, 83,115, 53,201, 57,112, 22, 33,  4,239,218,
+150,190, 73,249, 65, 85, 34,180,228,164,169,104,164,162,242, 45, 75,160, 68,112,220,148, 44,189,167,148,138,149,107,105, 90,203,
+220,182,164, 66,162,130,227,214,226,132, 58,180,220, 94,207,184,177,156,242,160,109, 56,110, 43,234,170,225,100,182,162, 89,174,
+ 88,175, 74,102,211,  5,135,211, 25,139,195, 37, 71,251,199,204,142,166, 52,135,  7,212,251, 83, 22, 71, 83,118,247,167,220,245,
+154, 70,171, 24, 36,149,102,213,182,148, 77, 32, 72, 73, 89, 91, 86,222,178,180,254,145, 57,149,232,101,120, 33,105, 90, 79,109,
+ 36,161,245, 56, 29,133,130, 30,157,155, 42,137,138,108, 74, 64, 17,129,154,103, 50,129,157, 69,169,232, 92,234,188,165,  9,158,
+ 66,195,134,130, 99,231,232, 35,152,150, 13, 43,111,249,147, 69,133,177,142,  3, 36,139,208,130,144,204,125,  4,138,214,136,159,
+144,210,230, 92,156,201,230,  5, 33,216, 24, 60,155, 58,182, 60,151,107, 88, 47, 62, 28,176, 83,211,  9,183,116,182, 61,167, 22,
+166, 63,133,255,122,  0,146, 34,103, 90, 55,184, 32, 73,240,124,253,112, 69, 98,  4,109,235,216,175,125, 87, 61,119,124,115,173,
+ 98,183, 32, 87,176,174, 35, 31,220,159,122,134,119,215,108, 84,231, 59,222,137,195,184, 22, 76,246,200, 65, 45,116, 66,179,141,
+173,  9,222,227, 84,128,217,178,163,165,117, 98, 54,237,143, 80,151, 75,101,228,242,107, 29,221,136,124,180,116, 21, 77,211,113,
+216, 29,212, 54,154,222,167, 18, 33, 76, 76, 58, 78,173,246,126,152,240, 79,231,143,254,172, 78, 89,227,200,145, 44,136,129, 77,
+  7, 40,164,228,158,181, 92,209,154, 61,101,104,179, 33,161, 95,116,  9,129,224,194,198,132,107,151,159,140,200,209,124,192, 43,
+187, 31,240,111,252,234,231,249,212,149,  9,227, 66,179,191, 47,120,253,165,239,117,237,247, 78,156,199,119,162, 61,117,123,214,
+129,249,104, 64, 47,178,120,255,174, 63, 15,131, 49,108, 92,128,227, 35,192,243,237,175,252, 41,159,251, 75, 63,203,120, 84,224,
+136,244,143,114,189, 98,117, 60,195,121, 71,219, 52, 81,224,195, 89,234,186,162, 63, 26,146,164,  9,179,147, 25,  7,  7,187,104,
+211, 35,  0, 59,147, 30,163, 92,227, 36,156,148, 13,166,211, 87, 87,  2,124,136, 92,119, 33,  5,153,142, 85,158,150, 26, 41, 85,
+244,146, 14,  2,143, 68, 40, 25, 15,203, 68, 70,189,248,202,177,110,106,172,107, 81, 26,166,139,134,245,170,230,251,183,222,224,
+157,189,121,228,154, 42, 21,147,209, 76, 49,218,200,184,216, 47,216,232,103,108,247,251,212,190,197,137, 12, 47,213, 35,145,190,
+ 69, 21,165,108,119, 79, 86,188,124,251, 33,239,221,127,200,205,  7,123,220,216,123,128,117,142, 98, 48,100,114,126,147,219,247,
+246, 89,206, 23,148,229, 42,186,212,245, 50,174, 93,187,196,249,139, 27,244,123,  3,180,202,176,173, 37,237, 15, 41,155, 53,182,
+110, 16, 90,145, 21,  5,217,221, 91,204, 70, 91,140,100,224,122, 63,227,249,103,159,102,125, 82, 17,234, 57,121, 86,144, 38, 25,
+199,211, 22,181,179,201, 94,213,240,236,229, 77,254,163,255,244,191,224,181,111,191,193,244,189,251,132,249, 52, 74, 89,166,130,
+176,170,  9, 78, 17,146,132,225,102,143,122,101, 65,248,200,248,176,113, 92,116,249,242, 54,139, 96, 97,235,  9,126, 69, 84,  4,
+149, 50,111, 26,172, 11,220, 43, 75,214,117, 77,174, 53,214,181, 80,206,168,235,154,253,197,140,145,146,252,198,120,194, 53,101,
+216, 80,134,230,226,121,158,154,108,112,239,248,136, 70,  6,174,226,185, 28,  2, 67,109, 24,248, 22,147,100,184, 16,152,154,132,
+ 11,189,132,169,139,136,248, 74,  8,122, 50,176,118, 62,170, 34,162,104, 76,142,105,  3, 43, 27,169,167,155,169,225,104,221,146,
+230, 41,  3, 41,217,119, 46,210,223,180, 36, 52, 14,178,156, 80,175, 63,196,221,126, 92, 51,221, 75,112,218,199,119,  7,100,242,
+117,133,175,  3,  7,203,150, 48, 91,196,115, 57, 81, 44,140,161,173, 28,117, 89, 35,234,238,124,201,  2, 33,207, 88,104,195,168,
+208,232,188,  0, 99,168,165,198,106,197,  2,193, 80, 18, 21,191, 58,252,236,222,122,201,126,219,112,100, 75,214, 30, 22,109, 75,
+ 79, 42,114, 21,249,236,198,131,177,142,108,144,115,113,107,200,214,120,192,168, 87, 48, 50, 25, 67,175,201,165,198, 90,203,145,
+ 16,177,163, 18, 58,157,116, 35,121,170, 63,224,111, 95,186,194, 95,185,116,149,141,172, 71, 45, 13,  7,161,229, 80,201,248,188,
+230, 69, 84,214, 44,  6, 49,208,164,  5,194,228,209, 69,115, 99, 19,206,141, 33,203,248,204,230,  6,207,231,154,139,249,144,237,
+ 36,231,124,127,204,115,  9,156,235, 15,112, 85,197, 42, 29,178, 91,214,232, 65,159, 89, 83, 82, 74,201,253,122,197, 40, 53,145,
+  2, 38,224,185,164,224,157,182,225, 66,154, 49,199,115,197,100,188,222,212, 60,159,245,121,205, 86,140, 84,194, 59, 33,112,222,
+ 24, 94,105, 74, 46, 36, 57,175,181, 13,107,  9, 55,154,146,131,110,170,182, 86,154,123,214,226,140, 33, 56,139, 82,  6,149, 36,
+236,151,107,148,183,188, 52,159,241,126,189,226,219,199, 71,124,251,232,152, 91, 85,195,237,163, 41,179,217,138,102,177, 34, 44,
+ 86,132,178, 34, 44,231,177, 72,105, 60,193,183,113, 39,172,235, 24, 87, 37,  4,105,163, 86,100, 11,195, 73, 63, 22, 94, 33, 48,
+115,  1,235, 60,  7,109, 75, 42, 37,211,224,112,182,165,105, 44, 20, 73, 28, 47,122, 98,140,  8, 34,198,  1,219,129,141,148,124,
+100, 28, 38,186, 14,103, 32,196,160,190, 88,158, 41,159, 74, 16,170, 51,175,  9,145,194,188,106, 29,139,210, 97,240,220,154,213,
+220, 44, 27,222, 94,214, 76,107,203,205,117,203,173,170,137,250,154, 34,142, 95, 87,193, 82,150,229, 79, 24,212, 79,  3,187,239,
+244,209,203,170,227,155,183, 17,185, 94, 86, 31, 49,  0,209,143, 80,223,248, 83,190,120,243,211,153,136, 56, 71,211,180, 88, 89,
+112, 56, 95,115,216, 74, 84,  2,211,101,195,244, 84,183,187,141,178,149,168,238,100,149, 34,  2,243,210, 46, 19,242, 46,210,217,
+ 48,157,154,154,143,227,  0, 97,227, 99,157,100,241,161, 72, 35,208, 44, 40,213,101,176, 93,101,186,174,187,207,233,192, 99,117,
+243,163, 19,147,214, 66,154, 68,105,195, 83,254,109,219, 62,194,151,161,  4,233, 86,159,191,247, 11,159,229, 11, 87,118,248,204,
+213, 29, 94, 93,183,112,112,244,113,214,  1,143,181,229, 93,180, 35, 60, 20,130, 73,128,105,240, 92, 82,  9, 46,  4, 86,206, 50,
+ 84, 26, 21, 60,203,126, 31,113,105, 27,159, 22, 52,242,148,150,230, 89, 53, 53,231,243,130,224, 28,251, 71,247,121,111,239, 24,
+213, 66, 49,232,243,238,238,154,255,253,155,223,164,124,247, 78, 76,118,172,237,208,254,246, 49, 79,121,251,225, 57,122,218,135,
+254,  8,174, 94,227,201,167,159,230,231,158,249, 12, 69,158,146, 37,154,217,178,130,114,  1,192,183,254,248, 79,121,254,103,191,
+204,100,220, 39, 16, 40,215,117,228,165, 59,135, 76, 20, 70, 39,164,131,156, 36,205,241,221,131, 34, 59, 94,120, 86,228,156,204,
+150,236,159, 44, 57, 92,181, 44, 86, 45,182,182,148,141, 35, 75, 21,206,197,249, 32, 34,138, 58, 32,  4,214,  5,210,196,144, 24,
+ 29,133, 48,132,140, 10,111, 50,138,110,  4, 31, 56, 94, 53, 28,206,151, 20, 41,236,238,175,184,253,193, 33,135,135, 83,254,219,
+191,255, 31,227, 46, 92,227, 92, 95, 50,109,227,104,233,234, 86,193,115,231,199, 20, 90,113,105, 50, 98,107, 48,164,245,142, 69,
+ 89,177, 94,206,217, 24,111, 16,132,228,120,177,230,131,227, 21,183,246,230,188,125,255,144,233,225, 49, 77,213, 48,155,207, 59,
+228,173, 33, 47,250,180,173,224,222,221,219,  4,239, 41,203,117, 20, 94, 42, 75,164,201,184,184, 51, 97, 60,204,121,225, 83,151,
+216,220,220, 96,190, 88,211, 44, 43,150,235, 21,149, 83,172,231,199, 40, 37, 88,220,120,141,139, 91,151,201,140,166, 21,160,159,
+216,193,222,185,207,108,185,100,144,247,153,156, 59,207,231,175,159,231,229,247,118,249, 63,191,251, 22,239, 52, 21,161,108,160,
+ 46,  9, 36, 81, 45,205,219,168,206,102, 27,152,244,249,119,159,218,226,217,243,  3, 94,185,127,  4, 78, 71,237,123,173,153,159,
+ 44,249,210,246,152, 23, 38, 59,252,  7, 63,247, 34,127,248,242, 55, 24, 20, 57,223,152, 30,243,160, 46,185, 55, 59,160,169,150,
+188, 59, 59,  1, 15,235,122,201, 27, 15,247,248, 66,166,121,177, 63, 98,152, 20,204,109,203, 74, 90,254,195,127,243,175,178,145,
+143,249,254,189,125, 46, 40,203, 57,161,216,  9,209,145,175,157, 47, 56,177,160, 18, 73,139,166,159, 39,212,225,140, 62,234, 91,
+199,210,118,192,174, 34,163,241,129, 75,105,  1, 38, 37,209,134,161, 49, 84, 74,113, 80, 86, 76,101,231, 56,153,103,132,113, 63,
+ 58,251,109,108, 16,122, 61,130, 73,  9, 38,199,215,229,163,201,243,227,239, 83,170,151,247,158,176, 90, 18,230, 75,130,111, 32,
+207, 17, 91, 99,138,126,143,214, 68,165,200, 32, 69,215,  1,108, 97,111,142,149,146,157,157,  9, 99,109, 40,117, 26,177,176, 66,
+208, 55, 41,147,108,128, 70,144, 40, 73,161, 36,211,118, 69,226, 29, 85, 93,113, 82, 87,180, 90, 49,183,150, 60, 64,129, 66, 87,
+ 13,253, 34,101,251,194,128,254,184, 71,111, 82, 32, 19, 67,162, 13,133, 52,168,186,198, 21,  9, 53, 41,115,147, 34,104, 17,203,
+  5, 56,207,207,108, 20,252,252,214, 54,227,162,143,150,134,239, 47,102,188, 84, 89, 90, 37,161, 40, 96, 56,130,241, 48,186, 88,
+ 22,177,117,207,176,135, 56, 55, 70,108, 12, 32,201,248,237,115, 19,180,  8,244, 85, 66, 47, 81,124,106,178,205, 88, 64,149,228,
+248,182,100,115, 48,162,106, 27, 54,122, 41,179,218, 49, 40, 18,230, 66, 48, 74, 50, 22, 66, 49, 82,154,167,139,130, 91,222,241,
+116,214,231,  1,158,109,147,114,211,181,124,161, 24,242,186,109,120,190, 24,114,219, 53,236,104,195, 77, 41,121,218,100,220,241,
+ 45, 27, 42,225, 43,171,134, 59,109, 64, 43,205,161, 72, 57,242, 45,100,195, 40, 17,157,230,216,166,230,192,  5, 46, 24, 67,233,
+ 90,116,213,240,157,131, 53,251,123, 83,202,227,  5,213,222, 67,194,172, 36, 44,203,184,215,215, 77,236,216, 56,  8,173,  3, 17,
+249,254, 17, 48,221,126,  8,135, 16, 26, 75, 16,146,121,101, 41,  6, 25,139,224,153,173, 43,130,209,140,148, 98, 29,  2, 25,112,
+210, 90,130,245,143,  5,244,199,156, 47,101,167,147, 46, 59, 90,176, 52,241, 12, 61, 29, 19, 11,209,197,  6, 23,207,202,166,138,
+197,166, 13, 81,115,193,118, 64,229,198, 97,181,100,181,172,104,239, 28,224,119,134,132,170,138, 14,134,117,133, 93, 91,246,102,
+ 37, 33, 85,236,207, 23,204,235,146,121, 85,253, 20, 65,189,  3,155,196, 25,115, 29, 51,145,229, 52, 86,199, 31, 13,116,237,169,
+ 63,123,167, 47, 30,236, 79, 85,165,127,168, 13, 47, 34,194, 51, 40,112,243, 21, 78, 71,167, 40,116, 71,191,242, 93, 27,163,233,
+ 28,218,132,136, 45, 68, 41, 98,219,220, 73,240, 21,164,105,188, 86, 69,156,167,159,250,144,247, 11, 88, 85,177, 45,213,118,237,
+230, 32,186, 68,197,199,224, 92,182,177,218,255,104,242,242,137,192,128, 40,  8,129, 84,143,104, 99,143,108, 20,123,138,223,249,
+220,115,124,249,179,215,185,118,229, 18,189, 65,159,137, 49,188,121,119, 63,222,207,254,  4,182,182, 97,251,114,119, 96,116, 98,
+ 57,105, 52,124,  9, 65,177,173,  4,233,233,193, 35, 37, 70, 37, 84, 69,193,232,218,147, 20,151,174, 32,242,  1, 66,122, 18, 37,
+177, 68, 81,150,160,160, 45,167, 52,229,138,187,  7,251, 28, 77,103,220,218, 61,226,251,119,142,185,189,123,132, 78,  3, 83,217,
+121,200,231,166,115,228,235, 16, 53,217,169, 61,173,120, 36,246,241, 59,127,251,111,240,155,191,249,235,252,214, 95,126,145,207,
+ 92,127,138, 34, 45,104,203,150,131,114,198,108,185,140, 93,157, 14, 33,255,210, 87,254,140, 39,174, 63,205,165,203,231,208,137,
+193,  5,129,107, 91,108,211,210, 84,209,187, 90, 73,133,210, 18, 39,  2,109, 93, 33,141,196,186,104, 35,136,128,217,241, 34, 58,
+142,245, 83,238, 60, 56, 97, 94,182,172, 43,199,176,103, 88, 55,142,117, 29,157,151,124,128, 52, 49, 56, 33, 98,192,116, 33,250,
+186,187,208,209,118,  2,193, 70, 69,191,187, 15, 23,124,251,123,111,178, 94,174, 81, 65,112,225,153,231,217, 24,110,176, 44, 79,
+ 48,  6,206, 13, 50,182,122, 57,105,146,160,  4,244,211, 12,165, 52,173,109, 73,181,138, 66, 55,227, 62,155,163,130,224,  3,109,
+221,224,156,163, 90,173,177,190,198,214, 45, 38, 55, 12,134,131,232,159, 83,215, 28, 30,239,177,174, 74,172,143,146,201, 50, 64,
+ 99, 91,214,203,  5,249,160,207,221,123,135,236,223, 59,100,213, 88,202,178,138,244, 32,231,168,133,102,160,  2,101,179, 66,  6,
+193, 63,127,243, 13,174, 94,185,198, 50, 81,120, 41, 96, 99, 27,125,120, 72, 80,146,171,159,190,198,238,225,  9,255,253,127,253,
+143,216, 31, 13,  8, 65,112,117,123,196,201,209,156, 96,163,189,103,112,154, 32, 45,  1,201, 95,237, 23,252,141,171,151,152, 76,
+206,113,151,150,189,131, 69, 92,107,219,194,186,102,119, 81,177,215,204,233,111, 95,226,205,226,  2,127,114,251,  6,203, 15,222,
+167,109,214,184,195, 35, 78,238, 60, 96,189,156,243, 96,247, 33,187,199,115, 88,172,121,113,152,112,217,244,104,129, 91,205,146,
+ 69,211,240,153,139, 23,248,218, 94,197,157, 96,120, 38, 84, 12,133,230,138,201,240, 77,205,180, 92, 49,173, 86, 52,141,101,152,
+165, 72, 35, 17, 70,162,188,160, 42, 91,142,234,200,201, 14,137,162,240,129,103,198,  3,182,123, 57, 79,142, 70,108, 21,  3, 84,
+218,167,245, 18, 31,  2,203,186,100, 59, 49,156,207,115,174, 12, 70, 12, 55, 71,108,109, 78, 56,119,110,135,213, 32,167,214,  2,
+ 95, 12,  9,182,194,183,246, 19,131,251,153,147, 88,108, 83,227, 26, 66,  0,159,104,124,104, 34,142, 72, 40,254,206,149, 17,127,
+237,137, 77,254,108, 81, 19,170, 53, 15,156, 68, 20, 61,  6, 89,  2, 58,165, 16,138,173, 52,163,113,158,139,105,193, 42, 56,150,
+109, 77,102, 18,178,224,105,218,146,204, 40, 78,234, 53, 85,  8,184,  0,125,  2, 61,169, 40, 50, 67,186,221, 39,233,231, 72,173,
+162,131,105, 16, 80,182,164,206,147, 56,135,207, 53, 83,217,167,202,250, 48, 62, 15, 82, 48,240, 13,147, 96, 81, 54,240,205,147,
+ 35,190, 58, 91,112,212,214,144,102,244,139,  1, 73,154,146, 38,  9, 77,154,128, 17,136, 44, 69,228, 25, 36, 25,191, 56, 28,242,
+ 75,219,155,140,211, 30,107, 33, 80,  4, 54,250, 27,188,190, 92,115, 97,115,147,188, 90, 49,200, 71, 28,172,231, 12,123, 99,180,
+107,240, 73, 74, 45, 65,163, 88,184,134,158,148,172, 67, 96, 22, 60, 79,154,140, 93,  1,219, 66,242,126,176, 92, 55,  5, 63,104,
+215,124,177,152,240, 70, 91,243,132, 73, 57, 20,146, 39,133,230,221,224,184,164, 12, 95,171, 45, 90,167, 44,146, 52, 42,215, 25,
+137,206,114,110, 47, 42,134,195, 49,109, 93, 82,166, 57, 89,154,145,138, 20, 35,  2,137, 12,172, 68,224,120, 81, 19,234, 10,188,
+ 32, 40, 27,215, 47,184,104,186,162, 32,184, 78, 73,179,237,  4, 58,234,211,130,165,195, 93, 88, 23,139, 25, 35,  8, 73,193,220,
+123, 86, 62,158, 79,198,195,202,121,188,245, 76,109,131,111, 61, 94,118,138,114,174,251,189, 54,196,100,207,187, 88,220,213,174,
+ 43,238,162, 48, 26, 82,119, 44,168, 83, 68, 98, 32, 74, 24,218, 88, 48,182,  1,154, 53, 66,201,200,220, 10,237, 35,239,145,254,
+207, 61,207,175,255,194,175, 49,185,180,197,221, 31,188,129,119, 14,239, 26,124, 91,115,184, 42,217, 95, 58, 30,204, 75,118,231,
+229, 79, 25,212, 93,231,  7, 94, 55, 17, 13,222,254,136, 96, 29,186,249, 51,246,147,103,208, 63, 77, 31, 94,133, 88,233,135, 78,
+ 60,166,237,  2,185, 15,103,148,171, 83, 32,151,144,241, 64,106, 59,212,182,179,157, 14,123,135, 80,119, 26,124, 19, 51, 85,219,
+145,141,243, 36,182,153,173,139,111,245, 88, 85, 90, 69,126, 42,101,219,181,236,221,143,189, 94,225,186, 44,190,181,145, 67,239,
+ 99, 71,225,252,185, 17,191,246,165, 79, 51, 30,111, 32,181,102, 60, 28,160,148,231,107, 15, 14,163,144,198,198, 38,191,252,133,
+ 95,226,153, 43,207,176,177,189,195, 60, 87, 48,153,224, 70,227, 56,235, 46,250, 28,139,140,162,200, 88,110,142,217,186,122, 29,
+189,185, 65,178,189,205,197, 11,207,176,179,245, 36,147, 98,136,210,158, 84,  9,164, 10, 24,169, 56,159,165,104,  4,139,186,229,
+225,186,164, 57, 46, 17,212, 76, 46,110,243, 59,191,254, 34,127,235,231, 63,197,214,104,204,203,111,220,141,155, 92,117, 18,177,
+ 38,116,179,158,110, 22, 36,  5,140,174,240,203,191,240, 34,189,188,160,223, 75,105,218,192,114, 94, 81, 54, 53,175,127,112,159,
+102,247,118,151,  4,157,  9,202,127,255, 27,223, 35,233,245,185,122,253, 10,195, 65, 15,235,  2, 38,141,148, 12,173, 20,202,168,
+168, 42,151, 38, 36, 89, 66,154, 36, 72,109, 88,173,102,148,229,138,197,244,144,245,170,100,186, 40, 73,179,  4,148,160,117,142,
+ 59,247,142,185,125,231,144, 50,120,234,198,243, 96,186,164, 14,158,163, 69,116, 73,187,249, 96,193,113,217,128,  8,172,234,154,
+ 89, 85,241,222,238,140,155,119, 30,242,242,159,191,129,111, 45,121, 97,184,117,231, 22,139,234,132,175,255,254,239,243,220, 11,
+ 79, 51, 74, 13,189,196,144, 38,138,126,154,161,181,194, 57,139, 15,158,225,176,207,100, 99,194,120,115,131,119,111,220, 96,126,
+176,224,137, 39, 47,178, 49,206, 17, 82,178,152,174,168,203, 10,169,162,184,133,119,129,249, 98,198,162, 90,226,188, 39, 81,154,
+166, 45, 49, 90, 99,148, 65, 25,133,208,154, 64,194,241,241, 58,  2,247,238,221,225,206,238,  7, 28, 29, 31,147, 25,197,131,221,
+219, 72, 13,133,201, 17, 82,144,184,138,111,191,250, 58,227,107, 79, 51,159,215, 28, 79,215, 12, 81,188,240,229,231,120,240,193,
+  3,254,203,127,240, 15,  9,195,148, 48, 24,240,244,248, 28,191,120,225, 28,149,104, 56,120,176, 23,207, 18,121, 10, 30,243,188,
+187,172,216,222, 26,240,170,215, 84,131, 77,238, 29, 79, 35,144,  7, 27,159,183,186,198, 46,106,190,253,224, 30,187,227,109, 66,
+  2,236,237,194,195, 67,196,193, 20,148, 68, 78,143,162,234,240,122,137, 90,172,121,114,144,226,104,120,216,214, 60, 16,130,243,
+166, 64, 60, 56,160, 76,115,110,212,150,220,193,139, 89,206,121,147, 48, 65, 82, 84, 75, 74, 23, 56,241, 22,231, 37, 18,133, 22,
+ 18, 71, 96,191,116, 76, 27,139,112,142, 92,  4,174,244, 82,174,231, 42, 42,197, 77,250,244,179, 20,157,103, 52, 33, 97,238,115,
+ 18,225,144, 50,112,165, 95, 80,164, 25, 74,103,236, 12,  7,132,160,184,212, 27,161,243,148,117, 97,104,130, 38,120, 73, 80,  1,
+223,218, 15,181,230, 63,106,125, 26, 90, 11,179, 57,254,112, 30,193,191, 43,203,223,188, 52,226,239, 60,117,133, 79, 77, 54,184,
+220, 19,124,237,193, 49, 65, 40,218,113, 76,242, 76, 98,216,214,138, 84, 37,108, 36, 25, 51,215,208,215, 41,235, 16, 53,192, 69,
+176, 40, 33, 72,157,195, 72,197, 10, 88, 52, 53,206,181, 76, 80,244, 70, 41,201,184,128,160, 16, 50, 82,  8,221,178, 69, 84, 45,
+ 38,120,250, 66,145, 74, 56,108, 61, 85, 62, 68,141, 54,217, 26,110, 51, 73, 39,124, 80, 46,120,105,127,159,239,150, 21,123,101,
+133, 73,114, 70,  4,206, 43,195, 68, 74, 90,223,178, 45, 37, 94, 26,172, 78, 65,  8,118,122,  3,254,253,171, 87,248,197,237, 29,
+206,101, 57, 15,154,134,117, 62, 68,  9,193, 23,183,182,120,176,174,216, 25,142, 56,168,106,174, 15, 71,172,155, 53, 62,201, 88,
+ 59,139,  5, 26, 44,153,146, 44, 90,203,200, 24,148,139,238,107,153,179,204,149,230,162, 54,188,211, 86,124, 62, 27,240,157,122,
+197,245, 36,229,182,141,149,249, 45, 44, 79,201,148,119,189,101,152,102,188,237, 96,101, 50, 46, 25,143,201,115,156, 15, 92,204,
+ 19,172,131,116, 48, 64, 91, 71, 26,  2,187,182,166,144,134,165, 15,188,125, 60,231, 92,207, 48, 21, 50, 26,255,216,216,109, 12,
+105, 10,182,237,176, 21,177, 94,139,129,221, 34,130,239, 84, 52,187,192,124, 26,220, 91, 75,  8,109,231,194,150, 98,157, 71,106,
+ 88,181, 45,214,123,188,148, 88,231,  8,136, 51,183,207, 68, 19, 84,199,241,149, 42,250,180,166,230,209,104, 87,136, 83,254,175,
+ 56,227,  1, 55, 54, 22,147, 77, 21,199,181,162, 99, 69,181,109,108,213,251, 14,184,218, 90,154, 59,187,188, 83,205,185,251,250,
+ 77,194,122,253,161,189,234, 91, 27, 29,235,234, 10, 87,173,127,218, 74,253,167,120,121,255, 73,236,138,127,177,207,105, 79,181,
+210,125,148, 88,149, 62, 86,224,170, 67, 20,186, 16,  3,206, 41, 24,175,125,140,142, 69,135, 90,119,246, 76,196, 89,  6,176, 50,
+ 90,234, 40,115,  6,  6, 75, 77, 92,144, 14, 48, 39,137, 45,219, 71,215,240, 73, 28,117, 62,130,248, 79, 82, 68,136,170,123,104,
+137,208, 34, 82,236,180, 36, 29, 13,184, 48,218,226,250,213, 29,154,214,209, 88,199,235,239,238,243,131, 91,183, 65,107,190,244,
+244,179, 92,217,188,202,160, 72, 24,229, 35,206, 15,183, 57, 63,222, 98,107,180,201,212,173,105,165,128, 84,225,243, 62, 95,120,
+234,103,184,124,233, 83, 12, 70,219, 76,134, 19,118,118, 46, 99,250, 57, 70,235, 40, 52,225,106,188,111, 59,224,152,102,208,203,
+169, 90,207,193,170,194,175, 23,144, 14,248,173, 95,252, 57,126,249,179,151,216,238,103, 44,170,154,175,254,249,219,221, 24,163,
+ 75,152,156,  7,225, 62, 60,236, 15,129,231,158,190, 70,154,231,184, 32, 56, 62, 94, 48,157,157,240,242,187,239,242,240,213,215,
+ 59,179,154, 56,210,160, 55,140,182,180, 73,143,155,175,190,198,205,163, 41, 79, 94,185,194,246,206,152, 52,141, 21,181, 78, 77,
+  4,136, 72,133,210,209, 96,231,248,225, 62,243,163, 99,210,126,129, 64,160,140, 34,235,229,113,148,176, 90,178,119,255, 30, 94,
+106,170,178,194,121,199,201,193,148,123,119,247,152, 30, 45,168, 90,207,189,221, 67,110,221,188,207,108, 58, 99,212, 79, 25,102,
+134,183,223,185,195,155,175,191, 79,185, 42,217,189,247, 16, 66,137, 39,208, 54, 21,155, 91, 27,100,169,230,179, 95,124,  1, 33,
+  4,214,183,164, 90,147,152,132,212, 36, 88,231,200,146,132,201,104,192,100,123,139,197,108,198,239,189,244,231,188,250,123, 95,
+225,  7, 39, 71,108,167,125, 62,253,169,171, 76,  6, 57,135, 39, 37,101, 85, 19,112, 88, 91, 81,173, 75,130,112, 88,219, 18, 66,
+160,106,107,218,198, 33,181, 36, 77, 83,146, 52, 37,207, 11,180,201,249, 31,254,243,191,207, 42, 83, 60,117,241,  9,132,128, 59,
+251,123, 20, 90,115,251,120, 22, 27, 37, 70,144, 37,  5,105,146,146,135,192,242,214, 77,222,247,  9,243,147, 19,152,157,176,213,
+235,241,250, 31,253,  1,183,111,223,137,235,176,189,197, 47, 93,188,202,100, 52,162,110,  4,239, 29, 29, 65,181,254, 16, 26, 28,
+103,249,238,221, 19, 30, 76,  6,140, 19,197,238,180, 11,234, 70, 69, 77,233,102, 21,159,175,117,137,112, 51, 56,119, 25, 33,  3,
+226,120, 14,179, 35, 68, 98,162,116,169,144,200,202,161,122, 57,247,102,107, 66,112,172,141, 98, 96, 82,174,165, 61,206,103,125,
+174,175,150, 60,151, 40,254, 68,229,252,229, 80,179,163, 37,217,186,164,239, 32,149,129, 99, 33, 57,106, 61,203,101,197,209,178,
+101,247,168, 97,225, 37, 77, 93, 99, 36, 76,180,228,185, 73,194,118,145, 48,233,165,104,169,200,178,  4,175, 12,199, 46,224, 85,
+198,170,105,217, 73,  2,  7,141,165, 17,  9,219,253,  2, 23, 20,105,170, 73,242, 30, 82,229, 36,198, 96, 83,205,218, 72, 66,211,
+ 65,115,196,153, 35, 91,248, 33,193, 29, 31,131,123,200, 11,206,111,244,120,114, 48,160,111, 18, 94,218, 63,226,229,105, 11,174,
+161,116,129,173,201,132, 45, 90,198,105,143, 43, 89,129, 11,176,242,142,  6,207, 68, 25,102,109,133, 21, 34,138,137,  0,199,245,
+ 18, 97, 29,  7,203, 21, 53,129,208, 54, 12, 91, 73, 49,200, 65, 10, 92,101,169, 22, 22, 97, 29,218,122, 84,136,179,247,148,128,
+203, 53,165, 73,201,123,  9, 23,  6,  5, 27, 89,198,181,241,152, 75, 58,229, 25,  9,  6,199,  6,146,157, 44,193,132,134,129,146,
+164, 85, 67, 38, 37,137,138, 74,124,107,161,121, 82, 75,254,202,214, 38,147,201,132,188,223, 99,225, 37, 43,161,216,234, 13,184,
+217, 74,158,204, 13,135,222, 51, 50,146,135,192,192,  7, 14,  2, 72,111,169,131,194,224, 56,113,129,158,130,135,214,114, 73, 42,
+156,244, 56,165, 24, 11,193, 45, 91,113, 61,201,121,185,173,249, 76,154,241,102, 83,115, 53,201,184,237, 45, 87,149,226, 29,107,
+177, 42, 97,215,  9,118,209,236,136,192,118,191,135,118, 81,193,209, 41,205, 74,196,209, 93,240,240,190, 83, 60,155, 36,212,194,
+179,169, 52,123,205,154,210,186, 40,190,213, 70,231, 52, 76,151,144, 17,147, 34,244, 41,144,218,253, 72,208,111,232, 66, 71,176,
+167,192, 74, 69,211, 52, 56, 43,176,194,163, 36, 88, 58, 16,156, 20, 12,211,132, 70, 10,  6,137,129,196,224,106,219,137,121,117,
+133,208,227,  1,221,118,223,127,170, 54,106, 58,155,111,219, 60,242,149,127,132, 63,235, 18,141, 71,201,198,193, 17,172, 63,252,
+252,250,199,233,138,222,227,189,255,151, 24,212,255,101, 37, 10,208,129, 15,136, 70, 42,190,243, 66,183, 93,171,188,113, 17,224,
+100,187, 96,244, 72,100,229, 84,212,197,199,223,179, 33, 46,114,211,130, 54,177, 90,135,216,162,207, 12, 10,129, 95,119,116, 57,
+239, 98,144,230, 19,140, 88, 30,151,211, 85, 41,164, 10,145,165, 93,101, 27,187,  6, 66, 68, 43,203,114, 94,147,100, 61,122,253,
+ 62,203,202,113,111,127,197,183,222,188,193, 73,217,242,212,120, 27, 39, 44, 23, 55, 47, 61, 98,200, 25, 97, 24, 15, 55, 25,101,
+ 99, 92,104, 89, 87,115, 18, 45,249,244,149, 43, 60,247,220,103,185,250,244,  5, 46, 92,220,  1, 82,164,146,228,121,156,179,183,
+245, 26,215, 68, 87, 45, 37,  2,163, 94,129,247,176, 40, 43,142,167, 43, 56, 62,128, 36,197,228,  9,231, 46, 92, 32,184,134, 63,
+250,179, 55,185,121,231, 78,119,223,186,150,145,107, 63,158,149,249,134, 87,239, 31,242,173, 27,183,249,214, 27, 55,248,230, 59,
+183,120,253,253,251, 28, 61, 60,224,111,254,230,207,242,175,255,173,223,224,185,207, 63,207,203,223,191,  1, 62,233,124,234, 13,
+ 56,199,124,255,128,111,253,193, 87,113, 50,176,181,115,129,243, 59, 99, 76,146,224,173,167,109, 90,218,117, 77, 83,215,209,110,
+ 80, 43, 66,112,172,150, 11,130,117,184,182, 97, 62,157,226,108,131, 76, 20, 77, 85,178, 90,158, 48,159,159,176, 88,156,208, 31,
+ 12,192,  4,214,235,146,123,119,222, 35, 79, 11,206, 95,218, 34,205, 13,111,188,123,151,178,110,184,246,204, 37,108,240,172,171,
+138,197,106, 78,101, 43,130,176, 44,203, 37,141,179, 52,117, 69,235,124,244,118,150, 18, 33,  4,121,146,209,239,231,108,109, 71,
+  3,163, 55,110,220,224, 15,255,155,239,176, 62,120, 43,222,143,147, 25, 63,216,219,227,206,222, 30,215,174, 61, 65,154, 25, 80,
+ 10, 87,133,152, 16, 18,  8, 33,154, 25, 37,137,193,249, 22, 79, 32, 87,134,254,104, 68,150,230,236,236,236,208, 75, 21, 63,243,
+175,188,200,231,158,122,134,157,157, 45,116,146,163,154,166, 91, 67,143, 82, 10,111,  3, 66,  9,180, 74, 56, 55, 57,199,214,198,
+132,203, 82,115,174,153,243,185,237, 45, 66,219, 66, 47,227,  7,245,154,240,240,  8, 76,194,221,188, 32,144,242,181,218,130,110,
+225,193, 49,225,180,203,214,218,174,117,216, 80,175, 42,246,122,134, 80, 90, 88, 77,227,115, 83,251,216, 37,203,123, 80, 86,136,
+178,134,190, 66, 12,207, 65,181, 64,212,209, 79, 65, 74,133,208,  6,217, 58,148,116,136,166,197,214,142,107, 90,114,181,223, 99,
+ 39,205, 25,233,148,145,206,185,188, 94,241,215,151,199,252, 39,235,138, 47, 52, 11, 70,206, 33,165, 34, 73,251, 28,201, 56,190,
+154, 53, 13,213,226,  4,218,134,178,182,228, 89, 74, 42,225,252, 36,229,217, 97, 78,145, 36,160,100,172,140, 58,190,117,107, 20,
+171,218,163, 80,204,219, 64, 46,  4,195, 52,195, 98, 64, 40,140,202, 16, 68,  1,163, 86, 42, 42, 28,115, 33,  9, 90,197,106, 73,
+234,232,223,254, 35,186,113,225, 49,110,202,237, 34,163,202,  4,119,154,134,127, 60, 93, 99,219,238,240, 93, 55, 28, 41,193,179,
+147, 17, 27, 74,163,129,149,181,108,165,  5,214,  7,214,193,161,165, 66, 11,205,210,183,100,202,144,134,192, 73,185, 68,249, 22,
+223, 86,148,193,211, 11, 18, 83, 69,189,137,122,218, 80,213, 45,198,122,180,146, 36,202, 32, 90,135,106, 29, 74,  5, 22, 90,211,
+ 47, 82,122, 74, 48,208,146,139,253,132,177, 74,  9,214,177,157,100,104,225,193,214, 76,122, 19,114, 37, 17, 89, 74,223,104,132,
+151,108,102,  3,130, 82,140,148,226,114, 63, 39,213,145,138,252, 45, 27,184,172, 19,238,  5,120, 58, 81,220,108,  3,151, 18,195,
+210,123,122, 77,131,211, 10,211,214, 28,  6,131,161, 97,209, 74,250,162,101,209, 90, 54,149,228, 36, 56, 76,128, 77, 41,121, 24,
+  2,215, 84,194,187, 33,240, 41,173,121,197,181, 60,111, 50,110, 56,203, 19, 58,229,166,247,140,211,130,251,174,225,102, 48,188,
+208,211, 36, 58, 71, 10,203,162, 12, 20,169,161,213,134,147,101, 75,146, 72,150, 65,115, 61,145,236,121,199,180, 93,147,  4,216,
+ 78, 18,246,171, 53,101,128,182,170,  8,210, 61,162,  5,  7,225,227,200,164,163,239,253, 72, 22,207,135,  0,202, 93, 85,223,205,
+183, 49, 50,  2,168,219,216, 78,151, 74,211, 79, 18,192,179,105, 52, 13,146,129, 84,  8,163,162, 56,152,235,132,198, 78, 65, 85,
+ 46,116,214,222, 34,198, 31, 73,236, 42,107,  5,165,251, 16,131, 76,252,136,198,117,248, 33, 58,255,167,239,191, 88, 65,253,113,
+ 78,184,150,145,122,147,152, 51, 21, 52, 31,226,251,212, 63, 61,116,173,144, 83,218,155,140,170,177, 52,117,156, 29,219, 54,242,
+ 90,179, 52,182, 57,172,143,193,189,113,  4, 37,232,208, 85,103,105,155,236, 16,253,159,228,175,110,116,164,149, 36,105, 68, 49,
+158, 42,238,  5, 16, 34,116,238,108,142,  7,193, 50, 16,125, 30, 30, 44,216,221,223,231,246,225, 30, 95,188,242,  2,227,193,  6,
+155,197, 38,139,106,129,109, 26,202,186, 68,139,132, 44, 43,176, 77, 77,107,107,198,185,102,104, 18, 46, 76,182,184,254,236, 85,
+ 54,198,  3,164, 12,180, 45, 84,117, 77,189,110, 88, 87, 75,108,168, 70, 44,229,  0,  0, 32,  0, 73, 68, 65, 84,211,224,124, 29,
+141,226, 84,244, 97, 89,217,154,233,170,101,117, 52,139,135,246,106,201,131,217,  9, 95,123,247,  3,222,190,117,204, 55, 95,127,
+  7,246,119,187,204,209, 70,240,134,111,207,118,202,227,187,108, 57,135,197, 18,151, 12,248,242,245, 39,249,194,181,107, 60,115,
+241, 60,207,191,112,157, 81,209, 71,169,148,175,127,247,205,174,131,210,117, 83,100,167,244,167,224,253,183,239,243,205,255,231,
+107,156,148, 21,195, 98,192,230,206,136,209,100, 64,146, 39,164,121, 78,214,239,145,247, 50,  6,163, 33,195,141, 17, 74,106,156,
+183,136, 16, 98,117, 93, 53,180,174,197,152,132, 36, 51, 12, 55, 38,164, 69, 65, 83, 47, 41,215, 75,180,145, 12, 55, 71,120,233,
+152, 46,102,180,117, 69,214,207, 56, 56,154,114,251,238, 17, 34, 52,  8, 44, 74,197,245, 52,105, 66,158, 39,244,123, 61,146, 68,
+ 97,140, 33,207, 18, 54,198, 99,  6,227,  1,105,150,241,230, 59,239,240,251,255,244,101,238,189,241, 10,164,211, 15,175,253,124,
+193,131, 27,239,241,135,239,222, 34, 43,107, 46, 93,185, 72,175, 95,160,141,129, 16, 80, 42, 33, 49, 41,173,111,144,104,134,195,
+ 49, 59,151,174,112,241,226, 69,206,109,109,112,113,103,192,114, 85,147, 26,205,249,205, 30,147, 81,159, 81,207, 80, 53, 48, 95,
+205, 40, 76,202,185,201, 22, 91,147, 29,156,141,  7,202,100,115,147,235,215,159,194, 58,203,104, 49, 37,221, 28,211, 38, 41, 15,
+130,228,253,208,226,238, 61,132,121, 69, 35, 90,238, 38, 41, 33, 73,226, 66,150, 43,152,205, 62, 30,168,108, 32, 16,221,208,132,
+  3,234, 16,  1,115, 73, 47, 82,112,124,196,169,136, 85,  5, 59,231, 35, 23,122,122,130,104, 90, 68, 93, 33,147, 20,233,107,100,
+ 43,209, 73, 74,235,107, 22,222,242,249, 34,101, 59, 45,216,208, 25,133, 50,100,214,163, 29,252,122,179, 96,190, 94, 96,189,199,
+244, 71,180, 38,101, 97, 18,202,  0,181, 20,228,109, 69,175,173,  8,120, 26,153, 96,242,148, 79,111,246, 40,164,196,104,141, 86,
+ 18,167,  4,109,  0,169,  4,135,141,231,225,172, 98,229,  3,206, 59,180,107,112,193,163,  4,104,165,168,136,174, 87,190,  3,231,
+173,189,165,150,130,  6, 31,253,219,125,244,143,136, 29,192,240, 67,169,166,167,  2, 76,161, 12,220,202, 50,222,113,129, 42,209,
+145,239, 93,198, 10, 44,132, 64, 37, 96,167,151,115, 78,105,140, 78,153,186,  6, 45,162, 22,115,233, 45, 54, 56, 10,169,152,219,
+  6,139,164,118, 22,237, 26,158, 85,154, 52,  4, 86,222, 49,146, 10,150, 77, 44,238, 26,139,145,138, 20,137,116, 93,178, 88, 53,
+120,223, 18,250,154,202,193, 48,209, 60,181,153, 98,172, 39, 33,112,161, 63, 96,189, 42,217, 30, 12,152,203,132, 32, 36, 42,201,
+ 25,103,  5,235,160, 25,231,125, 86,222,177,221,159,112,185,159,113,212,120, 68,154,243,245, 69,201, 19, 70,115, 79,105,174,104,
+201,237, 10,158, 72,  5, 15,188,167,215,212,180, 74,144, 32,152,121, 24, 11,207, 34, 56,156,171, 88,121, 79, 79,192,212, 89, 70,
+ 34,208,  4,112, 66,241,164, 50,188,227,107, 46, 33,121, 75,192,139, 73,206, 93,147,112, 81, 27,222, 15,158, 45,224,166,183,220,
+106,  2, 99,165, 17, 34,197,168, 22,169, 12, 46, 40,242, 68,115, 48, 91,115,105,212,227,214,178,225,124, 10,123,117, 60,114,135,
+ 66,179,198,211, 84, 75,250, 58,  2,217,166,173,135,218,117,113,188, 27, 39,186,174, 98,167,253,208, 56, 88,252,200,192,222, 81,
+183, 37,177,170, 86, 93,  7, 51,209, 32,  4,218, 40,180,  8,  8,161,169,  3,228, 38, 42,190, 89,239,185,152, 37,216, 16, 72,164,
+166, 57,125,202,132,239,204,204, 58,  1,142,214,198,207, 13, 81, 34, 59,130,202,221, 79,116,109, 31,235, 34,125,200,137,228, 47,
+ 98, 80, 63,173,216, 53,177,202, 62, 69, 25,  6,  1,153, 62,203,138, 66,151, 37,  9,206,130, 54, 33,234,214,159, 86, 41, 74,198,
+118,189,236,104, 76,167,115,118,219,  5,241,211,155,172, 58,142,187, 13,159, 44,190, 34, 85,220,101, 74, 67, 34, 17,182,107,142,
+216, 40,136, 33,124,183, 20,147,130,205, 68, 17,218,138,182, 89, 51,204,198, 12,178, 13,198,189, 13, 82,147,179, 63, 59,226, 79,
+223,121,133,  7,211,123,164,166,  3,240,219, 21,219,147, 30, 87,182,119,184,176,125, 30, 33,  2, 89,175,143,144,146,229,186, 97,
+255,254, 17,171,249, 17, 77,211, 80,214, 75, 42, 91, 67, 80,100, 73, 15, 17,  2,141,107, 89,149,150,195,101, 69,187,255,160, 75,
+ 74,  4,172,150,132,189,125, 14,110,223,128,249, 97,108,  1, 53,117,100, 12,156,142,196, 69,231, 25,239, 31, 31,  9,  5, 24,158,
+227, 75,159,251, 28,159,123,234, 51,108, 76, 70, 12, 71,  3,114,147, 80,149,150,147,147, 57,127,254,199,223,141,247,227, 20, 40,
+226, 60,143,124, 44, 67, 60, 56, 31,188,123,135,239,125,227, 21,190,250,251, 95,161,244, 45,118, 81,146,100, 25,218,104, 76,146,
+208,235,167,100,121, 70, 49, 72,201,250, 61,138,241, 16, 41,226,140,209,152,200,107, 46,215,107,132,247,180,109,137, 50,134,209,
+214, 38,147,173,  9, 38,139,114,146,171,229,154,182, 46, 89,204,230,252, 79, 95,251, 42,111, 63,188,195,107,239,191,207,139, 47,
+ 60,207,104, 60, 32, 43,114,242, 34,167, 63, 28, 48,220,218,160, 55, 26, 50, 26, 14,201,  7,  3, 30, 62,120,200, 31,252,224, 13,
+190,245,199,175,113,247,198, 13, 16, 77,236,100,124,146,254, 63,192,193, 49, 55, 30, 30,241,167,175,252,128,151,222,191,197, 83,
+227, 17, 27, 23,207,113,241,218, 14,147,157, 13,174, 61,125,149,171, 79, 62,193,151,191,240, 44,151, 47,109,199,138,190,245, 28,
+ 28, 46, 81, 70,112,245,226,152, 11,219, 35,138,110, 22,183,118,  2, 91,195,120,188,193,245,207, 62,199,198,249, 77,124, 11,227,
+141, 45,130, 80,124,243,187,127,198,255,245,181, 63,229,202,192, 80, 37, 61,110, 91,199,251,117,195,131,147, 99, 56, 41, 35,178,
+118,177,142, 98,210, 42, 33,168,  4, 50, 96,247,232,227,123,216,119,192,161, 68,209,223,238,211, 76,151, 49, 57,221,158, 64, 47,
+141,221,155,147, 21,162,138, 54,172,226,210, 21, 68,166, 16,203, 88,177, 11,219,198,194, 38, 81, 40, 91,161,147, 60, 66,112,234,
+146,103, 82,195,185,172, 79,142, 32, 73, 82,180, 80,104,161, 72,109,203, 94,112,212, 89,206, 74, 42,132, 80,220, 77, 52, 67, 23,
+216,193,177,227, 42,138,245,138,123,190,161,213,  3, 14,215,150, 39, 38, 57,163,212, 32,133, 32, 81, 10, 39,  4,247, 74,203,254,
+210, 50,135,200,176,168, 75, 42, 91,209, 75,  4, 58,207,  8, 40,180, 50, 88,235,168,157,163,  9,158,181,247,248, 16,240,161,229,
+178,  4,167, 12, 91,169, 97,126,122,216, 58,247, 49, 91,211,179,152,238, 99, 23,235,104, 69, 91, 36,209, 69,177, 13,  4,215, 85,
+ 96,222, 49, 79, 36,207, 22, 41,149,212, 36,161, 69,201,  8,228, 83, 34, 96,  2,148,221, 17,229,130,224,196,214, 76,189,229, 98,
+154,115, 94, 37, 12,148, 38, 13,142,224,160, 39, 37,210,123, 86,214, 82,152,  4, 35, 64,218,  0,101,139,181, 21,181,183, 52, 82,
+ 97, 10, 77,150,105, 18, 96,160, 84,244, 95,106, 28,231, 70,  3,150,141, 71, 42, 67,158,101, 88,239,104,164,166,151,167, 88,  7,
+ 73, 62,164,144,154, 36, 27,112, 97,208,227, 36,  8,206, 21,  9,135, 30, 46, 42,120,109,110,121,118,100,248,160,134,205,208,224,
+211, 20,215, 97,154,  6,  1, 30, 54, 37, 85,  8, 88,160, 23,  2, 11, 60, 61,107, 89,  3, 19, 20, 66,  4,142,133,231,146, 52,220,
+146,130,103,149, 38,223,220,224,103,175, 92, 36,152, 20,225, 60, 47, 55, 53, 54,104, 22, 68,109,  9, 25,  4,189, 84,177,108, 53,
+ 89, 18, 88,148,158,113, 79,115,111,222,240,244, 64,115,119,225,216, 52,150,131, 42, 32, 69,139,243,  1,109, 12,218, 59, 14,215,
+ 37,165,117,113,  2,107,195, 35,230, 85, 76,216, 92, 60,159,127,196,  8,245, 99,129,212,116, 69,161, 74,  8, 65,117,198, 86,177,
+104, 75,141,138,251, 16,129, 59,  5,187, 91,216,233, 71,225,172,177,209, 72, 31, 53,250,131, 20, 81,243,228, 84, 81,203,117,212,
+234,166,142,231,106, 85,198,239,249,132, 78,176,248, 73,175,245, 49,238,212, 95,204, 87,219,137,200,152,238,103,167,151, 30, 45,
+206,220,199, 43,251,212, 68,138, 26,254,140, 27,104,187, 22,100,234, 33,164,103,201, 66, 47,129,117,211, 45,126,135,254,246, 54,
+ 34,209,101,120,172,221, 46, 59, 49,154,142,163,104,146,168,  0, 87,241, 88,235,223, 67, 11, 65, 91,196,218,195,170, 33,139, 34,
+244,244,211, 30,203,218, 71,197,174, 36, 97, 54,155,115,178,154,226,214, 37,203,101,205, 75,205, 91, 20,201,123,188,112,110,139,
+ 39, 46,126,145,241, 96,128, 80,154,221,221,154,219, 55,223, 66,233, 12,223, 10,  2,142,218,181, 84,109, 69,109, 27, 18,157, 50,
+200,198,228, 38, 99,152,111,128,183,124,160,119,185,113,123, 55,106,206,  7,255,216,142,240,103,  6, 52,167,  6, 46,167,255,221,
+119, 40, 81,249, 17,125,120, 37,217,122,230, 50,207, 61,113,157,162,151,162,141,232,  4,  9, 28, 89,174, 89, 61, 88,193, 56,242,
+245,169,237, 25,135,191, 37,  2, 21, 79,191, 47, 77,163,164,112,145,241,205,127,242,149, 15, 45,217,214,207,127,153, 47, 95,186,
+200,206,165, 11,108, 94,218,161,215, 75,163,145,195,206, 24, 24, 83,151, 13,109, 99,217, 60,191,137, 78, 53,193,  6,180, 86, 24,
+163,113, 56,218, 54, 32, 26, 24,140, 11,240,  5,179,121, 11, 14,146,196,208,224,216,186,184, 77,145, 75,108,235,104, 92,180, 80,
+172,214, 53, 15,239,220,229,229, 59,247, 25,228,155,188,250,202, 59,176, 60,129, 81, 15, 84, 63, 38, 61,131,  1, 84,139, 31,190,
+ 47,143, 14,224,  8,170, 15,238,241,143,254,252, 53,184,124,  9,113,239, 62,124,246, 57,254,237, 95,252,121,242,254,152,147,217,
+144,117,217, 32,189,192,100,154,141, 73,193,197,113,143,205,126, 30,111,181, 10,100, 89,194,120, 99,128,200,158,138, 57,102,112,
+188,247,250,219,220,188,123,139,239,220, 63,198,189,113,227, 81,166,254, 63, 31,205,225,115, 21,253,237, 77,150,149,139,251,124,
+ 18, 45, 90, 89,151,240,246,109,120, 14, 24,111,198, 53,185,176,  5, 15, 30,126,188,  5, 41, 91,168, 44, 75, 27, 80,231,183,113,
+211,101, 68, 72,123, 31,147,103,  5,193, 27,196,209,  9,197,106,202,246, 96,192,223,253, 75,159,227, 63,251,230,171,132,195, 99,
+ 66,154,198, 25,117,154,226,109,131,175,107,222, 12,  3,158,184,251,128, 43, 89,143,190, 15,120, 17, 53,  4,164, 25, 82,104,195,
+197,197, 62,223,174,215,164,185,102, 46, 20,231,164,166, 48, 30,237, 13,198,123, 60, 45, 27,135,119,121,133, 30,215,253, 14,193,
+  7,166,139,146, 36, 75,  9,  9, 28, 90,199,173, 38,112, 79,  8,166, 70,179, 30, 22,132,249, 17,185, 84,152, 40,102, 64,227, 37,
+ 38, 13,132, 32, 49, 65,179,196,113, 65, 11, 46,  6,197, 40,233,113,210,180, 60,145,215, 44, 74,197,177,179,172, 67,244, 68,  8,
+118,246,232,240,252, 88, 85,100, 45,193, 46, 16,183, 90, 56,191,217,177,124,116, 44, 42,172,195,150,150,223,187,191,207,111,157,
+111,217, 28,109, 49, 17,130,147, 54,130,214,234,206,123,161,  1,234, 16, 56,180, 45,151,101,108,221,150, 50, 97, 32, 37, 35,149,
+160,133, 96,214,182,232, 16, 24,231,  5, 39, 39,199,168,209,  8,103, 59, 54,135,130, 22, 73,161,163,131,161,243,158,214, 41,234,
+ 16,216,206, 82,150, 30, 92,221, 48, 25, 20, 20, 54,227,110,213, 48, 23,  1,211, 56, 74,171, 49,198, 80,118, 93,233,220, 68,225,
+156, 76, 75,222, 95, 58,174,247, 13,239, 86,158, 79, 15, 52,239, 54,130,103,211,192,  7, 54,101, 80, 47,  8, 70,227,202, 37, 78,
+ 39, 20, 74, 49,  7, 66,221,114,220,180,108, 72,207,158,135, 75, 34,112,151,154,167,125, 70, 89,150,188,102, 44, 82,106,222, 49,
+  9,127,189, 55, 96,175,178,232, 36, 97, 79, 73, 74, 11,135,180,188,238, 20, 47, 72, 79,161, 60,  8,195, 80,181,204, 42, 77,145,
+  6,110,207, 27,158, 26, 24, 94,155,183,252,204,200,240,234,220,243,124, 22,120,173, 42,184,172, 22,212, 94,162,  4, 60, 53,200,
+185,177,104, 33, 84,157, 86,129,136,133, 73,211,169,141,214,205,143,197,101,127,232, 85, 55,145,223,111,125,180,172,182, 10, 82,
+ 79, 63, 79, 41,157,199,  8, 73, 21, 44,163,212, 80,119,137,151,109,  3,131, 84, 81, 57,135, 38,160,235,192, 80, 72,142, 17,157,
+125,136, 63,147,232,126,  4,198, 78,160,250,209, 99, 31,241,227,174,245, 47,124, 80,167,163,202, 85, 26,122,157,145,129,239, 76,
+ 83, 76,215,102,207,116,231,212,214, 41,250,168, 54,222,208,143, 46,108,221,196,  0, 45,  0,147,241,185, 47,127,150, 87, 31,238,
+194,205,135, 93,251,221, 71, 58,130,247,144, 41,240, 89,180, 27,236,247,224,104,  5,182, 59,228,155, 42,  6,255,196,196,162,182,
+249, 48, 27, 48, 72, 16,101,205,178, 90, 51,206,199, 72,157,147,138,136,164,124,112,248,128,101,185,226,198,253, 93, 88,175,226,
+130, 85,115,214,153,102, 53, 54,120, 91,  1,125,172,107,113,206, 81, 55, 45,213,122, 65,221,214, 56, 31, 40,215,109,172,208, 85,
+198,165,173,  1,193, 11, 60,138, 65, 49,192, 57,207,249,144,194,242, 43, 49,249,208, 81, 69, 12,253,120,251,149, 78,146,246, 49,
+141,247, 46,167,161,149, 17, 80,120,122,240, 95,186,198,139, 87,158,227,220,165, 49, 74, 72,166, 39, 43,154,229, 17, 23,175,108,
+210, 88,199,249, 11,219,252, 91,127,247,183,185,191,191,199, 87,126,247, 27,113,151,213, 31,161,  3, 42, 25,233, 26, 69, 63,126,
+143,214, 31, 10, 50,135,223,248, 30,255,247, 71,150,251,249, 95,255,  5,206, 15,134, 92,190,112,  1,157,166,209, 44,102,144, 19,
+214,241,175, 80, 38,193,152,216,154, 13, 68, 31,227,100,144,196,153,109,223,242,239,252,198,111,242, 63,254,238,255,  1,137,100,
+ 53,157,242, 15,254,241, 31,241,215, 62,245, 52, 47, 63,120,200,222, 91,135,224,231, 29, 87, 31, 24, 63,140,215,109,  4,156,204,
+ 64,218,104,247, 57,159, 71,225,142, 79,218, 71,159,240,208,137,123,247,  9, 90,195,107,111,243, 15, 95,123, 27,145, 38,241,225,
+172, 27, 68, 54, 64, 84, 11, 68, 22, 19,  5,  9, 92,251,249,207,147, 11, 73,166,  5,115,235,184,249,221,183,  8, 42, 33, 96,  9,
+235,234,147,219,110,243,  5,124,247,109,150, 23, 54,249,149,107,231,216, 40, 18,244, 83, 59,124, 35,  9,220,123,247, 30,172,102,
+ 48,155,119,163, 42, 96,115, 12, 71, 11,176,179, 15,127,206,218, 66,  1,159, 27,245,248,181,141, 33,127,248,193, 46,175, 77,203,
+199, 18,229,206,180,104, 81,178,126,235, 29,254,189, 95,250, 87,249,213, 43, 87,248,222,157, 15,248,202,201,148,160, 51, 66, 57,
+195,215, 41,193,181,248, 34,199,219,134,175,238, 62, 96, 35,215,252,246, 19,134, 68,106,196,112,130, 84, 26,153,123,  6,118,200,
+206,234,128,239,155,  6,163, 13,185,148, 72, 31, 72,147,148, 53,240,245,241,121,158, 20,130,155,111,127,139,244,250,151,249,218,
+219,142, 43,155, 99,206,111, 11,110, 79, 29,119,173,228,102,235,152,  9, 73, 83, 36, 32,  5,230,220,  5,204,238, 29,150,171,  5,
+ 65, 74,  6,169, 97,186,136,159,185, 12,150, 11,202,145, 72,131,146, 22,227, 51,114,235, 88,147,177, 47,  2,131, 60,103,221,  2,
+227,110,141,171,197,135,166, 79,143,227,151,  5, 16,170, 10,238, 31, 64,158, 66, 54,140,103,142, 74,161,113, 44,108,224,165,116,
+ 65, 38, 52, 39,105,198,197, 98,192,180,142,200,229,212,228,148,182,225,184,169, 24,104, 67, 38,  4,243,  0,219, 38, 97,209, 21,
+152,133, 78, 24,229, 25, 78,104,230, 74,209, 26,201,251,174, 97,220, 88, 18, 99,168,188,163, 41, 82, 90,162,100,114,161, 21,171,
+214,147,107,137, 13, 34,226, 48,128,158,138,  9, 89, 91,150,108, 37,  5,119,155,146, 60, 49,148,  1,242, 16, 71,135,109, 16, 28,
+  5,200, 43,203,103,  6, 41,223,157,213, 92,235,105,238,183,146, 23, 18,199,205, 82,178, 65,203,145, 74, 56,215,214,172, 76, 66,
+181, 94,113, 36, 36,206,149, 52,222,146,  8,203,145,109,217, 86,130,131,170,102,146, 24, 94, 46,167,108, 38,154, 89,235,201,141,
+160, 89, 46,120,115, 62,101,167, 24,208, 42,197,126,213,114, 76,224,165,202,145,104,199,107, 94,177,145,192,162,180,228, 89,142,
+162, 97,182,242, 92, 30, 38,124,176,104,248,153,190,228,141,185,229,201, 68,240,176, 85, 60,171, 27, 94,159,195,115,121,194, 92,
+165,220,106, 43, 66, 47,237, 76,196,154, 56, 58,170,218, 24,234,214,213, 99, 54,211, 63,197,107, 93,129,182,192,  8,180,131, 84,
+179, 44,163,  5,184, 74, 52, 70, 73, 78,170,134,171,147, 28,103, 29,202, 67,229,186,159,165,143,221,251,224,200, 92, 96,237, 79,
+129,112,174, 19, 71,235,108,185, 87,117, 84,240,252, 88,116, 62, 59, 23,195, 79,120,185,127,177,131,186,237,204, 90,172,232,120,
+241,167, 64,183,110,  6,184,110,206,156,196,188, 61, 19,161,249, 97,175, 58,222,145, 87,191,246,221, 24,196, 79,171,124,255, 24,
+131, 85,105,200, 61, 12,134,144, 36,176,  9,220, 95,156, 93, 79, 49,138,115, 75,162, 17,156, 56, 21,199,137,189,108, 66,101, 89,
+ 85, 48, 26,166, 36,186, 79,101, 75,102,229,130,195,213, 49, 55,238,220,135,227, 67,130,179,103,127, 15,176, 55,171,216,189,127,
+135,114, 62, 71, 38,154,227,195, 99,102,213,138,101,185,102,209, 54,204,203,134, 89,105,  9,  8,158,191, 50, 68,  7, 69,150,229,
+ 60,249,204, 14,219,163, 62, 71,179,134,219, 47,223, 60, 83,195,179,182,227,101,126,244,126, 62,  6,250,163,235, 62,160,161,144,
+103,120, 57,145,130,244, 92,184,124,  1,219, 88,218, 16,216, 59,184, 79, 18, 26, 54,199,151,209, 74, 98, 93,206,106, 85,113,113,
+107, 11, 46,244,225,224, 48,118, 56,156,238,172, 95, 57, 83, 91,114,116,155, 89,254,216,135,237,173, 63,252, 58,111,253,184, 61,
+145, 13, 98,226, 49,216,140, 24,135,209, 32,234, 18, 68, 21,147,136,230,247,  9,255,221,255,246,207, 64,106,254,224,149, 55, 35,
+182,162,  7, 52, 58,  6,240,193,168, 67,166, 42,200,  4, 60, 60,140,166, 70,117, 27,215, 28,162, 62,182,254, 49,160, 27,173,  9,
+137,142,163, 23,173, 99, 98, 87, 87, 80,100,136, 52, 33,132, 78, 40, 41,212,241,223, 74,114,251,123,111,197,251,178,174,  8,105,
+210,  5,241,179,128,254, 67,179,116, 95,145,174, 87, 60,169, 36, 89,175,143,149,112,237,252,  6,247,238, 29, 16, 86, 37,236, 29,
+193,176,224,133,193,  6, 23, 47,247,184,163, 20,239,190,249,206, 25,112,168,110,226, 22, 77, 13,255,218,198,144,207, 14, 55,153,
+143, 23,188,246,238,126, 12, 96, 33,196,102, 12,113,189,194,114,205,195,245,140,111, 60, 52,188,221, 27, 17,178, 30,161,138,230,
+ 61, 62,149,184,218,224,106,143,  5, 92,240,252,222,238,140, 47,101,247,120,214, 24, 84,145,161,210,113,167,253,225,216, 94, 44,
+113, 70, 99,116,194,148, 64, 38, 21,149,119,100, 73,198,103,183, 71,220, 45, 87,136,237,243,188,250,218,119,120,227,254,132, 47,
+ 61,241,105, 38,147, 45,230,105,202,221,  0,239,229, 25, 33, 55,204, 67,202, 36, 79, 25,140, 28, 75,127,145,254,209, 62,231,219,
+146, 89, 89,145,100, 57,203,166,226, 82,174,187,238, 86,  4, 58, 89,111, 59,134,131,229, 66, 47,101,160, 28, 39,141,165,246, 41,
+ 34, 73,192,234,179,231,229,163,  1,189,139, 16,162,245,  4,106,  4, 93,155,183,167, 64, 37, 60,159,107,246,214, 45,239,172,151,
+ 60,157, 24,254,232,240, 62,207,245, 71, 28,122,199, 86,  8,212,214,178, 36,208,247,150, 82,106,158,205, 10,142,156,101,164, 52,
+ 74,105,166,206, 17,156, 71, 38,130, 96, 18, 10,163, 88, 24,201,155,194, 80, 87, 53,163,126,206,229, 65, 78,138,164, 10,  1,221,
+ 56, 92,  8,132, 54,138,103, 89,231,232,167,  9, 77,235, 49,222,115,177,215,227,157,213,138, 65,166,153, 89,143,129,200, 51,111,
+ 27,210,212, 80, 54,146,144, 41,246,125,224,185,161,230,161, 15, 92, 48,112,215,195,166,180,148, 66,176,221,192,162, 13, 72,219,
+112,136, 32,109, 74, 30, 46,215,100, 58,174,181,108, 26,246,218,134,212,104, 30, 54, 21,  3, 20, 95, 63, 92,241,194, 48,227,235,
+243, 53,151,250, 67,254,217,221,  7, 60, 61, 26,242, 96, 89, 17, 18,197,141,202, 50, 16,130,169, 85, 24, 42,110,161, 24,209,112,
+137, 64,158, 27, 84, 82,208,184,134, 29,227,185, 97,115, 54,243,146,147, 50, 10, 88, 89, 18, 46, 23, 37,149,119, 44,116,202, 42,
+ 73,226, 94, 30,100, 81, 99, 99,255, 48, 62,255,161,254,240, 25,247, 47, 18,107,234,  5, 52,105, 92,252, 60,129, 36, 97,229, 61,
+153,247, 76,180,161,170, 45,185,136,  0,105,237, 61,179,178,165,200, 21,  7,179,166, 59, 14,196,217,216,183,237, 68,205,232,152,
+ 89,202,158, 61,139,143,206, 96, 27,223, 31,  9,238, 63,238,245, 23,115,166,254,161,150, 97,135,130, 23,221, 35, 39,100,188, 97,
+153,236,110, 26,143, 85,219, 33,  6,182, 79,  2,186,157, 26,190,200, 83,213,185, 83,222,123, 56, 67,131, 75, 25,219,215, 60, 70,
+163, 91, 46,207, 42, 54,173,163, 12,163,245,103,  7,190,235, 84,130, 20,160, 21,201,213, 43,124,241,201,231,185,184,125,149,162,
+ 55,194,136,140, 15, 78,238,115,239,232,152,102,239,222, 25,245, 66,200, 88, 37,154,132,205, 34, 65, 72, 71, 93,149, 44,214, 11,
+ 86,117, 77, 93,151,236, 46, 87,220, 63, 92, 80,238, 45,163, 40,144,146,108,111, 79, 24,154, 30,253,162,207,103, 94,184, 64,145,
+ 37,152, 68,241,237, 55,239,114,240,230, 75, 63,  5, 29,209,159,221, 96,147,116, 42, 72,221, 61, 50,138, 81,209,163,151,245,152,
+ 77, 79, 56,153, 31,113,126,107,131,205,241,  4,147,104,150,101,131, 13,129,166,105,120,229, 27, 95,239,184,154,221, 40, 66,158,
+ 81, 65,162,140,176, 63, 83,  5,108,237,255,247,253,160, 58, 42,  9, 73, 76, 74,178, 36,182, 73, 90, 11,182,142,127,203,186,142,
+120, 11,213,141, 23,144, 48, 93,194, 98, 17,245,  0,132,138, 26,226,167, 56,139, 85, 25,255,127,103,227, 79,223,173,175,215,103,
+  0,202, 79, 50,249, 49, 49,145,139,162, 19, 62, 50, 91, 30,243, 28, 66,117, 10, 83,117, 67,208,170, 19, 76,234, 16, 64, 82,158,
+ 85,229,178, 99, 82,104, 69,112, 46,238,179, 83,199, 65,211,237, 85, 37,177,  2,158,221, 28,162,250, 61,230,222,243, 86,217,112,
+178, 92,198, 68,183,106, 97,210,231,122,127, 72,145,231,204,157,229,160,108, 16,101, 21, 19,139, 52,237,186, 53,134, 89,154, 16,
+180,224,119, 79, 42,214,181,131,118,  9,210,159,209,109, 68,138,168, 26,190,125, 60,227,196,192,161, 54,172,235, 18,177, 88, 32,
+122,  3,100, 83,162,130, 66,202, 22,105,114,164,  3,233, 74, 70, 46,240,252,230, 24,147,230, 49,217,173,203,104,250,226,214,188,
+237, 45,109,154,210, 51,105,180,120, 37,112,208, 68, 97,141,255,101,252,  4,193,199,110,133,189,191,203,157,195,247,121,107,239,
+ 54,183,246,239,178,191, 94, 81,175, 42,234, 32,232,121, 79,147, 37,212, 89,130, 79, 12,106, 48,132,164,207,192, 11,180,111,241,
+ 66,176, 21, 44,153,209,244, 67,192,  8, 65,  8,  1,139,196,116,254,  6, 83,219, 50,212,134,195,170,134,117, 27, 61, 31,252, 39,
+  3,171, 68,151,233, 10,186,202, 11, 27, 37, 87,211,140,223,121,114,135,191,119,237, 58,231, 50,197, 43,213,138, 87, 79,214,120,
+169,152,226,145, 74,243, 65, 83,210, 42,197, 68, 40,174, 38, 25, 67,161,162,229,179,  0,100,188,255,167, 14,146,214,100, 88,  5,
+137,214,172,  2, 44, 19,197, 58, 49, 12, 51,195,112, 16, 21,246,122,169,230,216, 90, 18,  4,  1, 56, 92,173,217, 74, 52,  7,101,
+205, 36, 79, 41, 91,135,181, 22, 27,160, 85,154,224, 26,218, 32,177,109,139, 48,  9,179, 54, 48,236, 41,170, 74, 32,132,197,  5,
+ 65, 30,  2,107,  4, 67,235, 88,120, 71,210,182,172, 93,203,134,173, 57,176,150,121, 91,242, 94,109,209,173,229,184, 92,211,148,
+107, 22,174,197, 16, 56, 90,213,140, 19,195, 91,243, 21,147, 94,198,219,139, 53,151,132,228,173,249,156,  3, 91,243,157,195,  3,
+ 50, 35,248,206,241, 17, 79,106,193,157,  0, 33, 56,146, 32, 25, 59,139,209, 73, 52,195, 14,142, 32, 28, 19,173,121,183, 12, 92,
+144, 21,199,107,207,197,141, 30,247, 79,214, 36,210,211, 87,154,227,186,164, 72,163,127,125,169, 19, 26,225,226,115,155,117, 12,
+ 41,107,127,226,160,248,195,  7,238,157,152,140, 54,241,140, 70,225,188,143,213,186,144,132,214,210, 75, 13,107,219,208,  4,135,
+212,112, 82, 58,140, 11, 44,154, 54,186,129,  6, 65,104, 58,108, 78, 91, 66,217, 57,136,226,227,179,255, 40,174,157,130,154, 78,
+103,159,246,172, 91,252,255,251,160,238, 59, 41, 49,173, 58,222,122, 23,200,219,112,134, 42,116,237, 89,228,246,174,171,214, 62,
+  9, 81,223,  1,226,132,234,130,184,138,191,211,214, 93,203,186, 58,227, 28, 54, 54,122,174, 55,143, 41,234, 25, 29,171, 65,249,
+ 24,176, 76,158,185,155,137,172,207,139,207,127,134,103,158,188, 78,175,215, 67, 27,197,186,170,184,115,112,159,189,123,119,227,
+225,123,154, 28, 36, 26,146,132,173, 81,206,118,191,160,159,245,144, 82, 82,217,134, 85, 83,115, 82,150,236,174, 74, 88, 86, 81,
+251, 57, 72,212,164,224,252,104, 64, 47, 53, 12,139, 49,219, 59, 27,228,137,102,182,106,248,214,107,119, 89,188,255,131,159,184,
+133,243,216, 13,238, 70, 19,157,236,109,136,148,183,247,235, 21,  7,199,187, 60, 56,216,101, 93, 55, 92,217, 58, 71,222,207, 81,
+194,243,224,225, 17,255,213,239,254, 19, 94,249,202, 55,187,160,103,226,125, 82,242,236,104,124,132, 57,232, 16, 38,173,143,149,
+241,143, 19,247,249, 81,175, 34, 59, 11,138,139, 89,180,225,108,218,174,187,146, 69, 31,128,208,237,  1,239, 98,144,174, 42, 88,
+150,221,247,106,232,231,241,193,245, 62,226,  0,230,221, 92,218,119,202, 21,233,169,211,223,169,196, 36,143, 37, 42,143,  5,118,
+173,227,126, 60, 77, 42,165,  6,235, 59,139,204,186, 75,244,116,164,133,101, 25, 66,  9,196,186,138, 18,188,213, 58,  6,112, 37,
+161,170,  9,173, 37, 56, 23,  3, 58, 68,  3, 14,217,129,118, 78,177, 16,222,131,245,188,225, 53,111,103,  9,175, 84, 53, 83,231,
+ 97,181,132,121, 25,247,112, 19,120, 48,204,153, 33,120,191,177,113,252, 81, 85, 81,191,191, 41, 17,131, 17,120,203,129,144,188,
+ 44,  4,107,147,196,189,188, 92, 67, 43, 17,202,116,186, 15, 18,241,255,114,247,102, 63,150, 93,217,153,223,111, 79,103,184,231,
+ 14, 49,228, 72, 50, 73, 22,139,172, 42, 85, 21, 85, 82, 73,130,160, 22, 36, 75,141, 22, 44,248,193,  3,208, 86,  3,110,219, 13,
+ 63,250, 47, 51,252,110,192,112,195,176,209, 70,171, 37, 75,213,146,154,170, 42,138, 51, 43,147, 57, 69,198,116,167, 51,238,193,
+ 15,123,159,184, 55,147, 76, 50,201,178, 90,178,  3, 72, 68, 70,144, 25,113,239,153,214, 90,223,250,  6,101, 17, 91,203,131,237,
+  6,117,253,128, 91,215,142, 88, 61,190, 68,216, 30, 57, 88,164,208,136,160,144,214, 34, 11,133,104, 59, 62,233, 45,127,120, 56,
+167, 16, 18,  3,208,111,177,219, 11, 86,245,138, 15,186,154, 48, 61, 64,  8,205,144,101,108,134,129, 19,239,185, 16,130,143,100,
+  6,147,138,160, 13, 97,146, 19,154, 13,190,174,  9,247, 31,224,127,241, 49,254,242, 49, 65, 14,180,213, 49, 93,153,211, 41, 29,
+ 11,102,105,248,238,209,156, 27, 55,142,177, 46,199,132,150, 73,240,116,214,161,133,194,251,  1,129, 32, 87,138, 44,  4,154, 16,
+ 48, 90,243,160, 27, 88, 90,  7,117, 29,143,219,115,178, 25,196,179,150,206,206, 33,144,176,168,248, 31,223,120,131,239,221,186,
+205, 76,104, 62, 89, 95,242,206,147, 53, 89,174, 25,  2, 44,219,158, 89,158,227,128, 91, 42, 99, 46, 37,133, 54, 76,132, 68, 74,
+131, 37,112,233,  3,  7,202,208, 20, 57, 34, 56,188,212,244, 90,115,233, 61,  5, 10,147,233,216, 95,186, 64,149, 27,150,214, 83,
+132,120, 29,158,110, 27,110,205, 38, 60,222,116,204,139,140,139,186,231, 64, 11,140,212,252,221,122,205,224, 28,173,215,224,  3,
+ 65, 25,148, 86, 88, 31,184,223,195,161, 10,100, 33, 80,134, 64,  7,204,173,227, 52,128,104,182,212, 33, 48,107, 26, 62, 28,122,
+238,110,182,124,214, 13,172, 55, 43, 30,247, 61,194,245, 92,214, 45,198, 57,206,182, 61,173, 11, 60,104,122,230, 38,227,147, 77,
+ 67,107, 61, 79,250, 30, 19,160,189,216, 50,207, 52,247, 30, 60, 97,154, 27,126,113,118, 73, 46,  3, 86,101,244, 93,143, 45, 10,
+142,157,231,220,118,220,153, 77, 57, 80,154,191, 89,117,188,148,  5,150,131,228,102,230,121,111,235,248, 97, 41,113, 34, 62,223,
+107,175,152,232,192,113, 53,227,141, 50,231,129,135, 46, 35, 89,125,187,100,  6,243, 75, 14, 14, 42, 37,143, 10, 15, 62,145,220,
+164, 96,232, 61, 91,235,153,103,154,203,186,167,202, 36,221,224,  9,214,147,201,192, 89, 29, 83, 62,109,231,147,227, 93,226,189,
+140,164,107,229,147, 29,249,222,179,227,115, 30,135,105,192, 26,107,203,255,175,139, 58, 36, 55, 57,157, 38,193, 36,228, 31, 69,
+255, 67, 27, 59, 43,111,227,  3, 94,136,184,220, 54, 42, 49,214,213, 78,228,159, 38,164,200,118,212, 49, 69, 13, 17,255,110,251,
+221,109,109, 19, 75,209, 39,120,100, 60,200,185,217,113,207,228, 51, 12,135,174,135,170,226,230,173,107, 28,207,142, 41,202,146,
+ 97,240,212,219,154,119,238,126, 64,119,113, 17,139,158, 78, 19,122,145,113, 84, 25,110,204, 42, 14,167,115,166,217,  4,135,167,
+ 29, 90,182, 93,199,233,166,163, 91,117,208,244,  8,149,145, 95,159,114,115,154,113,109, 54, 99,106, 42, 94,122,229, 21,138, 73,
+206,106, 99,121,255,239, 30,242,167,239,254,  5, 60,185,255,212,195, 73,188, 48,244,148, 26, 22, 49,190,151,152, 12, 84,167,164,
+180, 89,150, 83,233,130,224, 53,171,117,199,207, 62,120,143, 79,127,242,211,  4,171, 39,169,134, 81, 79, 63, 13,251,244,189,126,
+116,176, 19,187, 44,251, 95,138, 60,153, 94,107,121, 24, 39,115,145,108,111, 93, 42,230,117,  3,243, 73, 50, 28, 18,177,160,139,
+244,121, 68, 11,132,136,141,223,166,139,231, 98,148, 73,218,100, 35,108,187, 24,220, 99,147,132, 82,132,167, 11,187,148, 73,190,
+ 39, 99, 34,133, 76,215,140, 34,  5, 12, 69, 27,201,200, 41, 40,162,253,240, 96, 83, 83, 82,199,194, 61,106, 91,115, 19,139,122,
+158, 69,219,100, 72,175, 47,201, 56,199,235, 87,200,200,202,239, 97, 56,152,197,107,219,  7,184,220,198,162, 44,163,214, 54, 52,
+ 61,219,202,196,127,155, 73, 88, 54,241,218, 94,204,162, 68,173,168,224, 98,  5,229, 20,170,114, 23,236,115,177,130,114,130,240,
+  3,120, 27, 19,168, 68, 76,108,234,231, 37, 75,107, 17,141, 69,172, 26,132, 10, 96, 20, 34, 12, 49, 98,120,112,144, 73,130,115,
+ 28, 59,193,145,239,200,109,141,104,123,134,102,205,178,235,249,105,211,211,151, 57, 42,159,224,165, 38,120,135, 84, 18,215,183,
+ 60,193,208,154,  2,170,  5,193, 76,  8, 66, 68,144,164,200,162, 25,201,242, 18,127,177, 36,232, 64,152,222, 32,  8,193, 80, 42,
+254,235,131,146,255,252,118,201,119, 15,115, 84, 85,240,241,137, 37,147, 29,202, 58, 38, 90, 19,136,249,215,222,123,186, 16,112,
+ 82,240,164,111, 89, 15,158,229,120, 29,174,187,200,246,127,166,152,239,238, 33,153, 38,246, 84,220,101,  0, 83, 82, 77, 37,133,
+208,252,117, 83,243,191,156,159,211,213, 61,235,186, 69,107, 73,161, 53, 10,137, 81,129, 45, 80, 72,197, 53,101,112,233,180, 22,
+218,160,164,162, 23,146,198, 57,230,101, 21,139,117,240,244, 82,114, 14,180,  1, 38,133,161,146,146,243,206,226,189,139, 91, 72,
+  4, 85,174,121,180,108,184, 49,201,185, 88, 55, 40, 41, 17, 82,112,222,245,200, 32,184,112, 61,125,231,241, 90,131,214, 52, 67,
+ 67,231, 28,219,190,199,135, 64,150, 41,206,235,142,128,231,253,203, 45,249,176,101,233, 99,254,251,169,183,216,102,205,224,225,
+100,117,193,103,174,167,217,108, 88,110,214, 88,224,100, 89,179, 50,146,117,107,169,  7,203,121,221,225, 16,201,179,193,227, 86,
+ 91,130, 54,180,203, 21,193,  7,218, 39, 43,130, 81,216,186, 35, 12, 29, 97,186,160,169,183,172,116,198,111,205, 42,150,155,134,
+206, 75, 94,158,228, 52, 93, 75,129,133,188,224,142,239, 57,241,138,174, 95, 97,109,207, 16, 96,145, 23,228, 66,210,218,232,210,
+247, 32,136,200,125,154,100,241,126, 24,161,239,111, 98, 89, 62, 42,173,178,184, 90,193, 13,  9,185,181, 87, 40,192,122, 24,168,
+123,139,181,  2,111,  3,195,224,217, 52, 14, 33,  2,182, 79,161, 96, 93, 31,159,159, 46, 14, 99,144,146, 78,247, 93, 87,125, 26,
+  2,174,166,244,196,102,180,254,133,204,220,254,241, 20,117, 83,196,244, 32,228,151,230,117, 63,119, 90,207,246, 32, 80,165,227,
+129,242, 67,100,172,219, 62,234,110, 69, 58, 34, 33, 77,135, 90,236, 96,244,164, 41, 39, 36,104,101,132,232,165,220,155,244,211,
+212,101,197, 14, 94,127, 54,181,205,167,137,223, 37, 41,152,243,145,176,225,  1, 97, 56,203, 37, 47, 47,230,244,221, 64,176,150,
+187, 79, 62,229,131,123,159,236,180,144, 58, 78,131,147,210,112, 56,201, 89, 76, 43,102,249, 28, 41, 37,214, 14, 44,251,142, 77,
+215,243,164,238, 99, 30,187,206,224, 96,194,157, 69,201, 97, 89, 82,230, 37,243,114,206, 91,223,123,157,235,179,146,204,  8, 62,
+120,239, 99,222,251,228, 35,184, 60,249,166,112,200,158,110, 51, 69,241, 86,115,178,178,228,160,200,200,181,161, 13,129,143, 30,
+ 62,224, 79, 63,124,143,247,254,230,239,192,109,246,150,144, 38, 22, 43, 41,227,212,238, 82, 65,175,219, 20,247,153,154, 38,163,
+190,121, 39, 93, 20,177,136, 78,167,176,217,166, 41, 57,192,164,138,231,181, 79,222,246, 82, 70,103,166,182,191,178,239,197,199,
+104,225,120,142, 18, 44,159, 21,241,245,  5, 82,  1,110,227, 62, 61,249,223,211, 52,113,119,175,216,161, 67,251, 81,139, 87,225,
+ 13,114,215,224,133, 61,214,171,115,177, 48,236,191,223,253,191,123, 31, 39,243,100, 97,138,115,145,112, 39,211,100,158,114,  5,
+174, 86, 25,125, 63,218, 95,193, 43,183, 80,229,140, 27,101,197, 54, 23,240,228, 50,233,204,211,185, 92,204, 35, 18, 20,194,206,
+132,102,181,142, 73,123,155, 26,174,207, 33,  4,196,172,136,175,121,219,166,102,110, 27,139,121, 82,153,  8,231,163,157,229,249,
+ 26,113, 48, 71,228, 38, 30,183, 77,141, 24,250, 24, 13,170,210, 74,164,183, 64,224,167, 93,207, 27,198, 80, 17, 80,125, 75,211,
+ 90, 62,169, 91,126, 58, 56, 62,177,142,235,243, 25,223, 41, 42,222, 94, 28,161,134,158,181,247, 28,116,151,124,234, 76,108,172,
+102,  7,145, 56,184,184,193,143,143,143,185,223,172,240,189, 35,212, 91,194,253,207,  8,153,137,124, 10, 39,248,147,155, 37,223,
+ 59, 46, 89,228, 26,147, 73,126,182,246,232,213, 41,165,209,116,125, 71, 78,160,151, 38,150, 99,109,120,210,109, 25,132,196, 14,
+150,190,239,232,214, 49,255, 65, 52,245, 83,197, 92, 60, 85,216, 61,  2,141,192, 94, 77,235,216,142,159,  7,195,159,122,199,159,
+ 55, 61, 53,169, 73, 20,130,237,186,129,204, 96,113,136, 32,201,149,226,186,210, 12,  4, 94,214,  5,185,206, 89,135,128, 70, 97,
+181,230,176,172,216,122,199,160, 13,235, 32,112, 82,176,246,129, 13, 49,161,113,150, 25, 42,163,232,  7,199, 48,120,172,128,102,
+176, 17, 58,111,  7, 14, 50, 21,141,180,172, 67,245, 22,213,119,  8, 33, 57,181,158, 94, 72,  6, 17, 73,215,117,223,114,233,  3,
+ 23, 46,176,217, 54, 76, 76,198,197,166, 97,161, 28, 15, 90, 75,233, 58, 30,110,107, 28, 61,219,110,203,159, 45, 47,184,168,155,
+216,144, 54, 17, 70,118,231,171,248, 60,220,180,208,247, 49,201,174, 31, 98,200, 86,211, 17, 86,171,120, 15,157, 44, 99,145, 93,
+ 94,198, 21,195,233, 50, 26,187, 12,  1,108, 67,168,230,116,237, 26,134,158,133, 12,156, 15,  3,133, 17,  4, 27,157, 11, 55,205,
+138, 90,192,147,166,230,208, 24,206, 91, 75,158,  5,166,166,192,  5, 16, 90,179,181,150,123, 99,152,202,164,136,190, 36,215, 15,
+163, 75,162, 76, 68,225,175, 83,103, 76,182,139, 20, 31,221, 73,247,239, 65,239,163,117,122,223,209, 53,142, 70,  6,154,186, 71,
+ 40, 69,223,244, 73,174,214,196,223,235, 54,169, 64, 63,199,117, 85,243,140,220, 40,125,253,130,205,200, 63,142,162,174, 83, 22,
+176,142,214,170, 95,197, 42,126, 62,213,120,239, 97,218,165,192,150,171,253,185,221,177, 92, 66, 58,112,195, 62, 20,236,158,110,
+ 14,180,121,122, 90,191,154,184, 83, 66, 92,231,118, 80,238, 62,132, 47,216,193,162, 33,193,180, 99, 23,166,  4, 46, 24,234,208,
+ 48,241, 61,203,205, 35, 46, 54, 39,108,124,199,224,119,150,130, 89,169,185, 86, 77, 56,172, 74,166,217,132, 66, 90, 78,169,235,
+  0,  0, 32,  0, 73, 68, 65, 84, 27,108,  8,108,135,150,139,237,134,179, 77,135,219,246, 48,128,152,228, 92,159, 23, 92,171, 10,
+102, 69, 69,174, 50,  6,  2,175,189,122,135,249, 52,227, 98,213,177,222,212,188,243,209,123,176,190,124,174,246,246,171,235,186,
+219,243,  3,144, 48, 95, 80,205, 74, 14,178,156,160, 20,171,186,229,201,102,203,242,228, 18, 46, 79, 83,243,147, 46, 88, 61,162,
+ 32,169,248,140,133,193, 36, 66,158,237,119,251,229, 47,156,212, 83,215, 58,194,226,232,167,239,  4,157,104,252,102, 22,245,158,
+ 70,198, 27, 80, 22,224,154,157, 54,116, 83, 67,189,141,231, 56, 58, 73,128,206, 83, 99,230,226,121, 51, 58, 54,  8, 46,194,226,
+148, 42,122,217,207,170,116, 46,109,146, 47, 57,162, 56,117,111,133, 16,194,211,133,221,166, 66,218,251,221,154,232,107, 48,117,
+ 62, 71,140, 51, 58, 54,164, 99, 65,246,196,227,233, 92,226, 61,  4,152, 47,120,235, 91,175,243,107, 71,183,184,153,151, 76,253,
+192,227,211,232,206,118,149,147,144,151,187,166,202,218,200, 11,209, 38, 73, 63,199,172,231,128,152,228,177, 72,103, 10, 46, 46,
+163,217, 19, 62,146,230,172, 67, 12,  3, 98,176,  8, 23, 82,118,193,140,127,254,250,109, 66, 54,112,250,217,229,238,149, 91,119,
+245, 30,124,215,241,231,141,197, 13,142,198,  8, 30,122,203,251, 18, 62, 81,240,104, 99,185,121, 48,225,119,111,188,196,245,188,
+224, 85,105,152,175, 47,168,221,128,217, 62,230,209,166,129,182, 39, 28, 28,240, 47, 95,191,206, 31,189,121, 27,161, 22,188,223,
+ 46, 99, 70,188, 84,132,135,247,225,248, 26, 28, 29,241,122, 85,240,237, 69, 78, 43,  4,103, 29,220,247,240,248,211,135,152,224,
+ 49,  4,214, 82,130, 16, 56,161,120,104,123, 10, 33,144, 42,103,232,  7,142, 50,104,236, 64,183,105, 16, 67,159,244,198,241,116,
+238,127, 22,105,167,254, 84,177, 31, 44, 98,219,211, 78, 13, 78,166, 66, 47,227,196, 37,130,163,217, 52, 52,198, 80, 72, 34, 63,
+ 70, 75,230, 62, 80,101,  6,235, 44, 83,105,152, 72,197,214,123,122,233, 17,186,164,182, 61, 94, 74, 30,  9,197,178, 23,172, 26,
+ 75, 94, 26,182,110, 64, 75,193, 76,105,188,243,180,221,128,246, 30, 63,120,242, 16,240,  8,164,  8,176,237,152,181, 29,165,179,
+168,224,104,115,197, 73,239,216,184, 64,235, 28, 27, 33,232,156,231,126,183,102,144, 25,149, 86,200,190,225,222,106,195,249,208,
+178,238,123, 54,182,163,235,123, 62, 91,175, 57,107, 45, 92, 46,227,245,119,177,142,241,219,193, 71,181, 81, 63,196,123,202, 54,
+241, 26,243, 67, 84,141,228, 57,156,158,199,251,111,181,138,215,196,118, 27,135,159,109,  3, 34,198, 37, 35,162,251,231, 89,223,
+ 51, 15,240, 51,231, 89,116, 29,235, 32, 88,214, 91, 30,  4,133,182,142, 39,214,161,188,231,174,179,252,197,118,203,107, 50, 96,
+101, 96, 51, 12,252,101,111,227,229,138,143,107,184, 60, 71,234,156,151,143, 15,152, 29, 77,168, 15,231,  4, 39,211,250,244,  5,
+208, 65,231, 34, 73, 88,184,221,189,  2, 41, 95,100, 72,171,222, 16, 27, 24,198,148, 75,129,235,250,248, 59,172,141,  5, 93,217,
+157,204,247,203,102,168,209,  9,117,159,168,247,194,180,162,127, 12, 69,221,251,180,175,216, 17,135,190,209,207, 64,198, 93,135,
+ 27,226,131,168, 75,218, 16,199,110, 23,225, 34,  9,126,127,  0,189,130,136, 71,237,185, 76,208,188, 16,241,117,165,155, 63, 66,
+156,163, 55,124, 58,137, 98,183, 51,143, 77,129,137,147,169,244,201,160,127,120,250,196, 76,102,148,243,  9, 85,169,200, 53, 20,
+ 38,222,232,151,214, 19, 92,180, 14,172,202,130,235,179, 41,243,162,162,204, 39, 41,173,171,231,124,187,230,164,110,217,110, 59,
+132,245, 80,104,110, 45, 10,110, 86, 21, 85, 81, 98,164, 70, 74,205,209,225,171,160, 74,250, 32,120,248,112,201,195,199, 15,249,
+232,254, 61, 88,158,127, 51,232,105, 31,133,240,196,155,114,126, 72, 85,149,232,148, 91,126,210, 52,108,158, 92,194,217,131, 20,
+180,147, 90, 80, 97,210,234, 34,117,184, 89, 34,132,141,176,187, 75,123,238, 97,120, 62,244,174,229,174,113, 29, 93,253, 70, 72,
+106, 50,141, 95,151,243,184,227,118, 46, 74,139,236,144, 32,172, 33,157,244,104,231, 24,247,224,  1, 84,145, 76,135,210,117, 83,
+153, 56, 69, 84,217,142, 91, 81,165,102,161, 72,174, 79,222,197,255,103, 36, 77,202,196,187, 24,228, 30,  9,208,196,189,155, 52,
+169,121,200, 32, 31,149,  4,207, 63,246,226,170, 81,121,186, 97,  9,251,141,141, 72,  1, 70, 46, 17,170,204, 12,249,171,111, 17,
+206, 47, 82, 53, 17, 80,206,184,249,202,109,102, 69, 69,166, 10,140,132, 79, 79,206, 97,187,142,175,105, 76, 78, 20,130, 76,  9,
+110,107, 88, 53,251,107, 43,153,204,151, 28, 28,205,160,152,197,  9,220,135, 68, 24, 84,136, 20,205, 43,246, 27, 62, 60,255,213,
+219,111,241, 47,222,252, 46,191,119,253, 38,239,172, 78, 56,191,216, 92, 53, 56, 87, 54,150,222,227,109,207,  7, 97,224,207,  6,
+193,217, 52,231,  1,158,115, 47, 24,108, 64,230,134,223,153, 46,184, 38, 13,197,224, 41,183, 23, 56,  4,210,  7, 84,127,201,163,
+229, 25,223, 95, 28,243,251,223,190,193,155,215,231,156,108,122,126,210, 65,200,  6,194,201, 25,225,244, 81,116,194,155,223, 98,
+ 57, 59,224,179, 65,240,216,193, 71,173,231,211, 85,207,185,133,220,121, 90,219, 70,110,177, 52,180,  2,132, 16, 32, 13, 50, 56,
+ 22,153, 33,247,  3,202,246,132, 48,208, 46, 55,  8,239,159,  2, 67,197, 51,224,168,124, 22,150,183, 61,172, 54,  8,159,208, 64,
+149, 26, 49, 36, 88,135,235, 58,214, 66,144,107, 67, 55, 12, 44,140,230,178,239,120, 75,231,  4, 99,120, 40, 36, 85, 97, 48, 86,
+ 80,  7,207,133, 54, 60,118,158,199, 27,203,214,123, 90,226, 37,238,149, 36,243, 30, 23, 60,218, 58, 46,235,142,185,148,184,222,
+178,181,  3,155,245,134,126,219, 48,107,  7,140, 31,208,222, 81,132,232, 65, 95, 86, 57,119,166, 25,111,148,134,219, 69, 70,222,
+247,172, 61,156,247, 13,239, 53, 91, 62,108,107, 30, 13, 29, 39,182,231,241, 96,121,220,108,121,112,121,198,210,  9,196,201,147,
+216, 36, 95, 92,198,235,146,189,208,173,164,144,136, 60, 20, 23,229,155,163,194, 98, 31,145,218,123,110,  6,239,146,135,134,132,
+ 34, 35, 92,108,  8,133,230,161,247,220, 14,158, 71,213,156,118,123,201,251, 58,167,116, 29, 91,107,217, 10,197,165,119, 56,215,
+115, 17,  2, 15,187, 30, 53,120, 78,219,154,251,193, 63,197,139, 58,194,243,118, 49,225,119,230, 19,126,237,224,136,223, 60,152,
+163,103, 57,247,114,149, 86, 98, 47,176,250, 19,196,250, 50, 42,147, 70, 95,143,113,101,107,251,184, 82, 27, 18,147,221, 15, 73,
+230,236, 18,212,158,  2,195, 94,244, 25, 60, 62,155,198,191, 75,253,197,132,220,127,180,240,251,213, 68,243,180, 85, 30, 90, 39,
+  6,115, 98, 11,127, 25, 81, 64,138, 52,125,141, 33, 42,201,222, 85,133, 29,204,106, 68,124,206,143, 63,195,164,234, 46, 19,236,
+234,146, 99, 80,158,195, 75,  7,112, 52,133,101,189,243, 65, 23, 50, 77, 30,209, 87, 56,154,180,236, 17, 28, 38,101, 44,236, 38,
+ 75,221,149,125,250,245,154,146, 27,119,110,240,202,252, 16,109,178,184,214,237, 91, 78,183, 93, 42,234,146,235,147,130,107,213,
+140,210, 24, 36,138,206, 15,172,251,154,243, 77,205,197,101, 13,189, 69, 40,197, 43,243,130,151,143, 38, 28, 84, 37, 70,104, 50,
+157, 83, 84, 83,254,211,223,255,  1, 63,126,243,  8,169, 21,127,241,211, 19,254,242,227,191,163, 89, 95, 68,189,242, 47,179,179,
+ 30,177,162,234, 16,142, 14, 40,141, 70,  9,120,188,174,105, 87, 27,184,184,136,197,121,212, 91, 74,145,136,114,121,220, 29,233,
+189, 34,110,212,142,245, 62,118,194,207, 67,113,236,142,  0,138,220, 63,119, 58,222, 48, 38,139, 55,154,117,145, 16, 87,111, 64,
+151, 17,249,  9, 42, 90,127, 14,109, 44,106, 33, 62,188, 17,169,185,168,242,216,104, 76,146,  4, 70,171,248, 59, 42, 19, 31,198,
+ 70, 38,182,121,216,153, 16,217, 68,192, 20,106, 15,194,243, 81, 58, 35, 68, 68,114,148,  1,153,237, 94,255,115, 61,197,147,235,
+222,216, 84,122,187,199,122,245, 79, 55, 54,227, 49, 29, 43,199,181,235,252,240,205,215, 57,249,224,227,248,125,231, 33,203, 56,
+ 61, 92, 80, 86, 11, 46,  3,188,223,118,116,143, 31, 68, 38,183, 17,144,149,208,110,184,118, 60,231,247,143, 42,110,101,154, 66,
+  5, 78, 46,215,241,191, 13, 77,132, 24, 69, 72,146,205, 99,254,217,241,171, 28, 79, 12, 15,158,156, 70, 67, 27, 19,163, 64, 73,
+211,171, 48, 26,208, 44, 22,134, 63,254,193,143,248,219, 39,103,220,117, 61, 15, 30,159,198,200,224,177, 65, 73,210,176, 49, 89,
+ 42,120,201,153,201,240, 72,110,  2, 63,170, 50,110, 20,130,169,148,188,220,  7,228,208, 32, 49, 52,190,229,  0,  9, 89,206,203,
+194,177, 25, 28,157,207,216,132,192,191, 62,233,120,210,119,  4, 83,194,172,140,199,110,189, 37, 72,135,206,143,248, 48, 72, 46,
+  7,248,100,176,172,183, 17,181,105,234, 26,134,192, 36, 19,116, 78, 32,114, 77, 70, 12,136,154,168, 12,165, 20, 42,192,205, 16,
+ 19,178, 30, 53, 61,170,115, 72,118,133, 93,125, 65, 65,127,182,176, 51, 88,196,182,129, 46,217,127, 75,  5,185,185, 74,236, 10,
+181, 99,179,220,178, 21,176, 10,158,185, 17,  8, 93,176,178, 61,103,182,229,124,112, 88,109,120,191,239, 80, 66,240, 68,  9,206,
+154,150,117,240,216, 44, 99, 93,183,100, 97,192,123,168,155, 14,183,109,168,140,138, 54,202,131,229,100,179,230,108, 91,211, 52,
+ 13, 19,107,163,211,156,181,  4, 15,153, 49,220,152, 78,184, 49,155,112,108, 12,151,131,199,202,128,168, 27,222,111, 55,132,161,
+ 33,244, 45,222, 89,232, 26, 66,189,134,243, 83,196, 96,225,228, 28,218, 22,177,169, 17,146,  8,179,135,164,  6,217, 47,232, 95,
+151,113, 46, 71,211, 31, 15,133,137,207, 82,239, 88, 26,131,234,182, 60, 54, 25,175, 14, 53,181,201,185, 59,180,204,148, 96,105,
+123, 78,156, 67,234,156,239,248,150, 75,239,249,168,109,  8, 30,222,146,146,133,144, 92,122,199,155, 38,227, 87, 38,134, 91, 38,
+199,168,128, 17,154, 75,223,115, 87,104,156,208, 17,189, 82, 89, 42,206,246,249,104,165, 73,211,186, 50, 96,219,196, 93, 73, 12,
+246,253, 24,242,167,  2, 89, 82, 16,216,215,217,231,107,253, 12,  4, 47,159, 46,246,254,255, 11, 69,221,185, 47, 46,232, 87, 15,
+197,  4,139,  7,249,197,112,201,213, 30, 34, 60,221,  5,238,235,112, 71, 25,149, 25, 63,167,255,238,252,110,210,145,137, 72, 39,
+ 45,211, 87,111, 49, 45, 50,154, 39,235,100,237,103,119, 48,116,231,119, 18,170,241, 53, 23,147,  4,131,202, 29, 84,237,159,121,
+152,231, 19,236,108,198,237,131, 35,148, 16, 56, 31,184,216,108, 56,171, 59,148, 86,148, 74,113, 52,201, 40, 77,134, 86, 10,239,
+ 28,219, 97,203,197,182,230,193,170, 78,177,166,176, 88, 20,188,116, 88, 50, 47, 74,140,201, 98,230, 60,130, 27,  7, 51,126,251,
+ 87,191,197, 98, 58, 99,106, 20,239,222,219,240,206, 47, 62,196,214,107, 56, 59,121, 46,188,251, 66, 59,165,249, 20,200,120,237,
+199, 63,224,215, 95,126,157, 91,179,  5, 65, 58, 90,215,209,124,250, 16,252, 38,237,206,139, 84,204,211,241,108,235, 72, 34, 28,
+139,184, 20, 17,150,203,205,206, 11,249,139, 46,246,241,220,143,146, 77,253, 12,194,226, 71,123, 95, 19,111, 68,157, 39,107,224,
+144, 98, 99,137,134, 67, 38,143, 77,217,200,  7, 48, 69,108, 20,117, 98,144, 79, 77,146,170, 40,200, 21,114,146, 35,180, 66, 26,
+ 69, 24,207, 33, 41, 48,104,176,241,223,140,112,154, 78, 48,254, 32,163, 49, 81,110,146,244,164,139, 23,135, 78,202,129,231,133,
+  1,233, 81,159,191, 87,216, 71,207,234,103, 31,120, 34, 77,235,227,199,118,205,201,199,159,238, 96,127, 66,108, 88,143,103, 60,
+201, 43, 78,135, 45,157,181,208,109, 34, 84, 58,254,204,131, 67, 94, 91,104, 50,163,  9,  1, 62, 89,246,108,181,129,213,  5, 76,
+230,208,213,241, 61,  8,193, 31,190,254, 38, 63,124,227, 85, 74,239,184,215,173,232, 78, 19, 92,218,237,145,199,140, 70,100,154,
+251, 23, 45, 31, 46, 31,241,192, 76,184, 11, 44, 55, 13, 97,179,141, 58,111, 41, 63,159,130,102,123, 66,208, 28, 21,240,134,210,
+188, 81,149,188, 49,159,210,121,203, 13, 37, 81, 46, 66,157,153,146, 76,117,134,240,150, 30,144,125,205, 79,159,156,240,111,206,
+ 59, 30,116, 77,132,221,117, 70, 16,  6, 42, 77, 48, 18, 46, 47,217,108, 46,121,141,130,207,182,  3,125,221,208,116,  3, 85,219,
+192,118,197,145,148,  8,153, 81, 77, 12, 90, 72,188,130,  3, 64,104, 69,142, 96,130,128,161, 37,195, 33,133,224,162,173, 81,131,
+101,164,  8,236,255,217, 47,242,159,219,185,251,184, 99, 23, 46,128,214,136,210,196,128, 35, 37, 16,237, 16, 55, 78,118,224,210,
+ 57, 30,116,  3,109, 24, 56, 13,142, 51,111, 49, 66,240, 81,223, 48, 17,130,143,189,227,209,170,166, 53, 37, 79, 54, 75,250, 16,
+168,125,207,196, 69, 87, 75, 97, 29,167, 67,199,114,187,165,173, 59, 62, 93,157, 51,244, 29, 67,112,172,251, 45,166,219,112, 83,
+ 40,108,146,241,137, 44,103,114, 48,141, 54, 17, 82,112,152, 25, 30,174, 87, 56,215,243,176, 27,168,235,109,188,103,150,231,132,
+203, 11, 56, 95, 34,150,107, 56,189, 68,132, 14,209, 70,164, 70,132, 30,132, 65, 40, 31,101,138, 62,161,114,163, 84,245,235, 32,
+131,222,167,240,149, 68,  0,237,134,132,140,246,116,194,131, 13, 92,106,197,118,179,129, 32, 89, 91, 71, 23, 28,232,156, 31,251,
+134, 11,149,241, 27,153, 96,134,226,183, 84,148,159, 86, 67,205, 45,161,208,120,126,101, 58, 97,145,130,210,182, 67,199, 84, 74,
+126,178,105,  8,133,142,210,183, 34,135,249, 60,145, 92,247, 82, 63,159,154,214, 83,243,210,182,113, 88, 24,119,227,157, 77,255,
+205,255,191, 52,228,202, 47,159,128,191,228,247,252,195,155,207, 24,189,199, 90,126,166, 83, 82, 50, 86, 94,147,168,255, 50, 61,
+221,195, 23,  9,241,247,222,138,251,130,130, 62,194,223,201,  4,  4,201,206, 46,118,172,112, 87, 38, 49, 22,  6,205,230,231,119,
+227,  3,121,219, 38,210, 83,218,151, 42,187, 11,132, 65,238,153,181,216,120, 97,132,  4,155,116,225,105, 67,  1,128, 97,205,198,
+ 89, 92, 80,180, 22,214,173,227,164, 30,144,  8,202, 76,113, 80,228, 20, 38, 50, 97, 91,107,  9, 56,214,109,199, 69,215, 19,172,
+ 67, 40, 13,165,138,164,184,162,136,161, 33, 16, 67, 36, 92,203,195,179, 53, 39,203,142, 42,239,120,184, 28,176,206, 38,162,158,
+251,  6,114,182,221,199,244, 55,190,195,183,230, 11, 38,170, 98, 54, 59,226,120,113, 72, 46, 13,215,219, 25, 85, 46,248,243,247,
+ 62,130,173,141, 59, 89,246,229,107, 73,106,214, 63,109,168,195, 36, 17,209,244,151,152, 42,140,231,107, 60,189,227,215, 58,157,
+171,174,  7, 61,219, 17, 42,100,202, 35, 38,201, 25,221, 22,156,137,133, 93,164,140,248, 60,201,178, 72,205, 93,110,226,142, 44,
+207,200,178,216,100, 41,160,144, 26,171, 28,181, 21,228,165,166, 27, 18,146, 52,155, 68, 63,245, 73, 30, 97,245, 38,105, 75,171,
+ 50, 90,  6, 75, 29,201, 67,121,145,222, 67, 27,157,232,122,  3, 19,226,123,126,170, 27, 79,124, 15, 29,167,221, 88,224,247, 59,
+152,189,181,144, 75,  1, 16,227,234, 98,108,112,198, 99,145,103,209,140,105,179,129,195,109,116, 54,211,  9, 45, 40,202,168,195,
+159, 86,240,248,140,119, 57,230,222, 12,100,110, 88, 41, 13,155, 75,152, 30, 64,187,141,123,116,239, 97, 93,243, 89,215,113,116,
+190,229, 51,159,179, 12, 42,110, 49,106,251,244,121,243, 50,230, 84,219,158, 63,255,236,130,197,225,171,172, 79,207, 98,255,145,
+206,249, 83, 83,250,222,159, 80, 47, 89,103,146,249, 97,193,119, 23, 37,153,144, 56,165,249,100,123,193, 91,197, 33, 70,121, 38,
+147, 25,222,246,220, 12, 14,143,196,245, 43,190,181,189,228,238,234, 18, 83,205,  8,179,107,  4,100, 52,192,201, 94, 38, 20,115,
+130,235,248, 23,179,156,191,189,247, 87,188, 89, 45, 88,150,135, 20,229,140, 39,237,150,107, 66, 64, 89,198,185, 91, 43,180, 20,
+ 76, 27, 79,143, 99,129,192, 23, 19,194, 48,144, 87, 71, 84, 66,113,190,174,209, 38, 39,198,194,124,126, 34,223,111, 84,174,222,
+ 87,250, 44,198,247,190, 93, 19,130, 36,100, 10,170,138,160, 12,225, 72, 35,122, 75,216, 52,132, 77,207,210, 57,254,109,231,249,
+241,177,229,194, 43, 62,212, 27,174, 77, 42, 62,114, 27,200,166,108,125,160,  8,209,204,103,211,110,232,124,192,234, 14,113,182,
+230,237,197,  1,178, 31,168, 76,198, 59,219, 19,174,137,156,114,176,156, 13, 27, 46, 29,220, 15, 45,101,223,112, 92,206,177, 69,
+197, 76, 11,182,155, 22, 93, 21, 56, 37,176, 93,135,148,154,135,221,192,106,216,144, 97,105,235, 21,172,215,136,101,  3,171, 21,
+ 65, 14,136,145, 83, 50,158,215,222, 35, 84, 15, 72,  2, 30,161, 36,193,181,105,205,240,245, 72,175, 97,188,231, 85,  3,107, 29,
+137,168,125,  7,  7,  7,177,192,151,  9, 82,207,243,120, 47,200, 36,237,180, 45,179,162,228,147,182, 97, 41,  4, 71,153,226,227,
+ 65,114, 68,203,185, 87,188,149,  5,250,208,209,175, 47, 97, 50,101,166, 21,107,215,115,210,245,120,145, 86, 35, 34, 68, 57,107,
+211,195, 75,215,225,108,147, 34, 82, 19,172,222, 15,177,144, 15, 22,244, 38,222,159, 87, 38, 97,123, 70,101, 90,255,242,122,120,
+173,191, 24,250, 15,207,148, 59,251,143,117, 82, 31, 39,112,165,227,222, 81,238,125,125, 53,229,176,251,108, 71, 93,174,253, 18,
+182,160,125,250,107,255,140, 92,192,237,193, 33, 87,242,163, 44,254, 78,108,100, 99,187, 36, 53,112,  9,234, 80,196,  7, 38,169,
+ 83,243,118, 23,252,146,233, 84,188,211,207, 22, 68, 63, 95, 98,224,253,231,100, 87,179,  3,202, 42,167,115, 61,237, 48,176,238,
+ 26,122,219, 51,211, 25,135,121, 78,145,101,  8, 33,105,135,142, 77,219,114,110,123,150,109, 79, 24,  2,170, 52, 28, 87, 21,  7,
+147,130,194,228,104, 37,233,251,129,203,182,225, 73,189,225,238,197, 25,205, 70,242,201, 67,199,187,159, 62,225,253,187, 31, 80,
+169,128, 83, 57,109,239,  9,205,234,235, 23,247, 55, 94,225,159,254,202,247,185, 61,191,198,205,195,235,204,103,  7, 44, 14, 14,
+ 40, 76,134,243, 61, 77,187,228,211,229, 18,206,151, 59,153,213,216, 84,133, 16,215, 20, 89, 58, 31,253, 30, 52, 47,229,231,143,
+207,243,246,248,114,239,239, 30,200, 85,156,184,155, 77, 34,160, 16,247, 89, 56, 80,147,  8,187,155, 44,157,184,116, 30, 77, 74,
+200,209, 58, 58, 66,205,242,120,141,149,  5,224,  9, 62,112, 84,229, 87, 15,236, 76, 38,171, 77, 31,  8, 66,197,189, 95,112,105,
+ 98, 78,136, 81,174, 83,140,162, 74,193, 65, 99,196,111,136,223, 23, 33,238,214,242, 34,222,149,251,124, 17,159,184,  2,  9,118,
+140,215,244,190,209,254, 30,203,118, 68, 61,174,162,113,247,110,114,159, 16, 16,159,194,136, 38, 51, 56, 92, 64, 62, 69,  9, 65,
+ 38, 21,110, 52, 81,217,180,145,244,119,185,161, 47, 10, 58,147,208,132, 50,143,238, 91,101, 21,247,128, 58,114, 33,206, 53,188,
+ 43, 53,247,187, 26,164, 67, 60,124,188, 11,164, 72,240, 59, 18,196,104,  0,213, 91,218,161,142, 43, 47,173,  9, 82, 71,118,116,
+146,227,125, 62,163, 92,114,205, 24,126,235,230,148, 91, 89,193,196,100,  8, 37,249,197,208,113, 32,161,202,231,  8, 33,112, 56,
+132, 16,244,222,177, 28, 58,154,190, 67, 52, 27,182,167,151,216,205,217, 21,124, 19, 76, 73, 40,103,252, 15,175,220,230,247, 94,
+122,137,227,233,130,127,253,228,132, 91, 65,112,186, 61,231,150,130,163,108,194, 52,211,148, 69,142, 29, 98,242, 95, 41,  4, 57,
+ 62,242, 96,241, 20, 89,134, 14,138,105, 81,177, 40, 51,110,230,146,187,203, 14, 29, 28,198, 75, 12,158,241,113,174,158,  3,199,
+ 63,245,199, 59, 16, 30, 49, 36,110, 78, 89,112,109,118,192, 31, 93, 95,240, 79, 94, 57,230,164,222,178, 94, 54,  4, 60, 15, 55,
+ 53, 23,214,115, 62, 88,238,213, 29, 91,165,248,108,121, 70,231,  6, 30,172,207,104,112,172,173,101,109, 91, 30,116, 53,107,231,
+248,219,139,115, 38,194,242,168, 94,242,139,186,229,172,222,114,183,169,209,190,227,175, 79,206,249,216,195,208,173,208,120, 78,
+240, 88,  4, 74, 72,154, 20,108,243,222,118,203,123, 23, 75, 62,232,182,224,  2,153,237,113,193, 98,211,115, 82,180, 93,124, 15,
+  1,132, 13,136,144, 38,115,107, 35, 31,193,249,104,123, 19, 66, 44,252, 95,115,205, 23,158, 69,109,187, 38, 93, 88,169,154, 41,
+ 17,  7, 41, 49, 18,107,137,114, 81,231,248,149,178,160,238, 26,222,158,228,209,138,  2,207,143,139,156,247, 26,203,143,171,156,
+141,237, 41,165,164,177, 14,221, 53,  8,107,121,210,183,252,207, 23,203,216,168, 15,  9,125, 29,  3,190,180,230, 55,111, 86,252,
+209, 43,215,248,209, 75, 71,188,121,243, 58,191, 88, 28, 50, 76,170,221,250,117, 24,146, 12,186,216,153,133,  5,183, 99,194,127,
+227,130,254, 69,204,119,190,160,182, 61,127, 90,255,135, 45,234,251,147,202, 24, 87,122,213,  2,139,120, 34,145,241,160,141,208,
+249, 24,146,178,127,209,248, 17,174,120,246,161,200,231,119,218,159,131,119,109,124,248,155,113, 63,158, 14,170, 86, 73,146, 38,
+227,  5, 52,  6,200,140,110, 98, 97,188,123,243,157, 14,123, 31, 17,240,246,249,  5,171,172,200,167, 37,210,  7,182,125, 67,215,
+247,  4,235, 57,154, 22,148, 89,129,146,130,193, 90, 90,235, 56,111, 59,214, 77,135,245,  1,101,114, 38,153, 97, 90, 26, 38, 69,
+142,137,157,  6, 77,215,178,234, 91,206,215, 61,171,186,230,195,123,247,120,247,222,  7,172,150,143,184, 61,187,201,245,234,  6,
+139,131, 99,238, 93, 60,138, 19,217,139, 94,116,142,136,138, 28, 46,120,229,218, 33,185,202,168, 38,115,132, 18, 20, 89, 78,179,
+169,145, 74,240,100,249,132,187,255,254,189,248,158, 71,214,102,  8,187,162, 62,186,188, 57,191,251,220,245, 79,147, 12,191,148,
+108,177,199, 33, 83, 73,199, 63, 50,229,139,196, 95,240,233,156,185,  4,201,211,165,203, 33,196,134,173,154, 68, 41,215,124,186,
+ 75, 94,146, 50, 18,227,132,231,104, 82, 82, 24,141, 70,178,200, 13,141,117, 84, 82, 99, 69,140,210,116,  4,130,  8,228, 69,137,
+ 27,229,143, 46,105,218,125,114,155, 35, 21,115, 41, 83, 66,148,221, 93, 67, 90, 69,251, 96,189,111,176,227,119,133,221,219, 47,
+  0,206,252, 30, 73,102,143,131, 48,202,227,132, 72, 65, 66,201, 85, 14, 17,191, 95,205,225,232, 26,210,100,  8,169,240, 12,132,
+182,129,139,243,216, 92,108,155,136, 44,228,102,151,239, 60,164,  9,108,232,162,171,222,232,156,104,109, 90, 79, 36,243,165,166,
+ 67,156, 62, 77,184, 20,222,131, 23,  8,147, 26,157, 54, 53,186, 87,134, 69,146,224,159,247,160,247,172, 85,198,143, 22, 37,183,
+178,140,193, 59, 86,222,113,215, 90, 30, 73,207,235, 89, 69, 97, 74, 10, 97, 48,125,131,232, 26,238,213, 43,  6,239,169,  6,207,
+  4,203,242,124,139, 61,191, 32, 20,146,144, 25,190,149, 79,249,195, 87,111,241,202,193,148,  7,155,150, 63,221, 52,124,178,189,
+196, 11,205,194, 24, 54,193,113,123, 94, 48, 56,136,246, 51,129, 74,128,146, 10,165, 37,  2,129, 18,138, 73, 89,226,132,228,184,
+156,242,250,226, 26,223,191,177, 32, 47, 52,219,204, 68,138,136,206,209,153, 68,  7, 80, 94,162,240, 95, 80,220, 53,210, 68, 18,
+176,212, 38, 18,232,108, 64, 20, 25,191,127,115,193,111,223,126,149,219,249,132,197, 68,243,215,143, 46,162, 61,240,166, 37,116,
+125, 92, 87,172,150,244,231,231,132,174,167,175, 27,194,164,164,111,107,250,203, 51,  6,219, 17, 54, 43,134,182,198,  5,203,189,
+237,154,251, 23, 23, 44,187,142,243,174,229,162,111,185,223, 54,184,109,139,191, 92,242,241,186,227,253,118,205,153,180,124,108,
+123, 42,169,249,120,187,225,253,229,146, 63, 59,189,224,189,190, 70,121,129, 12, 22,129, 99, 18, 60, 70,  9, 26,235, 35,225, 47,
+ 72, 68,202, 11, 23,222,199,226,206,110,125, 38,246,214,104, 79,113, 11, 94,224, 67, 60,143,195, 51, 38,223, 73,253,116, 83,172,
+178, 84, 84, 13,167,214,242,135,243,  2, 23,  2,183,243, 28,225, 29, 39,125,195,175, 84, 19,126,178,217,240, 86, 49, 97,139,196,
+ 13, 45,189, 27,248,183, 79,158,240,201,106,195,249,186,137, 78,139, 38,145, 24, 67, 34,246,  5,199,239, 44,166, 84,198, 80,228,
+ 19,130,210, 12, 62,240, 88,201, 56, 24,164,192,159,100,234, 30,239,225, 33, 26,204,124,110,136,252, 38,220,178,103,235,215,184,
+190,179,126,103, 95,254, 37, 14,115,255,176, 69, 93,250, 52,245, 36,131, 15,149, 58, 51,173,226,131,114,140, 59, 53, 41, 51,221,
+166,233, 56,164,206,109,255, 13, 93,217,234, 61, 51,165, 91,255,229,140,121,147,165, 40, 77, 31,  9, 84,214,239,152,235, 87,230,
+251, 54, 22, 18,233,175,148, 80, 41,104, 45,165,180,132,103,136, 17, 95,177, 91, 49, 37, 93, 86,144,233,192, 96,  7,218,174, 35,
+207, 36,243, 60,195,168,152, 54,212, 59,199,186,111,185,236, 59,186,244, 30,170,162,224,160,202,152,  8,137, 17, 18, 99,  4,222,
+ 90, 86, 67,199,227,101,205,166,237,226, 36, 60, 56,172,134, 69, 57,225,229,227, 87,233, 66,143, 14,154,207,214,231,216, 71,247,
+ 94,108,159,238, 72,187, 49,  1,237,128,184, 62,165, 84,134, 82, 79,208, 89,137,210,130,174,110, 56,191, 56,229,127,255,249,207,
+225,241, 19,110,254,225,239,178,253,244,222, 14,  5, 81,  9,  5, 25,189,142,159, 37,139,140,136,140, 20, 41, 17,206, 63,135,156,
+ 39,247,214, 49,236, 38,197, 44, 33,  2,117, 29,247,230, 67,212, 21, 71, 75,222, 42, 73,189,242,248,123, 22, 21,243,151,110, 83,
+ 84, 37,106, 90, 49, 56,155, 36,148,130, 92,107,148, 16, 84, 58,202,127,150,189,103,150,105, 58,239, 81,233,241,212, 91, 79,105,
+ 20,109, 61,196,253,153,243, 41,170,215,197,233,252, 74,155,238,211,132,110,227,181, 45,243, 88,120,135, 68,216,220,183,130,220,
+ 47,236, 90, 62,243,246,237,211,135, 96, 60,158, 87,246,197,236,153,221,164,239, 41, 21, 77,113,164,128,195, 25, 97,178, 32,216,
+150,128, 76, 49,172, 77, 92,  7,248,116, 45,219, 49,125, 45,161, 38,219,246, 10,206,164,245,177,  1,176, 46,229,170,155, 72,146,
+ 11,  1, 86,235,232,136,183,255, 80, 30,123,106,163, 16,117,138, 57, 86,154, 48, 47,248, 87,111,220,160,156, 21,220,123,178,138,
+123,211,103, 31,232,193,161,181,166,202, 12,107,  2,247,189,231,  3,235,248,179,206,242,123, 74,176,208, 37,  6,137, 30,  6,124,
+187,226,129,179,  8,235, 17,214, 81,122,193, 66, 64,237, 29,221,163, 11,  2, 45, 47,107, 56, 44, 42,150,125,207, 95,157, 46,249,
+249,122,  9, 82,210,218,150,  7,117, 67,237, 45,219,214, 82, 59, 71,145,151, 84, 10,114,  4,131, 15, 84,  1,156,119,136,114,130,
+159, 78,169,202,  9, 89, 57, 69, 34,184,105, 42,126,253,198,203,252,218,205, 91,188,253,250, 29,110,221, 56,228,177, 46, 17, 86,
+161,133, 67,  5,143,242, 30, 53, 41,162,171, 30,196,198,202,232,232,176,151,204,154,132,237, 17, 14,138,185,225,213,201,156, 78,
+ 74,238, 14, 61,239, 73, 79,216,118,176, 90,198,107,121,187,133,186, 35,244,  3, 97, 91, 19,250,158,112,255, 17, 56, 75,184,220,
+ 64,169, 97, 91,227,237,  0,221, 64,232, 90,252,166, 33, 88,143, 95,175,  8,117,135,111, 45, 97,179,193,183, 22,191,185,100,115,
+126,206,253,117,207,167,131,227,223,212,151,252,249,106,205, 79,234, 53,143,188, 77,251,253,154, 82,  4,114, 31,200,188, 37,243,
+ 48, 87,130,181, 20, 41,201, 90, 34, 19,138, 42,242,  9, 34,215,187, 70,115, 68,110,158, 41,214, 95,172,239,255,170,194,174, 99,
+209,154,148, 41, 82, 59,139,240,119, 57,137,141,124, 55, 64,105,120, 75,106,126, 59, 23,104, 83,160,156,101,229, 44, 62,120, 14,
+148, 97, 35,  5,175,105,205, 25, 48,117,150,121, 94,112,210,118,220,145, 18, 63,116,116,109,207,182,238, 96, 91,167, 97, 36, 42,
+ 64,254,224,120,194,203, 89,134, 86, 25, 94, 40,140,214, 40,229,121,191,115, 73, 13, 35, 99,211,170,178, 36, 97, 78,247,239, 40,
+171,126,161, 97,229, 75,184,200,242,139,  8,114,114,111,112, 77,181,238, 57, 48,255, 63, 92, 81,207,179,120,178,236,176,179, 33,
+ 29,109, 67,179, 44, 62,176, 61, 41,251, 60, 21,216,204, 36,194,211,222, 67,244,138,109, 56, 78,241,233, 11,251,  2,164,  5,173,
+119,133, 65,154,221, 46,211,167,194, 48,234,217,247,131, 96,252,254, 78, 35, 77,162,146, 29,170,240, 34,154,199, 76,225,242, 41,
+ 94,198,160, 12, 47, 29, 19,101,226,164, 40, 21, 62,  8,186,193,114,209, 91,182,221,  0,  8,230,  7, 83,110, 47, 14, 40,181, 65,
+  9, 16,  4,164,247,116,206,178,106,122,206, 86, 13, 97,240,  8, 31,146,116,  2,124,166, 17, 42,144,235,156,179,230,146,251, 79,
+ 30, 65,187, 34,188,136,193,139, 76,197,214, 73,232, 44,151,171, 37,159, 14, 61,199,101, 78,158,231, 12,221,192,166,105,184,127,
+241,152,135, 31,222,  5,103, 99,152,194,197,242,105,  6,232, 87,161, 52, 34,101,222,203, 47,131,173,198, 48, 29,181,135,213,165,
+  9,220,217,200, 92,109, 54,241,198, 31,145, 19, 63, 58,178,233,216, 20,222, 56, 38,207, 20, 90,104,132,  0, 43, 37,193,182,160,
+ 21,185, 84, 84, 70,145, 41, 69, 99,  3,149, 81,180,214,225,131, 39,136,128,199,145,107, 73, 63,  4,156, 27,253, 14,210,227,201,
+118,169,  1, 10,145, 57,158, 21,169, 80,219, 36, 61,235,227,235,180, 54,146,  7,191,112, 90, 29,215, 73,123,219,230, 60,139,147,
+244, 62,231,100,148,124, 62,187,190,130,216,160, 24,179,147,111, 22,121,108, 34, 84,130,  5,109, 23, 97,240, 85, 27,119,135,117,
+ 15,198,240,218,141,  9, 63,200, 53,175,101,138,187,103,171, 68,144, 75,122,117,124,124,144, 42,147,124,  5,178,200, 23,184,184,
+252, 92, 81,199, 39,111,251,193, 38, 36,109,128, 44,231,191,127,227, 22,191,119,227, 14, 70,195,255,125,214, 68,159,  0,118, 22,
+171,130,104,157,251,112,208,104, 41, 89,  3, 15,156,229,190,147, 88, 39,184, 27, 90,254,137, 41, 41, 48, 40,153, 81, 44,174,241,
+242,209,109,174,103,134,101,223,226,  8,100, 88, 94, 54, 26, 41,  5,121,215,241,160,109,  8,126,195,191,127,248,144,127,119,118,
+ 70, 24,122,130, 34,154,214,100,  6, 79,108,  2,122,239,112, 54,112,123, 82,176,181, 45, 55,140,161,243,  1,147,229, 44, 14, 22,
+ 20,179,  9,250, 96,134, 51, 26, 33, 13,147,114,130,247,129,239, 29,220,224,  7,183, 94,229,187,179, 27,252,250,209, 13, 38,115,
+205, 61, 15, 90,101,168,190, 71,117, 22, 57,153,160, 76,134,202, 75,228,224,144,194, 34,131,138,133,125,176,208,212, 60,217, 88,
+154,210,177,148,129,159,212,  3,219,224,160, 72, 43,139,117, 29,175,105,219, 39,169,151,139,150,191, 67, 71,232, 60,129,  1,214,
+ 13,161,110, 97,121, 25,125,197,183, 29,161,183,132,224, 99, 19, 48,244,248,139, 19,130,235,240,109,131,239, 26,188,115, 49, 22,
+183,174,241, 78,224,134, 26,239,  6,  6, 63,196,201,223, 65, 62, 88,140,112, 84, 82, 82, 10, 75,174,224,192, 40, 90, 33,152, 40,
+197,171, 83,205,235,  7, 83, 14, 22,  5,213,193,140,165,154,166, 20,199, 72,  6,125, 17,199,202,231, 21,120,  1,  8,167,227,176,
+ 52,201,160, 92,196,235,149, 16,249, 33, 77, 90, 35, 45,166, 16, 36,255,201, 52,  3,161, 88, 54, 43,166,249,148,206,123,110,231,
+ 37,101,128,119,235,129,137, 49, 84,174,231,157,198,115, 93,  6,180, 18,  4,  9, 55,164,228,219, 18,254,195,233, 38,230, 62,116,
+117,202,132,  8,220,154,230, 28,165,235,201, 75, 73, 23,  2,119,155,129,251,222,238,236,165,125, 34,216,230,121,188,239,138, 34,
+162,129,243,121,228,173, 16,146,174,157,167,172,194, 95, 88,158,253,133, 68,185,125,101, 12,255,128,240,123,158,197,130,169,244,
+142,249,172, 18, 44, 55,178,205,199,169, 67,232, 61,246,249,222,127, 27,255,222,165,128,149,126, 47, 42,245, 89,221,158,231,133,
+172,244,174,138,138, 79,  5,217,201,157,143,182,142, 25,232, 87,233, 56,210,238,177, 94,246,150, 64, 82, 60,141,246,191,168,100,
+ 33,159, 35,143, 14,210, 84, 30,223,227, 52, 87,104, 41, 81, 41,138,117, 99,  7,182, 67,207,208,122, 80,130,235,243, 57, 71,147,
+ 42,234,124,189, 71,138,128,  7,154, 97,224,116,219,211,215, 45, 34, 88,194,224,147, 22, 50,208,181, 29,151, 67,207,164,148,100,
+ 42,195,148,154,229,221, 79, 63,175, 48,144, 50, 22,143,253,239,187,212,185,202, 84, 24,234, 14,206, 46,184,151,231, 76,144,156,
+111, 86,156, 44,207,249,155,191,251, 32, 26, 74,120,  7,143,159,124, 13, 13,230, 30, 95, 98, 44,238, 94,124,201,201,211,169,113,
+218,219,194,121,226,106,102,244,223, 55, 69, 58,159, 33,201, 18,211,215, 62, 64, 38, 49,147, 10, 35, 21,  2, 65,125,118,114,229,
+224, 87,102, 17,130,239,211,164, 17, 66, 96, 98,  4,141, 15,248,224,232,186,  1,161, 37,110,136, 69,128, 33,217,  4, 15,125,212,
+186,143, 54,179, 46,233,187, 73, 49,173, 17, 82,136,222,211,202,126,193,148,254, 12,204, 14, 48,159,237,246,237,106,239, 88, 93,
+ 25,152, 36, 72,220, 36, 56, 82,236, 61, 66,157,138, 83,117, 31,226, 52, 83,229,200,172,136, 92,  0,153,126, 94,221,196, 66, 61,
+137,196,190,183,230,113,191, 60, 23,130,109,102, 88, 95,174,118,153,  7,235,109,202,143,111, 99,166,188, 78,146,189,109,106, 16,
+158,125, 40,143, 48,236,136,204,204, 42,126,116,235, 58, 47, 85, 11,222,223,174,248, 15,171,250,106,191, 62,178,252, 69, 90, 63,
+  8,111, 89,107,131, 45, 52,141,214,156,  9,141, 66,176, 14,240, 61, 45,184, 61,185,134,204, 10,212,157, 59,152,197,156, 60,155,
+242,224,226,  4, 31, 44,  7, 74, 51,147,130, 55,203,140,215,202,156,235,210,243,127,220, 59,229,241,227, 75,252,102, 21,237, 71,
+135,142, 16,162,197,232, 92,105, 58, 33, 41,164,230,187,121,137, 15,129,133, 20,172,250,150,105, 86, 48,  5, 68, 81, 48, 63,158,
+146, 77,178, 56,109,103, 57,189,  8, 92, 95,204,249,246,241,130,163,107, 11,110,220, 62,230, 80,230,220,206,230, 76, 75,197, 71,
+ 97, 64,161, 80, 38, 71, 57, 17, 31,117,193, 35,165, 68, 74,141, 20, 17,198,150,193, 71,131,154,190,225,209, 89,203,199,189,101,
+147,167, 18, 39, 53, 84, 69,242,187, 72,247,136, 73,205,235,120,111,217,100, 56,212, 69,171,209,224, 29,180, 53,161,111,  8,205,
+150,208,213,132,174, 37,108,214,209, 82,183,235,  9, 62, 58, 18,122, 51,137,141,234,182,195, 93,158,225,215, 91,124,231,240, 50,
+ 96,189,160,198, 98,221,192, 53,  1,194, 15, 72,  2, 19,169,240,222,242,189,210,240, 95, 30,207,249,227,107,115,126,255,240, 26,
+ 63,154, 77, 48,153,225,246,225,  4, 57,203, 57,247,163, 37,179,191, 50,185, 18, 95,241,231,115, 80,189, 75, 13,162, 54, 80,205,
+162, 71,196,232, 19, 18,136,182,175,101,206, 91, 70,179, 48,  5, 19, 37,184,165, 37, 51,157,113, 50,116, 92, 87,145, 39,240,211,
+174,231, 71, 85,  5,174,231, 49,146,183,164, 35, 87,138, 92,103,244, 67,203, 37,112,182,105,120, 83,122, 62,238,251,120, 95,116,
+ 45,116,150,207,250,192,237, 66,115,156,103,120, 60,181, 11,252,111,117,178,119, 29,146,124,109,180,181, 22, 10,180,230,237,227,
+ 25,255,217,203, 71,252,241, 75,215,121,179,202, 56, 62,158,241,137, 75,131,135, 74, 80,150,208,  9,233,245, 47,246,124, 28,239,
+117, 41, 63, 47,107,123,118, 74, 55, 89,180,191,158,204,254,158,139,186,214,159, 63,125, 89,130, 25,131,143,  7, 68,236,193,174,
+ 89,218, 89,200,189,221,122,199,206, 61, 43, 27,  3, 44,146, 65, 71, 72,108,224,111,162,189, 30,187,161, 76,197,  2, 46,147,  3,
+157, 75, 83,250, 78,147, 18, 11, 74,240,159,191, 34,189,142,210, 13,207, 87,104,145,159,165,146, 31, 17,166, 21,101,150,161,  3,
+  8, 28,165, 20, 40, 37, 17, 66, 80,187,129, 85,239,217,108,146,145,129,212,148, 69,134, 81,130, 64,192, 38, 18,203, 48, 56,206,
+234,142,198,245,248, 54,238,234,128,200,176,237, 99, 71,121,124,231, 14,191,250,210,247,185,182,184, 65,169,167,124,252,209,207,
+147, 17, 10, 59, 86,117, 72,244,165,253,  6, 73,142,133, 98, 12,198,137, 19, 88, 88, 45,185,127,178,228,254,217, 41, 39, 15, 79,
+226, 78,234,120, 17,163,104,151,203,175, 39,217, 16,123, 37, 33,124,149,109, 99,154,212, 71,231, 38, 33,119,180,171, 16,118,202,
+  5,183,137,208,187, 72, 70, 64, 87,251,111, 79,111, 29,117,219, 70,205,190, 84, 32,  2, 82, 27, 36,129,206,121, 22,153,166,245,
+ 46, 22,125,103, 49, 66, 82,183,129, 28,208,184,  0,  0, 32,  0, 73, 68, 65, 84, 29, 74, 73,218,110,192, 14, 46,158,228,113,183,
+109, 19,151, 66,166,137,125,244,130,247, 34,153, 14,117, 41,139,222, 62,205,122,127,222,199,124,198,175,254,193, 31,240,248,209,
+ 41,132,209,168, 35, 53, 46, 35, 41,211,167, 41,126, 84, 85, 36,203,214,  8,223,200,104, 97,156, 16,138,197,225, 34, 58, 33,203,
+232,187,142,119,209,202,210,185,200,242, 45, 11,242,105, 78,166, 36, 79, 20,124,120,186,142,205,208,208,197,227, 90, 76,162, 43,
+ 88,235, 96, 49, 37, 91, 28,242,223,188,114, 27, 76,224,241,147,243,157,213,237,243,166, 49,103,249, 64, 74, 50,  3,255,211,249,
+138, 49, 71, 65,216,  1,186, 52,217,203,241,118, 10, 12,237,128,152, 76, 64, 75,164,206,113, 82,161, 51,141, 99,224,123,213,140,
+108,122,136,190,113, 13, 89,228, 32, 13,225,244,132,204,  8,230,194, 50,211,138,185, 82,232,204,176,200, 12, 11, 45,168,115,201,
+106,  8,248,179, 21, 97, 85, 19,148,228,123,139, 41,  7, 69, 69,169, 20,223, 46, 42,110, 86, 26,229,  6, 30,146,241,170,214,216,
+ 48,176,177, 29,211,114,130,208,154,220,104,148,212,228, 70, 49, 59,156,112, 45,207,121,245,246,156,233,181, 25,249,180, 32,159,
+148, 20, 65, 83,  5,205,141, 34, 99,118, 60,229,177,  5,165, 99, 46,188, 42,203,152, 84, 55,184, 56,  3,100,  2,209,119,209, 94,
+ 55, 51,136,205,146,176, 94, 33,172, 39,100,  9,194,117, 46,162, 78,211,105, 92,167, 76,138, 88,212,159, 34, 89,122,130,247, 87,
+ 54,191, 97,252, 60, 90, 11,143,196,196,125, 25, 97, 86,225, 95,190, 78,200,115,124,211,225,189, 37, 88,139,239, 54,177,184,111,
+ 58,176,158,182,239, 49,161,167, 18,129, 74, 42, 58,231,152, 72,201, 15, 77,206, 43,153,225,118, 94,209, 75, 65,102, 10,114, 93,
+208,154,140, 60, 47, 40, 38, 25,143,145,  8,105,226, 42, 88,131, 72,215,200, 87, 21,245,171,207, 33, 93,243,215, 23, 28,127,251,
+ 22,119,174, 31, 80, 86, 25,235, 85, 23, 81,157,220, 32, 50, 67,233,  3,111,205, 75, 50, 37,105,132,228,193,208,242, 45,157,209,
+ 59,199, 52, 43,240,174, 39,179, 61, 70, 27, 50,  2, 23, 74,209, 15, 13, 77, 16, 28,232,156,123,219, 45,223,193, 82,235,140,  7,
+ 77,203,224,147,  4,175,107,193, 14,124,120,190,230, 47,215, 29,127,179,110,248,233,233, 58, 90, 79,143,  6, 89,146, 56, 96,250,
+116,255, 25,193,239, 30, 78, 56,204,115,150,110,160,200, 50, 10, 35,121,199, 19,159, 89, 90,199,232,102,157, 37,243, 42, 29,107,
+221,151, 33,166, 99,125,250,220,196,110,247,184, 95,251,232,175,129, 27,215,225,160,250,123, 46,234, 38,193, 40,201,200, 42,154,
+133,164,105,123, 92, 78,203,189,135,242,104,252, 50, 78, 40, 73,242,136, 74,134, 32, 54,196, 23, 63,116,105,127,145, 10,146,210,
+ 47,  6,123,127,209,129, 27,108,236,  6,197,222,208,164,216, 53, 14, 36, 86,190, 22,137, 21,191,199,134,119, 99, 76,107,130,  7,
+ 94,212,  9,111,114,200,252,248, 24,129,101,146, 75,140,242, 56,124,100,247, 58,199,186,115,212, 93,135,107,135,196,244,150,104,
+ 41, 48,193,209, 15, 29,189,115,212,214,178,234, 44,235,174,195,182,195,213,235, 18,128,200,116,252,119,147,138,215, 94,122,133,
+235,213, 13, 76, 86,112, 86, 95,114,247, 23, 31, 69,168,105, 60, 63,251, 27,118,241,108, 23, 57,198,165,250,167,  9,217,161,139,
+234,  0, 83,240, 43, 63,250, 46,223,121,229, 14, 55,174, 29,240,240,195,143,190,102, 83,181,231,219,251, 34, 50,144, 49, 28,101,
+156,236,199,159,163,203,136,  6,117,155,148, 31,224,162,243,147, 74,190,255, 58,105,228,101,154,114,198,244, 62, 29,139,157,147,
+ 16,188, 96,176,241,218,148,  2,250,161,103,  8, 34,230,195, 91,199,208, 38, 55, 40,153,174,  1, 45,210, 83, 75,199,130, 45,146,
+125,171, 76,174,117,210,199,137, 94,236,241,  8,244, 87, 68, 39, 10,201,226,206,109,206, 46,183,145,165,126, 37,135,244, 79,147,
+ 46, 71,119,195,177,161,185, 98,197,143,231, 44,178,171, 77,158, 33,179, 18,233,122,  6, 68, 84,  7,116, 67, 52, 83,202,  5, 52,
+150,203, 44,231, 51,161, 56,233, 92,132,240, 79,150, 41,174,210,239,216,188,125,  7,139,  5,255,237,183, 95, 99,158, 21,220, 44,
+ 51,254,234,222,195,167,144,135, 47, 44,238,131,101,216,214,252,188,177,145,183, 98,116,156, 40,148, 70, 12,109, 98, 76,239,184,
+ 64,  2, 79, 91, 91, 66, 53,165,204, 51,110,149,134,235, 70,211,216,192,129,214, 92, 47,166,228,243, 35,  4, 18,119,182,166,169,
+ 47, 89, 40,141,180, 45,  3,  1,171, 20, 83,165,232,165, 98,155,231,148,147, 18,189,200,241, 71,135,212, 50, 70,146,102, 58,102,
+ 40, 84, 69,206, 91,243,  9,139,188, 68, 21,  5, 10, 75, 45,  2, 97,176,116,195, 64,240,130,182, 29,232,188, 34, 47, 37,  7, 70,
+114,144, 25,142,139,140,163, 89,137, 73,134, 88, 33, 64,191, 29,152,152,140,151,138, 25, 55,204,140,107,243,130,108, 81,176,206,
+114,110, 29, 76,104,136,249,232,178, 40, 17, 14,230, 85, 73, 63, 54,255, 58,106,158, 51, 47,177,247, 79,119, 33, 83,121, 14,121,
+137, 88, 76, 17,179, 18,145, 25,196,186,223, 17,211,190,  4,222,126, 86, 97,112, 85,212,111, 93, 39, 28,205,241, 66, 17,156,199,
+ 55,245, 21,231, 50, 12,150,208,212,132,102, 11,203,134,165,135,163, 66, 17,  6,143, 15,158,204,121,126,115, 86,114, 36, 53,181,
+ 15, 28, 20, 83,164, 50,212, 74,161, 85, 70, 11,148,153, 65,105,201,105,153, 33,242, 28, 81, 86,  8,165, 17, 33, 32,148, 68,154,
+104,188, 35,210,179, 90,228, 25, 28, 94, 67, 28, 30,198, 93,121,176,136, 30, 56,152,160, 94,123,137, 95,125,233, 22, 71, 85,197,
+181,233,148, 70, 59, 14,231, 11,230,147,130, 44,203, 89, 43,197,171,153,228,251,210, 80,227,185, 99, 42, 30, 13,  3,179,204,240,
+184,221,178,200, 12, 66, 74,222, 93,111,249,118,150, 97,188, 71,  8, 77,214,111,249,133,115,188,157, 73, 54, 66,241,112,217,240,
+201, 42, 33,110,193,238,106, 66,215,195,182, 38,172,183, 81, 10,218, 15,145, 41,223,182,123,208,119, 68,157, 95,171, 12,223,153,
+149,  9, 84,150, 72, 41,233,172,227, 97,235,168,131,139,207,173, 34,169, 99, 50,179,147, 70,243, 21, 67,224, 72, 10, 31,229,129,
+227,122,249,139,212,220,186,128,195, 41,  8,241,247, 92,212, 71, 54,251,184,223, 20, 62,194, 43, 90,164,154, 62,230,  7,167, 68,
+169, 50, 89,116,138, 84,192, 77,250,247,109,138,229,244,105, 18, 26, 89,194,163,166,221,168,111, 78, 78,208,169,  0,122,145, 18,
+189,236,142,132, 39,210, 62, 83,134,221, 90, 64,239,  5,198,104,113, 21,121,249,149,228,184,253,143,163,107, 48,201, 40,101, 52,
+  7,109,236,144, 40,  4,  1, 31, 60,203,166,165,223,244,187, 59, 50,215, 84, 74,199,  7,146,115, 52,189,163,117,158, 85,211, 18,
+154,126, 23, 28, 50, 58,182,105, 73,118,120,196, 31,253,198,111,115,231,224,101,178,194,112,114,121,198,121,179,226,241,123,239,
+236, 38,226, 81, 46, 50,178,213,  3, 47,198, 70,215,121,100,240,191,114,131, 31,220,122,153, 42,203, 89,148,115,222,175,215,209,
+ 54,242,235, 20,246,175,115,220,198,130, 53,122,152,143,143,174,190,141,197,122,146,180,225, 58,237,180,188,125, 26, 21, 24,  9,
+118, 42,217,253,250, 72, 20, 11,214, 33,100,160, 15,150, 66, 43, 86,109, 79,102, 76, 12,246,176, 22,215,251, 24, 38,161, 50, 66,
+155,100,151,232,221, 42,105, 36,122,250, 17,253, 48,209,163,160,208,241, 97,161,242, 29, 34,245,101,197,221, 90,206,238, 61,129,
+119,207, 97, 49, 58,239,137,207, 91, 75,238,239,214,173,221, 37, 18, 38,201, 17, 93,  3,205,128,152, 79,176,  2,110,102,138,181,
+141, 54,161, 46, 36,249, 93,189,137,247, 99,158, 36, 57, 82, 70,116,103,211,166,169, 48,177,130,187, 20,106,227,  5, 47,189,114,
+204,180,156,242,225,106,205,167,203, 21, 44, 87, 95,205, 98, 30,108,132,220, 77,129, 40,242,184, 22, 40,242,132,102,116, 49, 20,
+ 70,238, 75,191, 44, 62, 47,184, 54,157,240,250,172,224,229, 44,231,102,102,232,252,192, 29, 85, 80,133, 12,177,109,241,151,231,
+208,111,232,130, 37,147,224,188,199,  7,193, 96, 50,106, 33,104, 76,198,153,214,132,108,194, 26,137,168,102, 76,102, 83,206,236,
+ 64, 40, 74,178,190,229, 90, 85, 33,165, 96, 27,  2,151,117,244, 75,183, 33, 71, 40,133,119, 29, 79,150, 23,116,155,158,118,109,
+ 41,243,140, 10,193,225,180,100, 90,154,120, 41, 57, 79,115, 57,208, 39,120, 59,211,154,227,233,148,111,205,143,249,222,244, 26,
+111, 47,110,113,123,122,196,203,211,  9, 55,143, 22,212,194, 33, 39,  5,181,208,152, 98,130,247,154,144, 25,130, 80, 88,223, 69,
+ 47,129,179, 39,136,218, 71,134,121, 89,198, 63,197,  4, 81, 76,224,232,  0,145,149,  8, 55,230, 99, 60, 77, 76, 11, 95, 81,224,
+131, 29,160, 19,132,186, 33,180, 29,193,  8,194, 96,241,251,255,214,185,180,199,135,199,219,  1, 81, 72,214,157,197,122,199,117,
+ 41,185,157,229, 40, 41,144, 74,210, 74,205, 35,  4,191,112, 30,167, 51,156, 27,168,138,  9,159,166,103,163, 40, 51,196,193, 12,
+ 49,155, 35,103, 51,132, 48,  8, 93, 32,130, 64, 28, 28,114,227,135,111,242,195,111,191,206,173,227, 35,166,243,  9,231, 33, 54,
+201,226,240,136,183, 95,191,205,141,197, 97, 92, 55,  6,207,171,199,175, 48,175, 38,124,251,198,171, 28, 22, 57, 88,248,171, 65,
+114,205,120,142,100, 70, 23, 44,183,164,226,103, 77,199,247,170, 41, 63, 91,109,121,105, 82,112, 83,192,133,247, 12,118, 64, 41,
+197,165,115,188, 42,163, 64,227,227,245,134, 62, 56, 30,214, 93,146,181, 61,171,170,242, 59, 87,188,174,139,205,109,215,239, 86,
+ 72, 67, 68,139,151, 65,241,195, 42, 39,215,138, 42,203,113,222, 49, 72,201,159,159,175,119,  3,196, 56,200,142,133, 57,168,136,
+114,250, 23,244,129,255,130, 77,221,231,184,196,166,  0,165,255,158,139,186, 79,187,  7, 35,159,182,181, 30, 31,200, 97, 44, 38,
+137,108, 70, 72,172,217,148,132, 21,146,214, 55, 31, 37, 72,201,163, 93,238, 89, 60, 40, 25,117,192,214,127,243,215, 40, 69,146,
+246,164,215,123,165,139, 78,144,188, 20,207,236,214,147,212,194, 39, 41,210,184, 95,121,145,226,100, 52, 76,231, 96, 52,131, 29,
+144, 50, 32, 69,136,196,101, 96,221, 15,212,235,  4,187, 19,181,190,121,110,168,180,185, 90, 65,215,118,136,208,124,151,136, 27,
+ 33,196,156,238,224, 18,151, 34,227, 59,175,191,196,175,189,241, 54,147, 89, 69,  8,158,119, 31,188,199,207,238,222,133,243, 39,
+187, 11,105, 95,126, 38,120,177,105,217,196, 48, 23,166,  5, 78,  6,190,123,253, 22,214,  7, 54,125,203,221,119,247, 80,128, 23,
+ 66, 44,138,221,190,248,235,156,175, 47, 82, 25, 76,138,104,211,234,101,132,189,117,146,149,153, 84, 68, 68,216,237,240,243,100,
+114, 52,158, 51, 23, 98,212,169,131,174, 27, 48, 90,208, 44,123,156,243,132,173, 35,116, 22,134, 16,235,168,117, 32, 20, 82,137,
+189,135,168,220,145,211,228, 56,177, 39,179,152,178,140,138,132, 66,197,115, 83,232, 47, 71,116, 92, 31, 77, 54,198, 68,188,193,
+126,254,186,218,127,239, 35, 55,100, 76,160,179,195, 85, 30,179,235,  6,244,172, 64,227, 57,144,146,137,136,219, 44,231,146, 52,
+104,179,141,231, 61,159,236,156,237,182,203,157, 60,103, 24,118, 33, 60,131,227,195,162,224, 93,239,249,192, 19,207,243,147,179,
+231,247,243, 35, 87,163, 72,108,252, 46,238, 67, 69, 89,196,251,187,200,185, 94, 78,168,187, 14, 26, 27, 11,187,181,209, 99,221,
+228,220, 58,170,120,115, 50,225,102,150, 51, 85,  6, 21,  2, 83,103, 57, 26, 60,102, 93, 35,215,167,  8, 27, 87, 35, 82, 27,178,
+ 32, 24,194, 64,131,224, 66, 73, 30, 35,233,148,166,113,130,144, 77,184, 83, 78,120,189,202,249,193,180,226,117,147, 97,114,195,
+ 89, 15,245, 16,168,  7, 65,161, 20, 86, 43, 50,173,169, 10,197,208,193,208,119,244,237,154,147,199, 15,232, 58,205,205,249,148,
+210,  9,180, 21,168, 32,217,110,  7,150,117,207,227,229, 22,213,247, 76, 38, 57, 89,166, 41, 76,198,225,108,198,245, 98,194,171,
+211, 67,238, 84,215, 56,150,134,239, 47, 14,121,105,162, 17, 69, 96, 58,201,153,148, 57, 90, 10, 90, 23,240, 77, 71,240,  3,162,
+239,162,  1, 80,215, 33, 76,116,159, 19,229, 12, 81, 46,248,141,107, 55,249,151, 63,250, 33,223,126,249, 58,239, 24, 25, 73,139,
+ 93,247, 66,210,177,144, 26,172, 16,  2, 65,105, 66,166,  8,  8, 66,215,125,241,132,111,123,196, 80,179, 94, 15,108, 58,207,105,
+235,121,181,148, 28,101,146,153,202, 49, 82,113,191,239,248,133,247, 92,  4,143, 80, 10,148,161, 38, 48, 17,130, 19, 25,101, 98,
+  2,144,147, 18, 81,100,200,249, 28, 49,169, 16, 55, 14,248,225, 27,119,248,222,173, 55,184,113,237, 58,147, 44, 35, 11,129, 91,
+135, 11,178,163, 57,183,110, 94, 99,154, 23,148, 58, 71, 74,193,180,156,178,220,118, 84,197,148, 50, 43,200,179,130,195,106,194,
+237,208,242,208,122,190,165, 36,150, 64,111,114, 50,103, 57,245,142, 55, 51, 67,239, 44,103, 66,112, 32,  4,154,192, 67,215,115,
+ 40,  4,114,136,100,193, 83, 23,184,108, 90,122,225,233,221,158, 58,231,185,250,241, 84,160,125, 31, 27, 96,219, 71,243,169,174,
+101, 86, 25,110,107,195,129, 81,172,186,158,255,245,209,146,173, 15, 49,248, 75,135,157, 18, 43,164,117,102,219,197, 26,242,203,
+186,208,233, 68,106, 14, 33,222,207,167,103,255, 17,136,114,126, 63,123, 60, 65,134,102,124,144, 39, 28,123,100, 62,251, 68, 38,
+ 24,119,137,163,190,153,176,155,222, 93,122, 88, 62, 37,233, 73,147,186,148,223,236,  0, 61,245,111,178,103, 96,117, 34,236, 46,
+237, 83, 43,141,171, 85,194,  8,195,191, 72, 65,212, 26, 38, 11, 40, 13, 65,  8,130,242,104,  5,153, 22, 40, 41,168,123,199,170,
+235,  9,125,127,245, 59,100, 97, 80, 82, 16,132,167,183,158, 85, 55,208,212,195, 46,199,119,132,164, 67, 10,250, 80,  2, 53,159,
+243,198,241, 77,174, 29,220, 34,  4,193,166,105,120,231,238, 71, 52,167,167,176,185,248,188, 25,207,215,153,150, 85,  6,  7,211,
+ 36,225, 16, 92,218,134,123, 23, 43, 62, 56, 61,133,135, 15, 95, 60,206, 48,207,224,141,215,162, 45,233,122,245,203,219, 43, 14,
+233,196,140, 97, 61, 33, 57, 17,102, 69,146,156,249, 61,237,149,227,191,251, 47,254,132,119, 62,124,111,215,216,180,177,112, 49,
+120, 92,159, 44,  7, 91, 27,121, 31, 46, 21,227,100,156,147,229,121,204, 71, 54,130, 76, 41,156, 78, 89,230, 54, 21, 89, 53,218,
+ 13,167, 61,146, 73,196, 51,157,254,159, 76,127,249, 62, 77,126,205,107,247, 89,181,193,248, 61,231,184,182,168,104,  5, 76, 76,
+140,163, 60,206, 13, 75,107,227, 78,176,107,227,245,124,235, 40, 26,240, 76,139,120, 12, 46,151, 79,253,140,248, 51,163,139,220,
+144,171,157,  2,101,185,218,189,143,162,136,205, 94,  8, 87,228, 30, 49, 41,193,170,  8, 57,146,248, 47, 89,148,120,253,201,173,
+107,252,243, 59,175,160, 75,193, 71,103, 27, 68,103,175,210,206,100, 83,115,237,248,144,239, 46, 14,120,189,152,115, 88, 76, 16,
+  1, 78,218, 53,223,234, 59,140,247,104, 85,161,164,192,100,101,162,127, 72,134,161,227,177,119, 60,112,150, 54, 43, 88,  9, 65,
+ 71, 70,149,229,188, 49,159,114,172, 50, 94, 46, 42, 50,  4, 51,101,216,120, 73, 39, 36, 65,105, 50,105,144,218,224,133, 36,  4,
+ 77,111,123,108,144,108,182, 91,234,118,205,102,125,194,186, 85,124,171,172, 88, 40,133,107, 45,125,235, 56,185,220,242,233,229,
+138, 96,  7,242, 54, 34, 61, 70, 25,178, 50, 39, 43, 10,202,105,197, 60,203,120,249,232,136, 59,135,135,188, 94, 30, 50, 65, 71,
+ 23, 99,233, 34,179,190,208,228, 89,129, 20, 26, 39,100, 84,177,116, 45, 98,187, 65, 14, 30,153, 11,228,228,128,127,245,157,215,
+248,193,237,235,220,185,126, 19, 47,167,124, 24,122,132, 19,132,126,136, 59,250, 23,213, 65,103, 89, 66,151, 92, 50,108,250,146,
+ 41,113,232,193, 91, 68,231,120,119, 59,240, 23,235,154,135,190,229,255,220,212,252,101,215,115,174,  2,165, 52,132,224, 24,146,
+162,211, 73, 21, 27,170, 16, 16, 90, 33,148, 65,228, 19,254,233,173, 91,252,218,209, 33,191,115,243, 21,230,243,235, 40,147, 99,
+116,142, 50, 69,140,100,208,154,219,243,155,220, 94,220,102,158, 31,227, 80,180,174,229,211,  7, 15, 80, 74, 82,149, 21, 85, 57,
+193,249,129,213,114,137, 36, 80,119, 61,127,218, 90,126,171,170,240,125,203,177,214, 84, 18, 26,231, 88,  3,199,222,225,181,193,
+121,207,204,246,148, 82,208, 58,199,165,181,252,187,117,203,161, 18, 60,236, 98, 99, 31,  7,198,231, 12, 25, 87,249,230,123,126,
+ 18,227, 80, 48, 88,238,157,108,248,201,233, 37,255,215,163, 53,127,181,220,178, 29,149, 38, 34,165, 20,250,116,188,125, 72,146,
+216, 33, 30, 91, 59,252,146,156, 53,249, 52, 68,230,253,127, 68, 73,155,209, 41,236, 35,153,111,  8,157, 38,120,187,131, 18, 67,
+122,248,150, 89, 44,224,154,  8, 99,106,177,131,227,123,187,219,245,137,  4,225,167,137, 22,145,164, 61,223,  4,138,151,  9,146,
+181,169, 80,219, 61, 98,220,216, 44,  8,246, 72,116,126,247,189,225,  5, 79,140,153,192,225, 44,217,  9, 10,178, 66, 82, 40, 21,
+221, 61,149, 98, 61,244, 49,123,119,220,215,148, 81,183, 62,146,209,155,193, 97,183, 93,156,156,218,  1,100, 96,126,227, 58, 85,
+ 85, 81, 78, 42,154,166,  7,161,248,157,239,255, 42, 55,103, 55, 16, 66,112,182, 60,225,238,233,103,124,116,242, 24,206,207, 99,
+ 68,226, 47,213,164,165,  5,104, 22,253,214,235,147, 11,186,135, 39,112,126, 18,139,196,139,126, 76,167,188,253,107,111,115,243,
+250, 81, 36,220,125,217,195,229, 69, 63,198,224, 31,159,252,181, 81,177,171, 86, 50,133,148, 36,156,215, 57,222,249,249,207,226,
+223,155,  4,129,181,195, 78,142,230,210, 57, 21,255, 15,117,111,250, 35, 89,118,158,249,253,206,118,151,184,177,229, 86,107,119,
+ 87, 55,155,139, 72,137,212, 72, 20,103,145, 53,163, 17,168, 17, 96, 12,198, 30,251,139, 96,192,128,255, 62,195,254,102,192, 48,
+ 96,120,145,101, 91, 50, 70,163,161, 68,114,212,100, 55,123,173, 45,179,114,137,140,237,110,103,241,135,115,110, 70, 84,117,117,
+119,117,147, 90, 38,129, 98,118, 49,179,170, 34,111,220,123,222,247,125,222,103, 73, 57,239,131, 97,142,143,  7,162,243,129,188,
+ 84, 81,169, 64, 64, 34,  8,131, 12,205, 36, 41,142, 86, 59,181,135,227,198, 75, 61,222, 75,238,203, 35, 20,159,215,169,251,189,
+142,253, 57,239,  6,137,205, 12,227, 60,167,150,  2,147, 25,106,239,169,189,135, 85, 19, 73,115, 58,135,215,111,241,159,223,123,
+141,111,207,167,188,126, 80,241,193,147,179,151, 55, 29, 54, 68,231,185,144,200,135,117, 31, 61,  2, 32, 22,116, 17, 67, 87, 34,
+  7, 69, 71, 54,126,150, 18,208,244,224,243, 31,184, 51, 27,241,135,  7, 71,220, 45, 39,  4,  2,127,190, 88, 35,156, 69,244,254,
+166,176, 47,125,206,239,220, 57,228,173,234,144,214, 91, 50,101,248,184,219, 50,221, 44, 56,148,  6, 83, 29, 32,178, 28,101, 74,
+ 68,240,209, 78,217,119, 92,246, 13,103, 66,178, 82,138,214, 11,178,172, 98, 58, 82,188,150, 23,168,228, 10,168,165, 36,151, 26,
+167, 97,235,193,  9,133, 87, 10, 45, 53, 90,105,106,  1, 94, 42,154, 54,186,168, 29,231,158,220,183,252,245,123,239, 32,123,201,
+108,213, 83, 53,158,118,189,101,211,119, 60,219,110,120,180,188, 98,185, 92, 68, 67, 28,101, 80, 66, 33,130, 64, 26, 69, 86,104,
+178,105, 78, 81, 21, 84, 85,197,109, 89,225, 59,203,162,107,176, 58, 68,208,111,100,120,179,200,120, 59, 51,188, 33, 21, 89, 80,
+ 92,213, 22,113,189, 68,108, 27,196, 72,240,181,233,156,  7,  7, 51, 46,130,224, 73,175,120, 71,149, 80,  8, 68,166, 96,211,165,
+ 52,196, 47, 48,125,113,142,144,212, 49,248,254, 51,155, 75,241,194,159,  1, 31,221,  2,107,203, 71,181,229, 73,211,112, 46,  4,
+143, 58,203, 60, 83, 49,167, 34, 68,148,112,221, 89, 90, 60, 43,169, 17, 34, 48,201, 70,252,119, 39,199,252,225,241, 45, 30, 84,
+ 51,190, 61, 63, 98,146,151,244,121,201, 38, 56,182,157,197, 57,139, 20,154, 50, 43,169,202, 41,121,150,145,203,  2,219, 11,206,
+182, 23,156, 93,175,  8,120,156,235,232,108,203,163,171, 83,158, 58,207, 47,218,142, 63, 30,197,179,123,105,123, 22, 82, 82, 32,
+ 24, 73, 65,219,174,209,102,196,  7,125,199, 93, 41, 49, 82,145,185,142, 71,157,101,217, 91, 78, 52, 92, 89,203,114,157,114, 71,
+218,176, 67,200, 62, 85, 31,110,224, 91,158, 39, 24,201,157,217, 88,219, 69,201,230,114,117,131,162,208, 37,107,217, 54, 73, 95,
+187, 62,170, 71,134, 44,138, 95,202,168, 70,126, 90, 66, 32,229,223, 97, 81,247,123,108, 93, 37,227,126,130,116,232,117,123,174,
+ 62, 34, 77,  2, 34,121,180, 43, 34,163, 87, 16,139,134, 25,166,113,187,139, 51, 20,122, 87,100,135, 98,255,121, 83,187,214,145,
+217,219,239,193,160, 74, 39,195,155,129,204, 32,119,  6, 52,214,239, 14,207,225,226,245,  9,176, 10,175, 56,229,230, 25,156, 28,
+ 66,158, 49, 62,152, 80,100,209,226,181, 42, 36,  2,201,178,177,108, 59, 75,104,218,248, 58, 74,131, 84, 34,134,215,117, 30,215,
+116,241,107,219,148,205,155, 73,238,223, 61,230,  7, 95,255, 22,223,121,253,215, 56, 25, 31,240,201,234, 18,114,195,247,223,248,
+117, 38,147, 25, 62,  4,254,242,253,159,240,179,139,211, 24,207,185,185,248,252,  9,241, 85, 63,156,139,135,249,106, 27,243,203,
+219,250,203,255,189,109,203,217,249,130,179, 15, 63,220,237,102,  7,200,118,248,245,101,110,120,157,228, 48, 74,198,  9, 89,155,
+221,125,228, 19, 39,162, 31, 82,225,162,196, 45,178,197,251,136, 16,101, 41, 12, 64, 37,219,215, 60, 41, 30,100, 22,223,240,116,
+ 64, 75,  5,165, 81,104, 17, 15,  9,233, 61, 58,151,209, 38, 26,199, 55,239, 30,113, 84,141,152,150,  5,139,171,117, 82, 88,232,
+ 72,152, 51,121, 68, 84,148,142,247,244,171,170, 37, 62,239,135, 30,174,213, 96,154,180, 95,216,189,199, 33,233,139,  2,242,140,
+145,148,156,117,201, 53, 41, 56, 88,110,160,204,248,157,  7,175,113, 50, 63,192,  5,131, 50, 57,239,182, 93,124, 79,110,226, 30,
+253,110,106, 11, 50, 94,155,225, 89, 27,140,117,124, 34,120,109,154,100,222,148,197,180, 58,147,131,119,136, 33,186,182,183,172,
+149,228, 86,161,200,  8,252, 79,231,151,156, 91,159,248, 42,137, 45,237, 61, 66,103,124,235,176,226,160,172, 88,  7,104,  9, 92,
+ 57,203,127,191,216,240, 70,179,226,100,122,128, 30, 31, 35,139, 34,174,158,172,199,167,230,202,183, 53, 31,116,158, 54,203, 49,
+ 90,241,141,106,138,240,129,220,104,132,210, 88, 23, 48, 66,210, 17,184, 10,  6, 39, 21,178, 28,225,149,194,235,156,177, 16,100,
+ 38, 39,235, 58,126, 99, 90,240, 71,119,238,114, 32, 51, 58,123,205,255,245, 31,126,196,  7,155, 71,228,219,154,159,126,244, 14,
+ 31, 62,253,128,179,235,103,116,155, 11, 22,155,  5, 15, 55, 11,100,221, 97,156, 38, 56,143,176, 30, 89,104,204, 40, 67, 25,137,
+206,115,148, 84,204,124,193,233,118,197,185,107, 57, 35, 48,207, 51,178, 76,241, 96, 58,226,126, 53,226,190,209,124, 43,207, 17,
+185,100,237,122,220,249,134,211,126, 69,219,195,147,181,227,223,183,158,165,  8,145, 22, 51,157, 68, 45,183,202,193, 54, 81,  7,
+207,231,152,189,120,183,123,223, 94,216,197,139,207, 42,236,131,  9, 23, 62,173,161,122, 66, 99,161,235,121,132,100,166, 32, 51,
+ 57,155,174,197, 57, 71,211,119,180,193,225,133,230,247, 38,  5,223, 59, 56, 97,150, 77, 56,172, 42, 84,158,161, 76,198,227,198,
+114,177,181, 44, 90,203,233,118,133,235, 91,116,102,208, 50,163,154,140,241,190, 71,208,211,217,154, 95, 60, 60,229,236,236, 25,
+ 31, 61, 61,229,131,197,  5,151,171, 53,171,229, 18,164,224,245,170,160,238,123,198, 74, 49, 15,129,109,223,114,142,224,237,108,
+196,101,191,229, 45,101, 88,249, 14,233, 28,109,  8,156, 59,199,129,243, 60,241,150, 15,150,253,142,235, 37,211,202,243,101,220,
+ 34,207,206,171,100,127, 98,255,204, 68,183,221,253, 78,219, 69,184,125,155, 36,157,182,219, 17,223,126,169, 41,253,133, 55, 42,
+229,151,252,221,154,207,228,217,142,173, 43,197,110,103,103,210,158,177,200,192, 53,113,202,178, 54, 30,132, 50,193,121,106,216,
+ 75, 36,150,175, 74,127, 70,101,187, 67, 71,238,177, 10,  5,159,157,252,117,251, 24,249,205,251,132,203,237,110,170,200,210, 82,
+ 91,234, 61, 50,130,223,251,123,194,243, 58,105,239,119, 94,245, 95,244,230,140,138,184, 71, 31,149,140,166, 57,183,198, 99, 10,
+163, 56, 26, 85,180,214, 82, 91,199,214,118,216,117, 29,247, 44, 41, 61, 44,248,128,107,211,110,211,246,137,161,  9,148,134,124,
+ 62,226, 31,189,118,143,215,239,189,133,145,146, 50,203,145,162, 67, 88,203,237,249, 45, 76,150,113,189, 93,242,108,241,140,203,
+139, 11,184,184,188, 49,254,248,149, 52,104,131, 68,234,151,185, 49,235,122,183, 95, 54,217, 78,226,168, 72, 83,246,151,137,109,
+ 76,255, 35,242,157, 68,207,249,  8, 43,223,164,240,165,215, 91,148, 17,110,119,110, 71,208,188, 33,178,164,245, 80,144,100,153,
+ 33,215,  2,231,  2,153,145, 76, 75,131,150,144, 41, 25,169, 28, 46,114, 48,148, 84,104,163, 56,153,142, 24,229, 89,218,218,  4,
+174,101,148, 32,222,232,141, 85,178,132,117,  3, 89,174,255,229,154, 44,253, 66, 28,227,205,126, 95,238,  8,133,  2, 92,150,211,
+ 21,134,149,216, 35, 68,182, 29,172, 59,232,106, 54,243, 41, 15,230,  7,244, 66,243,176,119,156, 94, 95,198,162,126,147, 54,184,
+135,124,245, 54, 50,179,197, 96, 24,149, 44,102,125,186, 71,125,159,136,148,101,210,181,167,233, 71,233, 88,216,131,135,198,243,
+ 55,215, 43,254,116,181,225,188,141,230, 83, 34,211,145,  4, 38, 13,194, 11,132,107,232, 71,  5,179, 92,227,133,230,202,117, 60,
+ 10,150,139,160,248, 81,179,229,119, 21,148,147, 99,100,102, 16, 38,139, 33,122, 33,160,144, 76, 37, 84,219, 21, 63,110,122,114,
+163, 56,214,138,121, 89,161,144,212, 93,135,134,104,182,162, 12,143, 28,  8, 83, 80,100,  5, 90,103, 84, 74, 50, 46,114, 68,239,
+184,115, 56,229,247, 78, 38, 28,228, 25,101,166,249, 96,113,205,105,219,115,118,126,205, 95,124,244, 33, 63,189,124,198,207,207,
+ 46,249,248,234,138,179,229,138,203,118,203,217,234,138,109,232,184,232, 91, 46,154,104,246, 82,216, 64, 38, 21,102, 84,196, 61,
+179,  3,183,233,232,154,150, 95,176,101, 33, 12, 22,201, 73,149, 83, 32,153, 20,  5,135,227, 18, 93, 26, 78,170,146,215, 76,206,
+215, 53,136,179, 75,254,253,147, 15,249,171,237,138,235,205, 21,  2, 11,121, 92, 77, 48,169, 96, 62, 65,204,198,160, 50, 68,219,
+ 70, 15,246,207,146,142,125, 17,199,249, 37,223, 27,246,206,189,208,118,177, 72,217, 30, 54, 61, 79,172,103,172, 37,109,239,233,
+131,163,238,123, 86,125,207, 33,142, 63, 56, 60,230,181,241,148,204,148,140,198, 37, 58,203,112, 82, 32,180,228,195, 77,207,143,
+218, 53, 87,118,203,117,191,229,114,187, 38, 19,208,118, 91,156,237,104,251,142, 39,139, 39, 92,219, 14,154, 14, 33,210,106,162,
+239, 99,242,157,209,124,212, 90,164, 12,220,149,130,165,235,201,181,225,208,182, 44,133, 98, 34, 21,215, 62,122,250,139,224,185,
+114,142, 59,222,243, 39,215, 45,  7, 26,122, 47,169,109,226,100,249,180, 86,250,172,116,185, 97, 72,183,126,247,249,239,235, 99,
+ 88, 27, 14,  2,162,193,217,206,249,191,227,162, 62, 24,104,244,253,206,175,122,112,146, 51, 58,118, 51,131, 77,222,126,183, 36,
+136, 95,211, 42, 65,248, 41,188,162,200,246, 44, 51,253,243, 82,  1, 62,163,168,251,152,228, 21,156,140,118,140,222,199,191,167,
+ 31, 86,254,233,224, 17,201,128,134, 61,  4, 96,136,105,117,169,200,191,202, 46,218, 20,145, 64, 85,149,200,137,225, 86, 85, 81,
+ 24,195, 56,203,144, 82,243,172,107, 88,118, 45,182,238, 99,195,162,146, 65, 65, 19,237, 94,177,125,212,  9,  7, 17,247,186,121,
+ 70, 62, 29,241,181,163,138,113, 14, 19, 51,195,152,156,109,215,240,244,226, 49,189,107, 88,219,154,166,107,120,178, 56,229,221,
+199,143,225,226, 26, 86,215,188,154, 43,207,223,195,135,201,226,197, 31, 92,252,130,216, 67, 79,120,181,215, 61,220, 55,194,239,
+252,152,179, 61, 61,119,232,119,169, 78,141,221,165,244, 14,193, 65, 38,221, 75, 74,147,103,134,224, 97,148,  9,148, 86,204, 74,
+ 69, 33,  5,133, 18,228, 82, 96,132, 68,163, 32,147,204,180, 74, 64,128, 96,219, 59,102,163,  2, 45, 53, 14,207,249,182,222,147,
+ 72, 14,205,159, 76,209,173,110, 87,244,190, 74, 97,191, 33,200, 13,230, 20, 47, 64,131,  3, 67,222, 19,195, 93, 70, 21,179, 92,
+115,146, 25,142,140,100,172, 36,203,166,131,166,161, 21,138,119,140,230, 61,107, 57,181,233,217,124,124,158,164,129,233,240, 24,
+ 60,235,125,202,146,158,150,252,240,100,204,239,223,154,114,160, 37, 31,158, 47,146, 45,175,142,200,196,180, 74,242,181,180,186,
+112,209,180, 67,164,160, 24,172, 71, 92, 47,111,210, 15,133,137, 49,203, 98, 92, 32,166, 99,126,231,193,  9,183, 71, 25,139,174,
+231,137,116, 44,165,226, 39,189, 64, 74,141,210,134,255,251,163,143,249, 23,147, 17,249,193, 45,164,142, 18, 42, 57,174, 40,231,
+ 39,204,103,119, 56,174,123,178,245, 21, 63,115,150,131,204, 48, 86, 10,107, 91, 14,242,  2,107,123,122,  2, 63,175, 29, 62,139,
+241,197,149,210, 76,181,230,246,184,160, 80,146,249,108,132,237, 61,211, 92,226, 67,224, 97,221,242,151, 23, 43, 30,175,175,  9,
+ 77,135, 23, 14, 47, 20, 30, 23, 21, 41,189, 99,213, 56, 86,235,150, 79,186,154, 62,212,124,236,106, 46,186,134,106,219, 50,237,
+ 37, 70,154,184, 98, 93,118,116,117, 67,107,107, 62,234,106,158,224,185, 16,146, 34,  8,166,153, 70, 74,137,202,115, 84,102,248,
+218,236,128,223, 60,152,241,253,105,206,183, 11,205,237,109,224,240,226,  2,125,254,140,139,118,133, 16, 81, 94, 41, 66,218, 93,
+171, 12,113,114,136,152,143,227,127,183,105,165,241, 18, 25,220, 23, 21,249, 87,106,  2,  6, 19,166, 85,195,169,243,180, 93, 79,
+ 16,129,117, 31,232,149, 64, 11,201,137, 54,124,109,122,200,253,249,156, 70, 40,116,174,104,  5,252,108,181,225,199,219,134,143,
+124, 75,103,107,106,215,177,236, 90, 62, 90, 94,162,108, 71,223, 53, 92,110, 22,156,119, 75,182, 77,207, 15, 15, 11,254,245,173,
+ 25,111,143, 11,190, 89,230,252,141, 16,  8,169,112, 82,178,232, 35,154,154, 57,203,182,239, 88, 56, 88,244, 45,207,108,207,200,
+246,156,123,207, 68,  4, 14,  2,252,162,105,185, 43, 61,255,174,129,237,118,203,161,128,186,237, 56,174, 12,219,198,239,101,125,
+188,112,142,251,189, 28,145, 47,115,148,234, 87,248,126,163,227, 89, 52,248, 94,188,146, 65, 77,122,222,111, 38,245,  0,216,175,
+ 80,212,245, 47, 89, 27, 76,138,191,188,129, 29,251, 29, 12,127,227, 54, 23, 82,241,214, 59,118,122,110,146, 78,120,200,149, 78,
+ 50,180,129,128,244, 98, 17,255, 60,121,150,115,209, 65,104,112,230, 18,121,148,170,237,155,202,144,246,134, 93,251, 60,153,236,
+203, 16,203, 70,  5, 84, 21, 84, 57, 24,137,201, 53, 85,158, 51, 54, 25, 66, 11,214,117,203, 85,211, 97,155, 54,178, 41,195,208,
+121,185,  8,  1,119,137,205,158,155, 36,195,202, 65, 73,116,166,152,100,134, 60,211, 52,205,150,197,114,193, 71,103, 79,176,174,
+ 67,  8,184, 88,109,248,217,147, 71,156, 63, 57,133,203, 37,244,219, 29,145,236, 31, 82, 33, 47,146, 13,170,200, 98,177,205, 20,
+200, 50,193,182, 73,219,248,101, 94,247,224,131,174,138,228, 95,160,118, 17,141,131,156,100, 40,242, 38, 21,212, 97, 15, 63, 50,
+241,251,149, 64, 43,193,212,  8, 42,149, 33,  9,204,198, 25, 66,122, 74, 21,139, 91,145,201,184, 30, 39,185,134,  9,129, 73,178,
+178, 69,219,210, 58,203,229,166,193,  5,145,146,221, 82,113,221,151,181, 25, 21,119,218,125, 98,206,251, 47,121, 74, 12, 67,250,
+ 16,  8,179, 31, 60, 47,146, 63,  4, 18, 38,  5,234, 96,134,204,115,238, 20,154, 91,198, 80, 74, 73, 22, 60,183,115,193,217,114,
+ 19, 97,248,241, 56,105,252,137,197, 60,132,104, 75,122,243,204,236,189, 70, 17,120,112,116,192, 15,142,167,204,202,  9,179, 66,
+243, 23,103, 87, 73,254,169, 96, 52,142,133,125,248,126,151,184, 24, 38,143,217,226,164,233,189,109,210,212, 21, 37, 62, 98,154,
+ 67, 85,240, 71,119,142,248, 23,119,238,113,187, 40,120, 88,111,249,179,101,207, 83,149, 35, 70,211,104,189,106, 50,164,239,248,
+ 53, 60,135, 71,183, 35,187,186,202, 81,111,156,160,102, 19,244,108, 74,222, 86, 28,109, 55,124,188,120,204, 89,176,204,148,  2,
+161,216,134,  8, 13, 95,245, 13, 31,136,140, 99,147,113,104,114,110, 27,197,173,169, 97,172, 21,147,145, 36,235, 99,227,116,186,
+234,184,240,150,159,159,173,184,176, 61,171,224,113,117,139, 95,172,241, 70,224, 90,139,115, 30,111, 50,156,119, 56, 99,160,233,
+121,124,118, 69,239, 44, 43,191,229,188, 89,112,220, 88,166,174, 32,116, 61,206,123,174,175,174,249, 15,235, 83,126,102,151,188,
+211,247,108, 69,160, 35,250,140, 87,153,162,  9,146, 81,158,241, 86, 53,231,107,211,  3,166, 38,103, 20,122,198,202, 35,145, 28,
+  1,191,209,116, 60,126,244,  9,117,223, 32, 66,159, 72,105, 50,106,193,205,  8, 49,159, 34,111, 31, 32,110,159, 32,242,  2,177,
+181, 81, 93,241,183, 49, 53,186, 14,177,217,208,110, 91, 86,  1,186,190,231,245,195,  3,102,229,132, 34,203,152,  8,137, 81,  5,
+211, 44, 99, 35,  5, 15, 59,199, 47, 22, 91,254,207,237, 50, 78,200, 46,113,165, 68, 68,  1, 47,186, 45,143,234,107, 22,237,150,
+117,211,243, 95, 77,114,254,205,241,  9, 83,173,249,222,108,134, 54,130,183, 10,205,143, 18,114,107,149,228, 72,  8, 86, 62,240,
+115, 39,200, 51,248,155, 62,240,166,129,255,181,238,248,154,150, 60,222, 52,212, 34,208,  4,207,143,106,201,131,208,114, 97,161,
+181, 29, 65, 72,182,109, 66,129, 91,183, 83, 63, 13, 31,135, 71, 95, 29,233, 52,137, 99,163, 85, 60,203, 67,170,131, 82,237,210,
+ 42,  7, 39,166, 48,196, 72,191, 66, 97,247,251,187,126,110, 24,246, 95,190,168,255,178,117, 65,136,120, 99,221, 68,170,166, 44,
+219,174,223, 65,134,131, 25,205,  0,209,107, 21, 29,187,240, 48,158,196, 31, 90,165, 20, 53, 45, 94, 14,151,124, 17, 27,125,112,
+230,146, 69,220,175,155, 12,138, 73, 98, 60,219,228,231,237,191,154,169,205,208,217,141, 39, 41,119, 59, 67,149, 57, 85,110,152,
+103, 10, 39,  5,181,237,184,236, 61,155, 62,237,208,131, 72, 38, 61, 97, 47, 32, 36, 57, 16,  9,181, 75,169,147, 18,101, 36,117,
+ 90,161, 62,221,108,121,178, 88,211,134,142,141,119,180,189,227,162,174,227,106, 97,211,  0, 77,252,153,134, 80, 16,249, 15,164,
+160, 35,163,  5,169,201,147,189, 97, 30,155,171, 76, 39, 50, 86, 10,180, 20, 98, 87,  8, 63,107, 98, 29, 86, 32, 67, 81, 23,  9,
+105,177,195, 74, 38, 69,166,234,108, 71,200, 28,248, 17,163,226, 70,179,158, 87, 37,149, 80, 24, 33,152,101,134, 34, 23,140,141,
+ 70,  4, 73, 38, 21,222,123,170, 60, 26,217,152, 92, 33,131, 32,168,168, 92,240,  1,148, 81,100, 82,210,  7,232,156,199,  6, 65,
+112, 97,183, 30, 24, 26, 77, 23,146, 46,214,196,123,173,183, 95,146, 67,176,231, 13, 45,249,244,158, 79,229,241,192, 40, 21, 84,
+ 35, 66, 89,112, 52,173,184,103, 12,218, 24, 60,  1,237, 61,222,247,156,158,111, 19, 19,215,193,209, 60,217,146,230,113,237,181,
+237, 35, 95, 98,136,118, 29,  8,168,189,165, 25, 85,188,117, 52,161,247,158, 31,181, 29, 79,174,234,221,154, 72,164,103, 75,101,
+187, 21,131,210,201,140, 39,174, 70, 68,155, 52,191,195,164,215,244,241, 62, 40, 11,254,229,193,  1, 95, 31, 31,161,148,226,147,
+190,230, 35, 15, 98, 84, 33, 85,129, 52,  5, 82,231,104, 37,184,190,124,204,119,231,119,200,231,  7,136, 89,137,190, 51, 71,142,
+ 11,164, 86,132,141, 32,172,107, 22, 31,125,192,143, 62,126,138,159,103, 92,180,107, 78,219, 26, 73,224,189,117, 77,208,134,  7,
+197,152,183, 75,197,241,184, 34, 83,146,185,150,204, 51, 77, 37,  2, 66, 41, 58, 33,184,218, 88,150, 77, 67,221,173, 89, 35,176,
+ 56,124,223,227, 67,192,245, 29,190,119,120,215,227, 16,184,186,165, 55, 10,223,122, 54,182,101, 81, 59,234,122,205,249,226,140,
+187,190,227,250,252, 25,205,114,197,159, 62,121,135, 15,234,107, 62, 14, 61,143, 76,143, 76, 50,  0,  0, 32,  0, 73, 68, 65, 84,
+155,134,218, 90, 26,  4,235,222, 82,251,104,146,243,160,154,241,102, 62,138,118,210, 58,167, 40,199,180,161,167,243, 30,107, 61,
+ 51,169,249, 78, 94,240,181,166,229,241,197, 21,205,197, 85,108, 54,181, 70, 74,133,204, 52,223, 63,126,141, 63,254,250,183,248,
+ 71,247, 95,227,221, 82,209,173, 27, 68,223,125,234, 94,251, 34, 72,254,149,190, 94,100,241, 44,213,130,108, 50,225,222,120, 28,
+  9,113, 65,176,240,158,167, 93,207, 19, 39,121,212, 58, 30,182, 13, 63, 95,111,216,180, 53, 77,183, 33,224,  9, 46,229, 37,144,
+ 16, 74,162,197,237, 55,164,226, 15,230, 21,153, 80,220, 46, 74,206,173,101,154,130,160,206,123,203,185,117,144, 41,206,146, 10,
+226, 66,106, 62,233, 44,111, 75,201,169,131, 55, 71,154,247, 26,207, 86, 41, 36,142,191,108, 60, 95, 83, 45, 63,179, 34, 26,130,
+230,121,170, 41, 68, 18,242,128,122,237,243, 93,190, 74, 65,215, 58, 13, 13, 41,113,116,144, 65,103, 50, 62,251, 62, 37, 88, 34,
+158, 71,218,204, 32,151,118,175, 86,143, 95, 24, 52,255,238,  3, 93,188,223, 73,194, 66,216, 77,234, 69,182,139,230, 28, 76,105,
+186,126,  7,139,226, 33, 43,200,191,251, 13,220,227,179, 68, 98,210,187,139,255,156,243,194, 75,226, 86,243,189,110,201,185,248,
+251,162,132,147, 91,112, 56,143,147,138, 52,137, 16, 84,199,107,220,181, 95,173,152,155, 34, 18, 87,164,128, 89,201,120, 82, 50,
+ 47,115,166, 69, 78,227, 29,181,181, 44, 26, 71,240, 30,231,  3,247, 38,115,142,171, 41, 85,145,177, 90,109, 19,180, 63, 24,155,
+168,184,227,237,125,188, 30,171, 45,110, 83,211, 93, 92,113,121, 85,179,172, 61,155,214,179,234, 45,155,174, 99,179,168,  9,139,
+ 77,116, 87,179,118,183,251, 25,200, 98, 90,126,154, 36,248,119,249,161,117, 44,224,183, 15, 98,225, 24,101, 73,  9,145,197,188,
+100,146, 85,176, 78, 69, 68,137, 88,171,246, 39,140,125, 66,221, 13,209, 81,238, 32, 26, 37, 35,  3, 94,201,231,227, 94,109, 31,
+239, 23,165, 35, 68, 63, 41, 35, 41,210,196,251, 34, 87, 80,  8,193, 72, 11, 10,169, 16, 72,164,  1, 35,  4, 82,  6, 74,173,105,
+123,135,201, 52,190,115,168, 36, 81,243, 82,160, 84, 76,224,242, 82,210,135,128,208, 18,239, 60, 78, 14,106,143,164,224,112,169,
+ 73, 29,148, 27, 54,145,249,190,140,114,128,189,  7, 89,238,187, 77,165, 48, 22,173, 82,228,105,234,250,143,102, 88,109,184, 85,
+ 86,108,108, 71,166, 50,218,174,197,245, 13,207,158, 94,237,200,130,243, 49, 76,102, 72,109, 56, 24, 31,224, 71, 18,247,228, 42,
+ 77, 79,207,203, 54, 93,231,248,169,210,252, 24,120,124,189,141, 77,196,166,143,239,211,176,179, 15, 41,123, 26, 25, 93,247,  6,
+189,110,235,161,173,119,240,174,247, 17,146,239, 44, 34,207,121,163,148,100, 66,240,193,230,154,127,119, 93,179,238,124,116,198,
+203, 43,100, 94, 48,214,  6,213, 91,214,222, 17, 78, 63,230,141,163,123,232,170, 66, 77, 11,132,212,208,  4,252,217,138,190,217,
+ 34, 89,179, 89, 44,120,239,195,143, 56,111,225,162,233,249,100,187,165,147, 25,111,143, 38,124,163,200, 56, 40, 10,102,153,225,
+ 65,153, 49, 85,146,  3,173,  8, 33, 48, 22, 30, 39, 52, 70, 40, 54,155,150, 92,105, 78,235, 45,214,117,120,  3,110,211, 19,121,
+247, 30,103, 61,126, 84, 68, 42,199,182,193,141,115,124,221, 99,183, 13, 75, 47,120,239,252,154,255,120,125,198, 95, 60,123,204,
+255,242,232, 93,254,183,203, 51,174, 22, 75,254,250,252,154, 46,  4, 92,112,244,125,139,196,177,114, 61,214, 11,110, 21,  5, 35,
+165, 56, 25, 79,145, 70,179,105,182, 92,120,199, 51,223,163, 20, 76,180,164, 84, 49,221,241,205,210,128,183,156, 61,185, 70,174,
+174,145,190, 71,230, 21,255,197,235,175,115, 56, 42, 25,141, 43,100,200,249, 96, 44,226,250,164,233, 62,117,  6,136, 47, 59,159,
+189,  4,133, 21, 89,  9, 65,114,124, 50,227,164,154,224,124,207,117,189,197,121,207, 82,104, 86, 93, 71,237, 61,109,211,145, 11,
+ 71,238, 59,166,206,146,117, 13,206, 57,122,219,198, 60,247,172,140,110,185,121,201,127, 61, 53,204,165,225, 56,207,232,  8,104,
+ 25,115, 50,158,245, 61,189,128,119,135,245,168, 84,172,165, 97,162,  5,121,150,243,137,139,170,162,159,119,158,219,  2, 30,201,
+168,205,191,165,  4,239, 53, 46,122, 59, 25, 21,125, 27,180,138,  3,147, 50,177,148, 88,251,197,210,211, 87, 65, 14,227,133,217,
+173,  6,229,128,  6,171,136, 14,187,132, 54, 27,177,243, 72, 81,233, 28,251,138, 36,218,191,191,148,182,  1,106,239, 83,164,164,
+139,123, 54,114,179,211,182,231,217, 46,208,165,143,135,131, 59, 77,134, 23, 82,239, 18,169,134,  3,231,166, 99,121,  9,228,175,
+211,244, 34, 83,145, 68,192,252,  0,198, 99,242, 60,131, 32, 41,171,130, 94,153, 40, 73,112,221,151,152,156, 82, 71,150,207, 98,
+193, 44,243,248,127, 87, 57, 89, 89,112, 56, 42, 40,140,198,135,192,178,181,180,206,211,133, 64,219, 57, 78, 70, 83,190,117,235,
+ 77,198,229,152,178, 24,241,116,121, 29,117,234,150,157, 67, 92,211, 69, 45,119,183,138,145,140, 77,157, 92,141,250,104, 84,177,
+220,192, 98,  5,139, 13,212,203,248,117,231,184, 73,244, 81, 58, 78,109,194,192,237,187, 80, 86, 80,142, 99,196,230,175, 66, 86,
+245,170, 31,163, 34,134, 52,140,203, 84,216,228,141, 47,178, 44, 13, 50,203,152,140, 39,160, 13,213,164,138,  6, 55,101,138,255,
+196,237, 30, 48,249,  5,112,131, 74,130, 89,225,192, 75,254,248,191,253,111,248,233, 95,255,100, 87,228, 85, 98,164,155,161, 57,
+136, 80,186,144,130,145,210,140,165,196,  2,213, 72, 35, 67,192, 40, 73, 46, 37,109,112, 20,128,179, 30,105, 20,193,122,186,212,
+ 76,104,  1,157, 23,216,  4,173,123, 27,112, 33,224,186, 62,113, 61,220,206,218,120,240,211,239,146, 20,198,219, 87,116,243,251,
+140,189,154,220,235,216,139,193,239, 94, 70, 43, 88,109, 96, 86,226,178, 28,111, 59, 70, 89, 22,109,228,251,158, 95, 60, 93,224,
+ 86,235,157, 29,229,108,194,241,209, 29,126, 48,154,241,102, 89,113, 71,103,124,216,111,163,167,255,139,230, 74,125,  7,171, 13,
+193,228, 73,127,158,216,239,109, 23,167, 29,155,242,159, 93,106,146,131,220, 73, 69,229,243,105, 94, 55, 76,237,182,133,205,154,
+159,173, 59, 30, 55,107,254,244,244,154,205, 98,139,204,  4, 50,207,145, 66,115,171,156,113,172, 51,126,247,238,156,223, 58,156,
+227,141,160, 91, 47, 57, 25, 31,147, 85,  5,210,  9, 88,182,184,103,107, 92,187, 65, 72, 40,180,229,231, 79,158, 33, 55,107,212,
+122,131,106, 98, 80,201,239,142, 21,247, 70,209, 36,102,174, 21, 69,145, 49,213, 26,129,224,200,  7, 42, 41, 57,145,129,179,214,
+ 33,133,100,107, 45, 65, 42,150,193, 18,250, 30, 95, 42,124,231,241, 62,224,165,192,119, 93,220, 52,  8, 25,101,207,  4, 92, 89,
+ 96, 23,107, 92,153,243,172,117, 60,106,214,156,250,140,237,234,154,179,174,198,173,174,113, 87, 43,220,178, 38, 56, 75,179,173,
+209, 66,240,168,107,120,175,109, 56, 24, 79,144,214, 83, 24,205,199,125,195,135,125,205,181,181,228,  4,250, 16, 24,105, 77,165,
+ 53,185,145, 28, 20, 57,127,185,234, 41,230, 37, 97,185, 66,110,214, 28,102,142, 91,163,  9, 79,219,150,255,125,181,162,245,125,
+ 60, 87,134,128,158,174,127,174, 89,251,114,133,125,224,163, 68,126,148, 72, 86,204, 98, 60,227,245,147,219,168, 76, 81,183,129,
+214,117,252,226,236,146,186,171, 25,101,134, 82, 43,170, 82, 96,132,103, 28, 60,198, 91,180,237,113,157, 37,  3, 70, 82,242,235,
+211, 59,124, 99,118,135,163,124,194,194,215,124, 87, 41, 14,146,143, 64,103,123,164,210,156, 89,203,  7,125,195,199, 54,173,218,
+146,107,100,155,146,213,144,154, 45,128, 52, 92, 74,193, 88,101, 72, 15, 39, 25, 28,101,146,105, 16,212, 33,208,137, 52,236,104,
+ 25, 99,138,139, 60,146, 65, 67, 26,170, 36, 95, 94, 38,173, 19,183, 68, 38,164,209,166,104,111,153,226,142,109,155,134, 72, 31,
+ 11,122,159,140,207, 20, 73,250,249,213, 77,105,254,254,138,186,247,169, 59, 74,236, 40,155, 32,187,166,221, 65,227, 42,105,121,
+187, 62,254,190, 27,152,234, 38, 14,248, 34,153,208,124,145,231,186,202,162, 43,157, 76,176,189,148, 49,174,179, 26, 51,158, 76,
+ 80, 66, 68, 98,187,144,244, 93, 36,210,209,109,119,100,190,207,205, 70, 47,160,156,192,228, 16, 38, 35,168,178, 24,242, 82, 40,
+212,164,100,154, 23,148,153,198,  0,173,243,108,172,101,211, 58,130,  7, 45, 36,111,222,186,205, 65,121, 64, 16,158, 76,148, 20,
+ 35,195,249,249, 51,168,109, 12,221, 88,175,162,165,103,179,217,101,146,223,236, 42,135,156,242, 46, 53, 69,221,243,185,229,153,
+132,241, 60,238,244, 71, 51,152, 78,201,167, 19,142,143,167,168,170,164, 93,182,159,110, 94,190,200,159,252,151,153,208,243, 60,
+198, 18, 86,201, 85,172,139,193, 21,163,162,226,193,244,136,131, 98, 68, 97, 50,238, 29,206, 41,116, 70,166,224,168,170,152, 29,
+207,184,214, 89,114, 32, 84,187,125,151,144, 59,171,219,155,128,151,189, 53,143,136, 69,239,205, 95,123,139,119,127,250,110, 44,
+ 76, 25,187,251,174, 40,192,  8, 84,145,131,243,100, 70, 83,  9,129,201, 36,163, 76, 98, 59, 79,153, 75,114,169,176,193,199,  6,
+218,  7, 58,231,110,248,152, 58,196, 52, 55,155,130,225,250,129,  6,160, 32,184, 64, 47,  6,131,138,189,247, 76, 16,165,137,131,
+223,130, 79,141,237, 87,153, 10, 60, 59, 25,219,240,222,137,236, 38, 90,  1,147, 39,121, 30,108, 36, 60,107,123, 78,157,231,252,
+122,141,187, 88, 66,187,217, 53,  4,243,  3,222,158, 79, 57,153, 28, 19,164, 32, 40,197, 51,187,166,123,250, 44,193,146,124,122,
+197, 37,116, 52,173, 25,220,227,116,242,194,247,105,213, 35, 18,169,212,165,226,225,236,115,235, 50,241, 34, 89,167,183,136,186,
+101,177,216, 32,234,109, 36,122,213, 29,178,208,136,106,202, 27,213,152,183,198, 83,190,121,123,206, 72,102,  8, 41,121,120,241,
+148,215, 68,193,116,126,136, 12,  2,225,136,102, 54,189,  5, 28, 69,158, 49,234, 26, 30, 45,151, 40, 28,186,239, 57,108, 91,126,
+111, 54,166,202, 75,230, 89,206,184, 26, 83,  6, 65,102, 84,140,155,144,146,204, 57, 60, 48,149,  1,145, 41, 58, 47,185,180,142,
+165,235,241, 93,139,215,  2,159,231,209, 87,100, 93,227,235, 26, 47, 13,222,123,188,137, 17,170,118, 91,227,133,192,106,133,173,
+ 59,156,151,216,102,131,203, 74, 44,209,130,216,105,133,183, 53,190,238,240,109, 67,179,218, 16,172,165,182, 29, 63,106, 59, 90,
+229,120,191, 89,241,212, 57, 62,105, 86, 52,109,139, 12,158,194,121,  2,129,128,100, 36, 53,179, 81,198,215,143,198, 28,205, 70,
+152,217,152, 67, 35,248,232,233, 37,255,199,135, 31,240,227,235, 11, 58,  2,116, 53,132,144,124, 21, 52,204,166, 80,141,119, 65,
+ 50, 47,201, 68,255, 92,201,137, 76,220, 23, 33,163, 11, 93, 62, 97,246,250, 61, 42,157,209,117, 22, 31,224,253,211, 75,220,217,
+ 37, 27,107,153,151, 57,153,  9,228, 65,160, 68,160,179, 13,153, 48,  4, 39, 48,  2,164,109,185, 87, 30,112,247,228,132, 91, 71,
+ 71, 84,227, 10,143,228,190,173,201,131,231,150,206,241, 34,176,177,158,143,186,134, 63,105, 58, 26,203,142,151, 53, 88, 54, 75,
+147,200, 28,233,107, 42, 99, 46,224,150, 81,108,133,100, 46, 37, 70, 57, 30, 59,143, 67,236, 56, 56, 58,249,149, 20, 89, 58,175,
+198,241,243,112,222,192,171, 69,122, 15, 89, 38, 74,239, 88,242,122, 40,232,253,206, 77,110, 56,182, 68,114, 86,181,110,119,142,
+253, 39, 87,212, 53,187, 60,117,233, 19,204,206,206,119, 93,138, 88,172,141,222,189, 89, 67,122, 91, 63,236, 72,147, 25,205, 23,
+253,240,153, 78,157,156,220, 29,248, 33,218,209,118,218,160,165,140,171, 87,136, 69,253,242,108,119,161,141,138,175,161,156,197,
+155, 63,159,196, 55,218,140, 34,  9,206,148, 49,140, 32, 31,204,111, 64, 86,154, 44,207,152,100, 25,179, 34, 71, 32,105,130,103,
+213,218,104,239,234,  2,153, 82, 76,243,146, 91,147,  3, 74, 93, 96, 84,116, 85,250,217,211,199,180, 23,151,208, 92, 67,179,141,
+230,  5,254, 43, 66, 64,  1, 56,152,243,221,111,189,193,111,127,243, 91, 60,184,119,151,163,241,156,197,122, 65,231, 61,221,182,
+  1,215, 62, 63, 37, 14,159,141,254,236, 98,175,247,138,200,103,237,130,181,222, 53, 69, 38, 93,255,188,138, 83,170, 33,101,163,
+ 11,212,184,226,193,236,144,147,195, 35, 10, 97,200,139,140,145, 46,153,143, 43, 74,149,227,129,163,209,156,105, 89,114,149, 27,
+130,209, 96,101,124,221, 58, 49,201,213,222,231,129,212, 53, 32, 60, 78,239, 10,122,178,130,141,146,172,212,157,103,134,224,  3,
+ 89,110,200,  4, 28,154,248, 62, 26,169, 41,115, 77, 38,226,  4,160,124,156,174, 91, 27,144, 74,226,  3,132, 16, 15,132, 46,  4,
+180, 16,120, 47,216, 88, 31,141,130,172,195,  1, 97,184, 63,247, 47,145, 75,123,116, 33, 98,177,147, 42, 58,175,233, 60, 37, 21,
+166,107,215,191, 42,243,255,  5, 39,185, 60,189, 39,131,138,163,172,226,212, 62, 16,113,154, 46, 69,233, 94,220,184,228,197,247,
+ 44,163, 60, 60, 38,207, 53, 66, 42,158,244, 29,143,186,  6, 22,203,157,201,204,167,254,109, 27,159,221,241, 40, 30, 88,101, 14,
+163, 81,252, 25,235,102,215, 96,246,126,231,233,176,127,191,140,138, 88,124,115, 29,179,198,141,134,174, 67, 24,137,176, 18, 97,
+123,164,237, 17, 69,198,236,232,132,111, 87,115,238, 28, 78,184, 59,174,200,181,102, 99, 37,239, 94,110, 24,117,107,238,201, 25,
+249,180,138,242, 56,173, 17, 70, 35, 45,  4,223,161, 74,205, 97,145,115,213, 58,148, 30,241,186, 86, 28, 43,205,131, 81,206,116,
+116,128,113,129, 96, 52,153,137,232,140, 86,138,208, 90, 84,  8,100,  2,150,109,207, 88,195,242,242, 26, 45, 37,215,118, 75,176,
+129, 96, 12,161, 80,241,179, 86,132,229, 18,143,199, 11,112,157,197,139, 46,154,219,180, 53, 14,137,203, 13,206,111,177, 50,224,
+235, 30,103, 52,174,183,120,173,163,241,181,237,  9, 93, 11,155, 13, 97,209,224,183, 91,222,239, 90,222,111, 90,182, 77, 77,211,
+ 55, 92,217,158,171,174, 67,116,142,210,193, 72, 65, 31, 36, 69,145, 51, 27, 85,156,100,  5,255,180, 40,249,225,120,202, 31, 77,
+ 43,190,101, 36,127,246,209, 83,248,248,147,120,166,218, 46, 58,115, 42, 73, 80, 10,202,156, 80,230,145,  3, 84, 85,241,136,252,
+162, 65,201,177,139,243,101,224,189,196,226,222,143,199, 28,142, 70,212,190, 67, 11,197,229, 98, 65,184, 62,135, 62,112,182,221,
+114,221,213, 28, 87,  5, 66, 11, 90,103,209,197,148, 50,159, 80, 22, 99,186,190,166, 26,229,220, 57,188, 75, 86, 20, 84,121, 78,
+ 91, 55,124,240,236, 35, 10,231,184,182, 29,231,193,241,179,122,205,255,120,121,205,181,101,135,116,145,194,189,134,194, 41,101,
+180,218,245,150, 99,173, 25, 57, 79,174,  4,218, 57,158,246,158,177,210, 44,  8,116, 66, 38, 84, 56,173,174, 84,250,149,153,136,
+ 28,139,200, 77, 33, 75, 60,145,160, 62, 63,101,109,224,159,  8, 19,139,118,174,118,158, 39,221,158, 91,105, 72,197,223,250,248,
+189, 67,227, 43,253,243,222, 40,255,233, 76,234,123,135,145, 74,123,243, 65, 78, 35,213,142, 44,231, 67, 34,  0, 37,150,160,243,
+113, 15,111, 63,195, 23,251,165,203, 31,153, 46, 96, 58,216, 91,191,235, 46,149, 68, 72, 77,231,  2,157,245, 49,144,196,182, 32,
+ 29,144, 69,189,109,150,222,208, 81,154,122,134,130,231,146,207,183,147,113, 58, 23,160, 42,205, 97, 81, 50, 45, 53,243,124,132,
+ 18,146,166, 79,146,151,174, 37,184,192,184, 42, 57,172, 70,220, 26, 79,177,194,209,122,207,162, 93,178,236, 58, 30,126,242,  9,
+ 92, 60,221, 33, 22,191, 20, 33, 77,195,124,198, 15,222,254, 38,147,241, 17,213,104,130,181,142,171,237,130,203,245,150,176, 92,
+165,195,218,238, 92,201,148,222,153,250,200,  4,221,203,180, 23, 29,138,244,240,119, 15, 68,198,151, 21,253,161,192, 14,251,236,
+ 32,227,245, 55, 89,130,207,  5, 20, 57,111,204,143,184, 55,191,131, 49,154,178, 28, 49, 45, 43,138, 60, 71, 11,141,115,150, 82,
+ 27,148, 82, 20, 38,122,128, 95,  6,159, 10,187,136,235,131,225, 94,218,151,117,236,123, 33,200,100, 63, 60, 52,115, 25,137,161,
+157,165,159, 19, 40, 13, 42,  8, 70,185, 34,120,152, 24, 77,174, 20, 74,199, 61,151,240, 30,151,248, 15, 89,166,232,131,139,155,
+ 28,163,113, 93,135,144,146, 39,109,135,144,129, 32,163, 89, 72,112, 68,231,174, 65, 51,111,  7,162,156, 75,235,162, 16,211,  6,
+179, 50, 62,204, 69, 17,145,167, 44, 69, 52,218, 62,113, 41,190, 66, 67,215,219, 61,217,103,106, 56, 51, 19, 11,184, 72, 94,238,
+219,228, 40,183,255,247,219,142,107, 37,249,216, 40, 62, 64,240,172,107,227,186,103,187,141,190,210,242, 37,171, 45,151,126,198,
+ 44,135,249,148,127,125,247, 22, 63,124,237, 62,111, 31,148,252,244,244,122,183,183,149, 47,172, 97,134,213, 71, 48,  8,215, 37,
+244, 36, 53,102, 82, 34, 66, 76,179, 18, 89,156,198,133,  0,155,231,252,227, 55, 30,240,181,201,132, 89,145,163,117,206,170,246,
+ 60, 91,111,121,218, 94,240,166,131,113, 49, 69,149, 25, 98,108, 34, 19, 92, 41,168, 91, 68,150, 83,150, 37,  7,193,147, 59, 71,
+231,224,181, 34,227, 78, 53,  6,219, 98, 76, 65, 81,142,144, 66,164,158,223,199,219,135,104,223, 92, 73, 73,189,217,160, 50,193,
+220, 91, 62, 58,123, 18, 45,101,181,230,143,238,221,227, 15,223,120,157,  7, 99,201, 79,214,155,184, 81,169,107,188,118,248, 98,
+130,183, 46, 26,219, 40,133,171,175,241, 50,199,203, 16,247,240,133,137, 83,191,210, 81,205, 89,119, 17, 37,169,211,206,187, 94,
+195,179,115,186,171, 43,206,206, 47,121,124,213,114,209,116, 60,220,246,116,117,131,106, 45,165, 23,204,114, 67,150,107, 58,109,
+120, 93,231, 60,168,102, 28,155,156,153, 41, 57, 86,146,219, 35,205, 70,122,158,157, 93, 18, 46, 46,161,237,163,247,187, 82,  4,
+ 29,215, 96,255,242,254, 33,255,230,237,183,248,237,251,119,185, 30,107, 46, 46, 54,159, 57, 80,132,193,111, 33, 68,200, 88, 12,
+209,201, 10,130, 13, 48, 45,233, 59,207,147,237,134,240,232, 20,182, 27,130,107,160,110,169, 55, 53,239,182, 27,182,237,  6, 65,
+ 78, 89, 76,201,203,130,239,255,103,191, 77,119,213,177,109,215,140,139, 17,147,241,136,104,118,211,240, 63,191,255, 49, 15,151,
+ 11,254,135,139, 21, 23,174,231,255,185, 90,179,242, 18,234,150, 16,246, 76,194,144,241,252, 86,106, 71, 74,149, 26,227, 45, 40,
+ 69,238, 44, 37,224,165, 96,101, 29, 39, 90,243,108, 95,243, 61,144,181,135,198, 90, 36,165,204,192,201, 26,220, 34,209,207,171,
+ 89, 94, 60,119,  7, 95, 10,210, 26, 74,232,157, 91,169, 72,191,119, 93, 66,209, 84,140,103, 30,206,168, 97,178,247, 95, 77,109,
+246,247, 56,169,239, 77,123,  3,220, 48,132,179,236,231,108, 15, 18, 29,216, 57,207,245, 95,114, 15,236, 93,108, 28,220, 30, 34,
+ 19, 18, 57,194, 69,  6,107,232,109,148,127,117,219,216, 45,149, 85,156,192,139,180, 55, 82,123,241,172,106,111,151, 84,119,113,
+242, 12,  1,114,195,164, 42,152,151,134, 42,207, 80, 66,208, 58,199,182,243,172,251, 14, 31,  2,101,161, 57, 46, 42,110, 85, 51,
+124,144, 52,109, 75,227,122,222,127,250,140,167,167,167,112,250,209,115,145,150,191,212,135,115,160,114, 30,188,113,151,131,217,
+  1, 66,106,126,126,250,144,247, 63,252,152,112,113,149,194, 59,250, 29,113,113, 56,121,179,100,113,234, 19, 19, 83,165,184,209,
+144,236,120,117, 90,139,104,181,139,111, 29,246,114,131, 93,175, 16, 59,146, 26, 41,176,167, 79,172,239, 16, 29,221,100, 49,225,
+215,110, 63, 96, 54,157,227,172,167,202, 71,113,208,212, 57, 65,192,168, 24, 97,125,195,192, 53,179,  4, 38, 82,131, 49,212, 62,
+ 68, 46,129,144,187,172,251,253,162,126, 19,231,187,231,188,164,108, 36,  9,169, 68,162,211, 38,189,214,104,115, 25,130,224, 32,
+ 55,104, 33,137, 52, 57,133, 49,209,  4,182,119,158, 66, 74,214,182,103,164, 84,220,250,180,129, 32, 20,215,193, 49, 82,134,174,
+119,180,206,227,156,223,109,  2, 68, 72, 80,187,143,197,251, 38, 13, 47,220, 20, 82,178, 50, 93,163, 33,162, 80,236,188,185,191,
+234,174,221, 37, 61,121, 85,221,  4,204, 40, 33,  8,214,198,181, 71,215, 70, 85, 68,232,118,135,134,115,209,110,116, 54, 74,168,
+ 88,106,236,154, 13, 44, 18,121,244,101, 54,204,109,  7,227,138,239,222, 58,225, 55,230,199,228, 58,195,122,207, 95, 53, 93,140,
+173,124,241,245, 15, 68, 58,169,226,243,110, 70,  8, 21, 27,177,184,  5, 19, 49,134, 83,104,132, 14,136,206, 34,189, 64, 22,134,
+127,118,235,117,222, 62, 58, 96,108, 50, 10, 29, 21,  8, 93,219,241,254,122, 67,103,151, 76, 54, 45,147,233, 28, 89, 40,196, 40,
+ 35,132,128,174,166,136,117,131,197,115, 48,157, 51, 55,134, 81,  7, 77,211,144,107,184, 61, 61, 68, 21, 35,100,211, 96,133, 38,
+ 83,154, 97,107,226,124,192, 53, 29, 78, 10,154,224,169, 28, 52,219,107,142,139,140, 79, 46, 47,169, 70, 35,254,249,157, 59,220,
+170,166, 28, 77, 14,120,239,250,156,235,197,150,224, 44, 65, 23,248,237,134,160, 52, 94, 42,124,179,197,103, 21,222,246,201,183,
+ 41,158,  9,222,148,132,174,142, 22, 25, 10, 66,211,237, 22, 73,114, 47,140,165,237,  8,219, 13,246,122,133,109, 26,158,181, 45,
+ 63,239, 45,211,206,113,175, 48,116, 82, 50, 54,154,187,197,152, 82, 42,164, 50,209,152, 74,105, 70, 82,225,133,231, 32, 83,124,
+ 40, 51,124, 93,195,197, 34, 54,158, 46, 66,207,191,127,231, 54, 35,149,161,180,230, 82,  6, 30,  9,133,144, 89,124,102,247,138,
+251,254,107,187, 81,  8, 13,235, 20,231,  0, 75,189,117,212, 93, 77,120,252, 20, 54, 87, 73,177, 33,  8,222, 18,218,  6, 46, 87,
+ 44,150, 91, 86, 70,115,255,240, 46,199, 71,183,217, 44, 90,180, 84,120,235,169,155,117,220, 32,217,152, 97,174,109,205, 95,127,
+252, 24,209,247,156,173,106,186, 62, 16,218, 62, 61,251, 50,166, 39,186, 16, 27, 86, 31, 24,133, 64,111,147,113,151,130,214, 11,
+238,139, 64, 19, 44,  2,129, 12,158, 18,193, 59,109,159, 12,162,194,243,110,150,195, 90, 88, 38,191, 11, 73, 60, 47,164,136,  8,
+177, 54,177, 81,150, 73,189,181,255,156,106,149,228,214,123,110,143, 67,178,164,222,243,144,207,179,157, 90,164,103, 55,  0,188,
+152,202,166,247,200,241,255, 32,139,250,  0,203, 74,177,183, 79,127,129,228,246,156, 30,156,231, 33, 59,225,190,154,172, 78,164,
+176, 15,225,119,178,157, 44,103,252,230,109,166,  7, 83,182, 62,193,132,235,117,124, 19,143,102, 59, 67,  0,111, 35,124,152, 98,
+ 77, 81, 42,254,121, 68,252,222,129, 41, 89, 26,230,121,134, 49,  2, 35, 21,181,179, 92,215,150,117,103,233,189,197, 40,197,113,
+ 49, 98, 82, 20, 24,169,113,210,209,116,142, 39,171, 21,205,229, 51, 56, 61,143,211,211, 87,105,142, 62, 11, 38,111,106,222, 15,
+ 61,231,215,151,252,228,147,143,121,248,240,  9, 60,252, 56, 89,187,238, 77,217, 67,243,148,169,  4,249,239, 41, 11,148,220,145,
+204,110,130,116, 84,114,250,147,207, 75, 10,135, 78,119,127, 74, 31, 60,215,117, 74,217,179, 22,188,228, 27,111,189, 77, 89,142,
+ 80, 82,146, 43,  3, 82, 81,230,  5,214, 89,140, 48,116,206,161,165, 64, 43, 67,221,182,232, 44,163,183,150, 46,120, 54,117,187,
+ 51, 37, 26, 86,  0, 54,253, 27,195,191, 61, 76,234, 50, 33,  5, 89,186,223,196,160,137,151, 55,118,177, 90, 43,166,185,142,211,
+184, 81,100, 82,161,148,196,  7, 71,231,  2, 90, 10,214,214,145, 35,  8, 50, 58, 81,  5,231,227,218,204, 67, 43, 60, 78,106, 90,
+107,227,228, 32, 18, 44,121,  3,191, 39,247,186, 64, 44,170, 67, 81, 23,106,119, 40,220, 60,197,233, 48,233,136, 81,192, 95, 37,
+168, 72,107,152,205, 34,113,174,202,121, 80, 26, 50,231,152, 27,133,241,150,186,243, 49, 97,234, 83,114, 80, 31,215, 76,213, 56,
+ 18,  3,  6, 23,188,245,122,167,  6,121, 89, 34, 97,219,113,124, 50,227,184, 28,209,120,203, 39,182,227,195,118, 11, 77,178,146,
+ 29,190, 63,207,246,158,253,  4,223,170, 16,153,239, 67, 19, 22,199, 64, 68,154,102,  4, 10, 25,122,132,202,249,238,201,  9,175,
+205,142,209, 90, 35,136,100,196, 69,211,179, 88,175,120,214,110,185,114,107,170,109,207,172, 24,163,114,131, 28, 21,209,253, 55,
+104,202, 44,167,154,157,112, 92,221,225, 86, 89,209,173, 90,132,232, 40,  6,151,192,124,132, 12, 14,231, 60, 82, 41,132,150,184,
+186, 67,230,134,237,182,102, 98,162, 87,198,170,105,144,  1,238, 26,129,240, 13,119,231,199,228, 74,241,201,118,195, 95,108,106,
+218,109,141,183, 30,143, 39,228, 26,143, 34,168,130, 80,150,248,182, 37,  8,139, 15, 22,175, 51,130,245,  4,231,  8, 89, 30, 11,
+ 94, 15, 65,198,245,224,128, 40,  7,249,124, 49, 13,251,124,154,109,199,  7, 82, 48,111, 29,227, 76,211, 40, 73, 41,  3,135,166,
+ 64, 41,141,115, 14, 47,  5, 87, 93, 77, 38,  3,199, 74,242, 70,161, 80,163,130,199,249, 40,250,144, 47, 86,132,171, 21,183, 15,
+114, 78,170,138,107,107,249,243,229,134,173,245, 80,106, 68, 89, 70,121,173,141,211,248, 23,202,219,122, 11,155, 85, 36, 88,246,
+237,142, 59,145,204,157, 82,  5,132,224,104,174, 27,142,239,223,230,100,114,136, 82,  2,239, 28, 46,120,234,166, 78,183, 94, 92,
+123,213,219, 13, 31, 94, 46,225,217, 41,108,108,156,198,151,219,232,  3,177, 90,198,198, 99,221,196,162,238, 28,253,186,137,175,
+119, 40,236,193,179, 22,112,143,136,194,104,223,243, 65,215, 19,164,192,217,100,238, 53,236,181, 85, 26,  4,212,192,249, 74, 40,
+177, 78,123,123,147,167,228,199,168,200,226, 38, 47,106, 47,  4,169, 40,210,153, 58,252,204,118, 23,237, 29, 82,198,200,144,161,
+ 32,134, 63,159, 92, 75,103,115,168,166, 41,248,108,136,246,254, 85, 77,234, 67,135, 32,245,243,126,220, 55,146, 34,255,233, 16,
+137, 87,129,132,111,166,242,192, 77, 75,252,101, 96,251,175, 74,204, 27,220,188,240,112,255, 46, 63,252,167,191,201,119,110,223,
+231,219,175,189,197,119, 94,187, 77, 89, 21, 60,126,114, 17,247,131, 89,158,114,223,101,210,235,166,  2,166,247,236, 49,141,130,
+108,248, 44,201,115,133, 81,130, 92, 43,106,235,184,220,246, 92, 55, 53,174,183,148, 70,243,214,193,109, 14,102, 99,198,229,148,
+213,102, 77,111, 61, 87, 77,195,114,177,132,197,229, 78, 19,252,101, 14,238,  1, 57, 24,160,203,193, 80,103,144, 12,102, 26,158,
+ 45, 89, 61, 62,165,125,248, 49, 44, 46,118,157,245,  0,237, 12,230,  7,131, 37,168,212, 41, 76,167, 77,  8, 71, 42,242,217,192,
+220,150,  9,170, 79, 82,187, 44, 77,236, 55, 55,104,130,191,135,226, 58,152,173,116, 41,251,219, 11, 56, 58, 68,140, 71,220,154,
+204, 25,153, 18,169,179,148,182,  5,101, 22, 11,187,117, 29,130,192,186,171,233,122,143, 82,130,171,245, 26, 43, 28,141, 16,132,
+186,143,232,205, 32,121,212,164,201, 92,197, 66, 49, 48, 74,135, 61,123, 80,187,166,108,152, 56, 35, 61, 26, 37, 34,169, 34,215,
+ 18,141, 32,207,210,129,232, 64,136, 16, 61,201, 69, 64, 11,104,125, 32, 75,142,178, 91,235,145, 66,210,244,158,218, 57,100,  8,
+ 56,145,178,201,221,222,174,219,197, 67,140,118,207,161, 80,202, 93, 65,215, 42, 30,128,114, 56,244,210,123, 34,220,103,219, 86,
+126,238,147,173, 99, 86,250,180, 98,102,226,253,106, 16, 88,231,169,  8,209, 73,174,169,119,204,119,191,247,156, 20, 37,183,103,
+138, 77,117, 20,137,160, 50,161, 55,167,151,105,122, 23,159,158,214,173,229,217,166,227,175,187,134,191,106, 90, 62, 92,111,227,
+125, 82,232,216,108, 13,205,170, 78, 12,121,147,154,153,161,  1, 20,121,116, 71,147, 30, 33,125,156,214,133,143,111, 81, 80,  8,
+223, 33,108,203,119, 94,123,157, 73, 86, 33,181,166,211,146,211,117, 67,227,  3,205,102, 75,237, 90,150,117, 79, 79,199,253,209,
+140,162, 42, 80,202, 32,148, 66,141, 74,204, 65, 69, 54, 25,147,221, 57, 32,147, 99,140,237, 57,191,184,100, 50, 18,228,213,140,
+208,213,160, 20, 65,104,130, 15,200, 48, 80, 32, 28,211,188,160,173, 91, 38, 42,163, 16,146, 18,195,216,100,200,174,102,181, 89,
+243, 81,223,240,231, 23,151,156,247,125,212, 92,111,226,228, 77, 31,  8, 74, 18,198, 25, 65, 11, 66,221, 18,104,  9, 34,202,165,
+130, 25,206,166,100,172,101,227,164,123, 83,193,213, 75, 10,250, 11, 92, 53,250,158,119,250,142,166,105,169,157,135, 76, 48,149,
+ 18,237, 29, 65, 72, 46,234, 53, 29,129,222,245, 76,188,231,174, 50,156,228,134, 55,170,156,139, 50,103, 57, 26, 17,156,227,189,
+247, 31,241,103,159, 60,230, 71,219,134,109,215, 71,147,160,148,151, 32,140,138,170, 21, 83, 70,233,154, 16,241,172, 25, 21, 47,
+ 93, 17,137,207, 67, 77,135,198,191,105,  1,203, 51,147,113,171,154, 96,148, 38,120, 79,223,181,172,155, 21,214,246,104,  2,189,
+107,177, 93,207,138,134,245,227, 69,148,235,182,109,138, 62,173,119, 25,231,109,157, 86, 22,117, 36, 26,135, 20,125, 58, 52, 64,
+ 10,180,115,172,251,158,214,193,194, 57,236, 62,170,230,247,236,198, 73,107, 58,157, 30,116,  4, 15,116,198,127,121, 56,227,  7,
+147, 17,255,100, 92,162,239,188,193,195, 31,255, 24,117,231,136,208,187,157,161,163, 24,146, 13,  7,211, 52,155,172,207,195, 78,
+ 30,170, 72, 43,225, 52,138,251,110, 71,214, 59,152,197, 26, 36, 21,108,234,184,254,252,149, 21,117,147,237, 92,111,  6,147,217,
+ 97,106, 27, 12, 96,134,169,226, 85, 14, 29,157,224, 69,157,118,133, 50,153,174, 72,241,183,195,184,126,177, 67, 81, 73, 11, 40,
+ 42, 94,251,214,219,252,250,253,  7, 76,230,183,144, 66, 49,157,206,113,109,207,187,182,141,157, 81,145,160,217, 54,165,146, 45,
+175,211,141,148, 96,123,162, 71,187, 52,130,201, 40, 39,207, 12, 19,163,146, 93,168,103,209,116,212,235,116,195,105,205,107,135,
+135,220, 62, 60, 97,156, 87, 40,161,241, 74,242,241,213, 37,139,171,107,184, 88,196,124,234,208,127,185,166, 69, 13,201, 95,233,
+ 49,146,  2,116,153,138,219, 16, 24,146, 76,109,156,125,121, 72,129, 38,162, 13,222,239,116,225, 67, 96,141,145,169,177,209,187,
+110, 84,134,248,158, 13, 29,169, 18,177,208, 15,108,115,173, 18, 33,100,128, 87,253,206, 80,136,244,125,101, 52,230, 57,152,206,
+152, 85, 35, 66,  8, 20,166,192,186, 62, 34,129, 64,103, 45,  4, 75,227, 58,140,136, 48,248,229, 98,137,201, 20,117,103,233,156,
+199, 53, 13,244,235, 93, 70,113,218,195,198,130,147,228, 40, 46,197,211,146, 26, 80,157,116,186, 62,236,166,198,224, 33, 51,232,
+ 16, 40,141,166, 11, 30,233,226,125,221, 57,143,247,158,222,  7,156,243, 52,189, 39, 55,138,186,135,206,122,180,148,172,189,197,
+171,232,  5,223,220, 32, 25, 73, 95,111, 83,230,125,235,226, 52, 33,210,107, 29,194,128, 84,122, 38, 90,123,147,131,126,179,  6,
+169,155,212,217,135,231,209,151,231, 96,194,207,120,246,148,137, 48, 58,146, 98,148,113,168,  5, 66,105, 26,231,216, 52, 61,165,
+183,108, 54,137,183,241,162,135,117,150,179, 57, 58,130,201, 45,126,167, 28,241, 70, 86,112,168,  2,167,215,171,120,112,126, 86,
+212,112, 93,195,114,157, 16,172,132,114,105, 29,247,134, 46,125,125,240,138,184,185, 39,178,148,191,240,130, 45,169, 75,133, 29,
+162,223,183, 20,136, 96,248,155,205,150, 55,142, 15,177,186,224,170,115, 92, 11,199, 98,221, 82,  1,227,190,163,146,130,183,143,
+142, 56,152,143, 24, 85,  5, 18,133,148, 26, 89,106,228,225, 40,106,217,115, 29, 21, 15,219,128, 25,  9, 46,234, 37,235,237,  5,
+227,106,134, 84,101,220,227, 10,  8, 73,235, 47, 19,163,122, 84,150,216,166,103,146,231, 76,180, 64, 11, 67, 38, 50, 86,237, 53,
+ 79,150,151,188,215,116,248,174, 35, 40,133, 47, 50, 66,215,227,155,109, 34,  4, 59, 66,219, 18,250, 53,212, 77,148, 78,245,  9,
+  1,244,137, 44,217,181,187,169, 69,238,120,189,175, 34, 53, 19,222,243,180,109,249, 69, 93,243,255, 45,123,206,235, 13, 65,123,
+182, 56,122, 31,184,106,214,148, 62, 80,132,128, 16,130,128,192,106,201,108, 92,178,146,154,235,114,  4, 71,135,241, 31,189, 94,
+ 35,206, 22, 17, 61, 25,222,171,129,253, 93, 22, 49,105,242,246, 45,126,248,107, 15,248,206,237, 35,102,199, 83, 30, 47,109, 92,
+213,  5, 62,117, 79,138,151, 13, 88,131,148,214, 57,220,197,  5, 98, 62, 35, 35,196, 45,149,243,  4,161, 82,124,131,165,105, 26,
+ 86,221,154,211,197,138, 38, 36,207,138,254,115,130, 84,156, 75,187,235,136, 40,138, 68,  9, 10, 87, 43,150,222,179,105, 45,171,
+166, 35,  8, 17,239, 61,149, 66,197,156,139, 53,173,245, 59,173,248,240,115,107,205, 55, 50,195, 91, 69,206,216,228, 24,169,249,
+ 14,158,223,124,253, 54, 39, 38,240,243,109, 31,155, 88,153,220, 35,  7, 84,211,171, 72,148,179,  3, 26, 39,119, 12,251,225,245,
+ 90,187,139, 44,206,116,226,113, 37,185,247,102,155, 26,189, 95, 69, 81, 31, 10,240,224,169, 62,176,137,  7,243,150,  1, 90, 29,
+ 82,175, 94,201,171, 86,238,138,  0, 98, 47,241,172,255,219, 47,232, 38,193,136,210,192,131,187,124,255,173, 55, 25,149, 83,178,
+ 44, 35, 56,232,123, 75, 89, 22,104,183,230,210,121,130, 15,  4,159,228, 17,219,  6, 46, 23,241,115,149,244,222,165, 70,230,138,
+ 81,174, 49, 82, 80,101, 34, 41,151, 60,151,171,  6,183,218,194,106,  3,153, 97, 84,149,188,113,124,155,131,114, 66, 32, 50,167,
+215,125,205,197,102, 77,127,185, 76, 76,247,246,203, 17, 35,  6, 46,194, 62,251, 27, 17, 59, 62, 33,119,133, 29,191, 67, 68, 94,
+ 36, 58, 37, 84,232,249, 29,146,216, 85,252,125,243, 22,159,248, 13, 50,  5,173,100,106, 39, 35, 19,236, 50,196,111,152,231, 42,
+ 21, 45,249,188,169,144, 81,241,181,143,103, 76,199,  5,203, 77,205,253,131,219,180,214,226,189, 69,  9,193,182,107,232,108, 71,
+109, 91, 70,166, 68, 75, 69,227, 90,140,209,108,234, 26, 23, 98,227,228,214,203,180, 42, 72, 26, 80, 19, 98,241,216,247,255,215,
+ 41,191,216,136, 56,189, 15,134, 62, 69,106,  0, 74, 19, 37, 62, 14,180,214, 88, 23,179,199,251,224, 81,  1, 28,158,173,117,228,
+ 82,196,126, 78,  7,218, 54,254,253, 94,193,214,245,180,  2,154, 62,196,239, 19,  2,215,135,221,218,104,216,239,119,110, 87,200,
+135, 93,186, 52,137,149,191,127,221,211,179, 49,144,  0,131,123,254,249,120,153, 70,255,101,207,158, 41, 34,169,103, 82,210, 42,
+201, 72, 72,182,120,148,117, 80,119,172, 54, 61,110,152,158, 63,181,243, 86,112,239, 22,191,115,112,139,147,178,228, 40,203, 81,
+125,199,105,187,164,191,186,126, 57,252,190, 47,115,235,218,196, 91, 72,  4,189, 44, 49,137,133, 73,133,125, 88,229,228, 96,235,
+120,144,233,  9,248, 14,209,217, 68, 94,141,123, 75,209,219, 88,208,  1,225,  4,130,192,251,218, 83,168,146,101,151,130, 58,188,
+229,160, 50,220, 27, 79,185, 91, 76,184, 51,153,114,116, 56,195,110, 91, 52, 18,217,  6,228, 36, 71, 30, 22,136,204, 32,140, 36,
+108, 28,118,219,210,103, 10, 39,  3,173,146,180,174, 71,  5,143,200,242, 68,230,142,197, 79, 25,131,197, 99, 16,100,121, 70,223,
+212,228, 38, 67,133,192,214,  7,166,166,136,236,118, 91,115,222, 89,124,  8,  4,163,  8, 70, 18,186,158,224,122,112,155, 72, 58,
+108,219, 20,140,178,199, 25, 34,133,251,236,107,246, 63,103,242,253, 44,255,118,113,  3,203,119,124, 92,111,249,127,175, 26,254,
+100,221, 48, 22, 22,211,246,204, 60,140,149,100,237, 29, 91, 41, 88,  3,155, 16,232,203,140,181,209,252,227,163,138,127,123,247,
+ 54,191,121, 50,229,247,238, 31,113,160,224,189,167,215,136,235,107, 16, 42, 42, 19,202,152, 96,121,127, 82,240, 91,243,  3, 94,
+ 59,186,205,225,116,198, 59, 69, 78, 63, 42,147,178,196,164,231, 81, 68,199, 78,147, 71,101,199, 40,231,232,254,  9,181, 44,118,
+ 12,242,180,102,186,176, 61,206, 40, 50, 37, 17,105, 53,211,  7,139,117, 13,235,245, 53,206,183, 52,173,101, 45, 37,200, 60, 34,
+135, 38,173,112, 94, 66,230, 19,  9,121,227,246, 93,126,239,123,223,229,215, 31,188,197,236,112,194,147,247, 63,129,174,229, 48,
+ 15,212,155, 58, 66, 33,117,183, 51, 75,106,109, 10, 17, 75,207,173,142,175,241,219,153,230,159, 76, 42,114,149,225, 67, 32,147,
+154,198,247, 20, 82, 34,165,225,195,166,166,150,  3,243, 93,199,231, 86,153,228,201, 48,212,158,244, 78,  9,187,131,223, 93, 26,
+ 29,153, 26,155,  0,  0, 32,  0, 73, 68, 65, 84,148,134,103,124, 88,207,217, 16,125, 71,134,144,153, 95,186,168,223,192,186,105,
+234,217,183,110,237, 82, 55, 17,210,  1,109,221,243, 22,146, 95,  4,129, 15,211,160,150,187,144,148,191,237, 41,125,144, 62,137,
+116,160,119, 14, 49,159,112, 50,154, 96,116,148, 55,  9, 41, 88,174,150, 60,188, 94,113,118,189, 66, 10, 65,232, 18,177,105, 29,
+ 73, 37, 40, 25,229, 66, 82,199, 41, 61, 87, 20, 90, 16, 66,212, 46,215,157, 99,217,180,112,185,137,172, 85,109,160, 44, 57,156,
+148, 76,117, 65,150,151, 55,147,228,214, 53, 60, 58,189,128,103,105,143, 62, 20,243, 87,189, 20, 38,221,212, 46, 93,119,159,116,
+143, 65,237, 96,112,201, 30, 26,194,110,194,222,159,212,  7,199,190,161,195, 22,201,252, 32,176,211,128, 91,151,120,  8,114,167,
+ 77, 30, 38,255,228,151, 30, 67, 59,210,191,181,159,119, 63, 76,238,222,167,195, 59,193,244, 58,199,101, 57, 71,101, 73,221,119,
+120,111,169,178,130,166,107,145, 74,179,105,214,  8, 25,144, 66,225, 66, 96,100, 74, 16,129,105, 89,113,185,190,230,234, 98, 17,
+167,194,190,141, 93,123, 72,114,181, 97, 82, 31,200,150, 50,165,233, 13,196,189, 96,210,207,145,140,142, 18,226,  2,  1, 33, 37,
+ 69, 46, 89,119,142, 44, 37,172,181,189,199,139,184,187,213, 54, 68, 20, 47,153,195,213, 30, 90,235,169, 93,192,134, 64, 41, 37,
+117, 99,119,  5,122,144,209, 89,151,174, 91,250,255, 82,238, 53, 93,114,151, 27,190,111,  8, 50,178, 77,220,167, 11,251, 60,105,
+114, 63,110,241,197,102,249,197,134, 45,151, 81,122,153, 69,148,165,  9, 32,165,228,162,238,113,189,163, 91,109,226,123,248,178,
+137, 91,101,112, 48,231,222,116,198, 97, 94,208,216, 30,131,231, 23,171,107,220,179,243, 47,110,194,123, 11,181,139,242,182, 76,
+241,221,201,132,127,117,231,152,223, 62,153, 80, 77,114, 62, 57,191,142,215,196,167,179,228,224, 54,223,251,254,183, 57,253,224,
+ 35,132,204, 35,  4, 63,236,102,149, 68,120,  3, 94, 34,219, 53,210,197,233,237,161,114,156,231, 21,149, 11, 28,224, 57,153,142,
+120, 99, 52,225,173,195, 67, 14,198, 19,242,188,192,123,203,229,163, 51,114, 43,208, 85,158, 12,142, 98, 20,175, 95, 54,216, 77,
+205,170,169,177,163,138,144,101,212,206,211, 43, 77, 16, 10,163, 13,189,179, 40, 41,177, 65, 48, 26,141,240,206,199,251,116, 60,
+194,117, 61,  2,184, 93,141,217,118,150,177,201,176,161,103,140,227, 81,219, 17, 66,192,107, 77,200,116,100,104, 55,237,141,214,
+ 63, 22,224, 93,118,252,238,243,206,112,236,197,255,126, 49, 70, 85,124,206,215,110,204,187,234, 45,118,179,229, 39,171, 45,  7,
+  4,250,166,193,118,150, 32,  4,139,  0,219,204,112, 17,  4, 87, 30, 10, 99,248,245,106,194,221,114,198,215, 38,199,220,159,156,
+144,151, 25,118, 94,240,112,221,195,250, 42, 14, 41, 78,192, 40, 99, 84,102,124,111, 58, 67, 41, 77,231,  3,191,232, 45,219,214,
+ 66,101,162, 74,104, 58,130,131, 57,156, 28, 69,251,225, 91, 71,252,219,111,191,193,247,143, 79,248,221,215,239,225,230,  5,143,
+201, 99, 67,115,124, 12,101,206,166,200,168,148, 38,  8,193, 73, 89, 97,189,195,120,207,114,179,102,221, 89,148, 20,148,185, 70,
+151, 57, 77, 94,194,252,144,252,181, 55,112,119, 95,131, 78, 65,150, 12,140, 32,114,  0,180,225,187,223,254, 58,199,  7, 39, 16,
+ 60,214,100,124,114,246,148, 25,150,197,114, 27, 39,225,122,147,160,251, 62,170, 60,250,193, 71, 33,236, 46,106,240,188,153, 25,
+190, 89,142,147,167,137,130,224,240,222,161,164,102,211, 55,180,194,242,164, 75, 89,225,153,137,208,250, 96,231,236, 99, 17, 23,
+200, 72,161,113, 50,161, 79,105,189, 98,221,243,178,212,126, 72,192,235,190, 82,109,124,121, 81,151,  9,114,240, 41,142,210,217,
+ 88, 64,250,189,  3,157,193,206, 85,236, 32,132, 87, 49, 46, 25,224,145, 23,141, 84,254, 54, 63,  6,  9, 85, 16, 17, 10, 65,176,
+200, 12, 85,150,113, 52, 46, 16,194,227, 29,156, 95,175,248,139,119,222,  5,209, 71,178, 19, 62,193,166, 77,116,197,154, 23, 73,
+222, 16, 51,166, 67,136,249,188,189,119, 52,189,163,111,250,216, 93,173,151,177,216,141, 71,140, 39, 35,170, 66, 35,241, 72,109,
+232,250,150,198,121, 30,158,157,179,125,122, 26,247, 67, 55, 59,152, 47, 67, 54, 84,177,248, 26,177,131,151,  3, 59,223,224, 97,
+160,147, 67,214,252, 75, 60,212,247,247,238, 67, 83,224,210, 62, 87, 14, 76,204, 68, 38,115,118, 23, 30,162, 19,188,173, 19,243,
+220, 13,161, 58, 58,194,197,168,  4,127, 37,191, 99, 37,118,118,166,129,104,252,211,247,244, 65,208,107,133, 32, 36, 55, 88,135,
+ 11,142,197,118,129, 68, 82,234, 17, 74,104, 50,173,144,194,160,165, 98,219, 52, 76,139, 17, 15,183, 75, 56, 59, 75, 39,153, 77,
+123,252,253,  2,153,224, 46,103,119, 28,  2, 51,200, 26, 37, 84,229,243,  9,100, 68,166,115,  7, 49, 80,195,122,156, 11, 88,  5,
+  5,113, 98, 19, 30,172,  8,224,  3,181,247,  4, 33,232, 83,163, 42,  9,172,187, 97, 23, 42,246,228,107, 73, 70,166, 84, 60, 68,
+ 92,159,252,207,137,178, 60,215,236,244,222,174,143,215,175,235,119,201,102,251,176,251,231,125,188,  8,161,143,170, 72,230, 73,
+ 54,187, 78, 42, 90, 27,125,216,221,166,129,235,197,103, 63,123,194,195,108,140,171,170, 36,253,213,188,187,186,228,252,242, 50,
+ 54,172,175, 18, 10, 50,228, 59,204, 39,252,193,157, 99,114,169,152,149, 83,156,235,121,167,238, 83, 80, 82,186,103,182,215,156,
+126,242, 48, 53,160, 18, 49,196,200, 14,211,122,232, 17, 65, 34,115,137,  8, 22,105,  5,178,105,  9, 42,144,  9,193,189, 81,198,
+131,106,202, 91,243, 25,147, 34,163,154, 69, 51, 21,223, 67,215, 56,214,151,231,140, 84,142, 57, 24,199,251,196, 65,216, 90, 66,
+211,227, 69,160,147,158,173, 20,184, 98,132, 77,220,146,218, 91,132,140, 33, 63, 69, 53,194,217, 30,161, 20, 89,150,209,214, 45,
+ 50,  8,100,102,240, 65, 80,100,154, 77,239, 57,206,198,116, 90, 98,125,195,179, 46, 74,187, 66, 12,  5,136,164, 68, 27,207,148,
+151, 21, 99,249, 25,159,191,204,175, 23,167,248,  0,  4, 31, 97,255,159, 45,150,124,220, 89,124,211,210,246, 14, 39,  2, 87,222,
+114, 42, 37,207,132,100, 94, 26,222,210, 25,119, 70, 51,148,202,208,198, 96, 76, 73,171, 13,125, 33,185, 80, 89, 92, 25, 92,175,
+ 97,121,197,166,243,188, 94,106,148, 84,156,246, 29, 63, 90, 44, 19,139, 59,233, 75, 85, 90,221,142, 51, 80,138,217,100,204,247,
+102,135,220,169,102,140,203,138,172,200,120, 71, 73,220,120, 12,183, 79,152,222,127,147, 81, 81,130,146, 84,192,131,201,140,147,
+ 81,206,196,104, 46,250,134,218, 57,148,214,228, 66,162,165, 96,148,103,252,240,183,254, 41,255,234,159,255, 62,255,236, 55,190,
+199,209,252, 62,106, 62,166,155, 29,211,118, 93,146,230, 26,206,188,226, 27,135, 83, 68, 86,209,109, 87,124,252,240,  9,237,242,
+154,233,184,164, 93,247,233,249,232,161,109,201,180,194,109,183,209,178,185,237, 83,141,139,199,217,177,210,188, 53,202, 24,201,
+140,222,181,145, 65, 79,160,237,123,150,222,242,151,203,134,237,224, 60,103, 20,163, 42,167,207, 75,200,116, 76,203, 19,137, 43,
+129,223,157, 73,128,  8, 33,254,250, 21,214,193,151,159, 20, 34, 81,248,135,201, 92,232,221,132,190,109, 34, 57, 34,193,100,251,
+142, 61, 55,196,160,127,136, 31, 42, 77,216, 50,197,172, 62, 89,178, 58,217,176,221,108,153,140, 15, 33, 52, 56,219, 36, 82,194,
+ 62,155, 60, 29,252,147,113, 60, 36,203,148, 50,119,179, 71,108, 99, 45,238, 45,172,183, 41, 35,126,  7,127, 74, 13,193,  7, 86,
+ 93,207,246,234, 20,135,100, 81,119,172, 47,215,176, 90,127,177, 27,222,103,153,233,244,169,233,232,147,214,193,200,228, 91,239,
+227,207,200,144, 78,150,194,105, 20,187,223,219,189,162,190,109,118, 83,184, 75,123,244,125, 97,113,219,196,212, 51, 33, 99,193,
+217,191, 23, 94, 28,216, 84, 42,252, 55,221, 73,  6,165,136, 83,103,122, 73, 56,189,155, 84,251,150,101,219,146,101, 26,183,245,
+132,205,154,233,120, 12,214,115,114, 56,  5,160,204, 75, 50, 99,112,125,143, 50,121,220,165,251,134,215,230, 21, 15,191,254, 38,
+188,255, 65, 12, 48, 81,123,124,  4,217,199,127, 71,217,231,175,111,219,237,146,200, 26, 27, 73, 92,222,199, 48, 17, 37, 33,  3,
+ 45,  4, 77,231,208, 72, 86,193, 83, 32, 88, 16,  8,206,115, 32,  5, 54,  4, 46,251,158,137,138,141,192, 38, 65,209,197, 16, 64,
+228,247,166,213,129,108,227, 93,130,223, 19, 15,194,166,130, 23, 92, 34,246,245,207,255,153, 23,255,251,171,248, 19,232,228,136,
+149, 26, 22,186, 62,194,224,214,237,174,255,103, 54,  8, 22,206,174, 57,157, 95,112,234, 61, 44, 47,226, 52,  3, 80,  8,120, 85,
+197,229,102,  5,171, 45,109,215,115, 50, 61,100,221,183, 60,209, 49,171, 30,167, 65,118, 59, 18,163,200,227,251, 54,232,117,189,
+137,208,252, 80,156,148,197,123,131,207,193,119, 29,254,236, 17,206,247, 60, 10, 61, 63,152, 85,228,128, 81,  2,157,105,100, 46,
+200,171, 10,151,107,176, 61,107,215,177, 92,109, 80,143,174,201,239, 76, 99, 19,234, 60,106, 86, 48, 42,  2,186,201, 41,187,146,
+243,229, 53, 11,105,233, 61, 28,143, 39,204,110, 29,162,148, 36, 88,104,183, 45, 25,  1,219, 89,132,136,136,157, 17,130,186,109,
+168,138,156,215,230,135,252,199,235, 83,166,121,201, 55,111,189,206,149,123,194,199,109,131, 32,139, 69,247,238, 93,184,188,138,
+171,182,182,123, 57,116,254, 57,  5,250,121,146,156,190,121, 78, 69, 90,231,  8,187, 99,165,135,255,159,186,247,108,178,236, 58,
+239,253,126, 43,237,112, 98,199,153,  1,102,  6,145,  0, 73, 48,136,162,168, 72,221,171,171,107,189,176,222, 58,125,  5,127, 13,
+126, 26, 87,185, 92, 46,135,178,101, 91,117,203,215,165,146,117, 45,139,162,196, 32,  6,136,  4, 48,  4,  6,192,204,116, 58,113,
+135,149,252, 98,173,221,231, 76, 34,  2, 85,186, 86, 87,117,117, 79, 79,247,  9,123,175,181,158,244, 15,207,248,155,  8,124,176,
+217,240,254,102, 67,216,108,152,108, 74,142, 70, 35,220,116,204, 47, 85,193,151,116,137,174, 11,106,161,232,  8,180, 33, 49, 20,
+218,224,168,139, 17,119, 15, 61,247,164, 72,190,237,139, 53,108,123,254,135,239,253,132,232, 44,232,241,117,155,154, 73,149, 20,
+ 44, 67, 62,127,214, 61, 76, 71, 40,210, 56, 78, 41,131, 20,  2, 41, 52,183,170, 49,247,104,161,158,208,121,203, 97, 61, 66,199,
+200,237,233,152,219,179, 17,181, 81,172, 27,205,173,110,198, 74,104,240,150,224, 18, 30,228,197,217, 17,175,188,124,151,111,188,
+ 54,199,148,154,155,199, 37, 55,223, 62,164,111, 54,252,183,189,163,251,240, 62,194,247,196,237,138, 11,111, 57,242, 61,147,170,
+ 98, 50,159,178,110, 91,150, 87, 93,214,108,224,122,150,221,111,219,221, 57, 65,155,102,235, 19,  7,182,226,  3,161, 57, 31,111,
+ 24,141, 21, 71,166,102,101, 27,162, 15, 56,224,157,102,203, 89,  8, 40,169,168, 43, 69, 37,210, 40, 86, 86,145, 77, 35,210, 88,
+176, 80,233,188,183,221,206,203,163,123, 90,123, 63,254, 42, 64,244, 62,117,248, 83, 87,234,  3,  8,167,200, 21,143,207, 51,219,
+224,115,133,222,166, 67,113,219,238,108, 81,201,135,214, 64, 33,250,231,212, 18,127,242,141, 63, 15, 60, 36,101, 58,228,116,238,
+155, 18,224,104,204,239,188,126,155,155, 39,199, 76,231, 37,149,209,156, 28, 30,240,225,229, 57,171,237, 22,101, 20, 81, 12,109,
+232, 68,237,160, 46,118, 82,152, 42,139,  4,172,123,216,108,224,106,155,248,200,109,127,141, 58, 86, 35,195,200, 40, 68,148,108,
+189, 99, 99,  3,103, 77, 67,127,149,231,237,155,203,207,119, 96,171,189, 46, 10,131, 82, 87,110,221, 26,147,237, 70,243,  2, 40,
+ 51, 21,101, 24,228,201, 61,158,113, 36,123,210,199,  4,  2, 52, 38,  5,222,174,221,177, 20,164,220,241,106, 10,185,107,185,135,
+144,103,167,123,115,173, 48,120,162, 15,200,238,140, 54,247, 49,207,239, 67, 66,123,186,252,243,110, 11, 33,176,237, 44,203,190,
+103,213,247,148, 74,115, 52,155, 81, 21, 21, 39,179, 99,140, 81, 72,161,209,101,129, 16,146,217,120,130,115, 61, 35, 93, 80,170,
+200,  5,106,103,149,232,251,244,248, 62,163,137,221, 51, 58, 65, 74,238,168, 42,  3,208,188, 48,100, 88,123,154,102, 40,137, 37,
+ 94, 23,212, 32, 17, 49, 38, 45, 23, 18,117,205,121,207,101,219, 81, 85, 26,215,123,182, 54, 80,228, 45,115, 13,148, 27, 40,108,
+  3, 86,193,251, 92,197, 59,210, 48, 88,236,130, 88,239, 30,167,118, 62,171,195,245, 60,205,251, 39, 55,122, 53, 74,126,230,227,
+ 50, 37,120,101,  6,  8,250, 60, 11, 63,187,252,100,  7, 40,111,179,177,142, 72, 93, 42,107,147,167,192,114,243,233, 19, 81,159,
+ 16, 74,221,164,230,131,222,241,253,182,227,103,155, 54,237,167,102, 11, 62,139,110,168, 36, 49,122,173, 43, 32, 67, 66,194, 83,
+164,239,243,216, 68,208, 35,131, 70,184,  6,169, 42,148, 23,168,222, 18,101,224,181,217, 41,199,166, 96, 50, 27, 99,180, 68,150,
+ 26, 85,106, 34,130,162, 46, 89, 44,150,232,141, 69,  7,129, 84,105,223,248,182, 71, 40,129,170, 53, 69, 81, 50, 50, 37,149, 48,
+  8,161,185,117,231,  6,245,193, 24,115, 56, 70, 24,141, 18, 26,239, 34,182,115,200,210, 16,188,199,197, 64, 81, 26, 90, 31,104,
+251,150,117,132,214,148, 52,192,168, 52,188,183,110,  8, 50, 18, 11,147,206,139,201, 24, 84,129,240,  1,185,234, 17,217, 65, 55,
+239, 32,212,245,167, 70, 37,136,223,222,103, 72,191,227, 65,150,  5,210,  8,164, 18, 72,145,212, 48,165,247, 79,183,225,247, 43,
+246,253, 79, 47,232,172,227,114,221,176, 88,246,196,182,227, 81,140,252,198,116,204,161, 54, 76,234,  9,  0,239,180, 27, 46, 92,
+199,199,125,207, 54,  6,122, 17,113, 66,195,225, 12, 38, 35,226,100,  2,179, 89,218, 71,171, 38,105, 30, 92, 44,211, 26, 57, 63,
+ 75,126, 20, 34,209, 21, 27,160,150,142,185,210,180,206,114,101, 59,254,106,181, 77,123,161,168,185, 51,154, 50,146,138, 50,  6,
+ 94,158,140,152, 40, 73, 89, 40,188,130, 94, 40, 62,180, 14, 87,150,212,166,194, 17, 25,153,146, 55,191,240, 50,  7,211, 17,109,
+ 31, 48, 72,182, 54, 34,162, 68, 19,249,229,250, 42, 61,119, 81,114,235,228, 16,163, 10,122,  4,239, 93, 93,225,151,103,153, 97,
+ 16,210,243,219,236, 36, 24,158,156,207, 39,227, 33,164,166,233,123,126,218,123, 94,174, 36, 70, 68,122, 31,232,188,231,157,126,
+195, 79, 54, 61, 27,239,145,217,151, 69,163, 16,165,160,245, 36,165, 65,145,217, 35, 82,165,241,168, 16,121,236, 41,114, 49,229,
+159, 15, 42, 44,139, 84, 84, 85, 38,237,199,161, 91,250, 43, 42,251,199,131,186,148, 48, 58,132, 98,154,128, 14,163, 81, 86,184,
+146,201,122,174,168, 18, 34,215, 84,169,202, 40,244,110, 46, 54,104,214,126, 30, 78,237, 63, 69, 48, 31, 14, 55,249, 12,125, 94,
+ 85,236, 29,230,164,139,116,115,204,183, 94,189,205,168, 30,209,181,129,186, 42, 80, 50,112, 88, 76,248,104,181, 96,219,111, 81,
+ 50,166, 24, 88, 40,162, 86,200,202, 32,164, 76,168, 73, 31, 97,217, 38, 95,246,197, 26,150,217,159,125, 86,167,235, 54,174, 48,
+ 38,205,147,173,247,248,  0, 27,239,211,225,237, 61,172,206, 63,123, 53,166,115, 23, 37,184, 93, 94, 39,217,179,161, 53,105, 30,
+ 99, 76,230, 71,154, 28,108,217,161, 57,  7,224,154,209,121, 54,170,211, 74, 68, 67,200,153,234,224,152, 23, 99,170,160, 66, 76,
+139, 63,100, 10,214,  0,138, 51, 58,183,189, 51, 35, 32,100,107, 77, 93,236,230,251, 42,238,130,103,148, 89,191, 63,183,166, 93,
+ 82,251,162,235, 97,181,133,208,179,145,154,227,233,148,195,106,204,108, 58,197,123, 79, 89, 22, 40, 41, 24, 79, 38, 56,107,  9,
+193, 98,187,158,178, 40,  8, 42,178,106,186,244,  6, 93, 72, 45,238,190,123,254,104,199,251,188, 49, 34, 96,114, 82,147,121,236,
+ 25,131, 16,131, 39,202,152,198,219, 49,210,245, 14, 39, 99, 50,112,241, 17, 27, 28,141, 15, 76,180, 98,219, 88, 10,163,114, 52,
+207,231, 68,  8, 59,228,255,208,245,232,236, 30, 74, 63, 38,  0,159,103, 39, 60, 33,194, 39,239,157,231,  5,245,199, 70, 42, 21,
+220, 60, 74,201,247,168,230,141, 73,193,177, 54,212, 81,112,164, 21, 55,100,224, 98,185,250,228,181, 39,196,142,  2, 26, 99,154,
+237,111, 59, 88, 52,159, 92,233,239,239,205,174,227,170,141, 60, 10,145,141,202,215,223,147,170, 32,187,190,166,179, 37,212,176,
+ 73, 65,222,107,132,235,147,  0, 77,238,128,136, 40, 17, 42, 38,122,155,  8,200,114,130,244, 61, 50, 68,214,209,115,103, 82,113,
+ 84,205, 24, 41,141, 86, 18,169, 20, 33,  6,212,164,196, 90, 79, 64, 96, 53,244, 23, 43,100,231,  8,173, 69,212,  6, 57, 41,137,
+214, 35,141,166,156,212,140,203, 17,243,217,148,234,116,134,158, 84,168,113,133,170, 12,193,  6, 90,235, 16,133,196,134, 64, 80,
+146, 32, 37,141,247,  4, 33,184, 10, 30,163, 20,235,174,163, 51,  6,173, 43,222, 58, 57,230,230,184,230,168, 54,220, 28, 25,254,
+139,219,183,248,175, 95,191,203, 91,167, 35,254,106,213, 34, 93, 64,  6,119, 29,204,245,240,213,104,180, 82,104, 37, 51,222, 80,
+160,188, 71,121, 80, 74,163, 42,185, 75,  4,  4, 40, 41,144, 49, 33,224,229, 94,235,254,233,106, 93,167, 22,122, 78,110, 35,145,
+216,103,157,254,117,199,182,138,  8,111, 57,179, 13, 87, 81,240,113,223,114,207,182,108,172,229,178,105,137, 66, 98, 51, 59, 70,
+214, 21, 98, 52, 34,102,103, 63, 70, 21, 84, 21,163,233,  4,187,216,100, 91,209,144, 40, 89,139, 45,244, 61,247, 31, 92,242,221,
+143, 30,112,213, 47,249,139, 95, 62,130, 15, 62,204,235,106,205,202, 54, 84,125,143,176, 13, 69,136,204,140,194,134,192,186,109,
+249,225,229,154,141,212,248, 24,145,198, 32, 84,193, 89,215,113,103,114,200,205,185,193, 89,199, 98,213,177,117,160,181,132, 62,
+242, 96,253,136,237,102, 11, 77,195,225,193, 17, 33, 70,186,190,227,131, 95,188, 11,155,101, 46, 90, 51,  8, 85,239,241,204,159,
+220, 87, 33,183,203,183, 14,175,  4,127,223,118,252,223,151, 43,222,110, 59,254,118,189,225,199,139,150, 77, 76,116,213, 66,194,
+ 76,107,186, 24,136, 66, 38,207,166, 97,236, 27, 19,173,247,200, 20,180, 18, 94, 61,152,112, 37, 76, 22,235, 82, 59,  9,229,167,
+138,184, 12, 52,237,243,226, 16,207,176,133,125,110,251, 93,235,164, 62, 53, 59, 76,243,218,168,178,218, 85,  1,151,151, 80,  5,
+104, 87, 80, 78,210, 28,216,100,126,162,201,237,216, 65,217,203,185,127,222, 10,125, 95,201,108, 16, 81, 25,254,237,220,222, 91,
+204, 78, 56, 58,253,205,203,211, 81,166, 77, 70,170, 66, 98, 10, 77,111, 35,101,110, 87, 42,  4,165,  0,105,210,251,178, 22, 98,
+ 70,236,247,214,165, 96,212,183,169,165,178,204,193,112, 86,229, 89, 82,170, 88, 61, 17,105, 10, 68, 76,  7,100, 41,  3,157,144,
+159, 13, 16,247, 36,128,201,183, 32,170, 76, 83, 11, 59,174, 56,164,255, 43,178,232,193, 53, 90, 61, 47,  6,159, 91,244,251, 90,
+223,229, 36,161,229,251, 12, 98, 11,213,110,132, 50,140, 86,182,171,180, 97,125,174,194,237,240,213,237, 84,232,174,171,203,225,
+189,245,233,185,  6,235,207,184, 55,103,133,221,  8, 71,230,182,179,203, 86,179,155,158, 48, 25, 97,  2,196, 24,233,156,163, 42,
+ 43,132,148,232, 34, 85, 71,169, 59, 22,249,222,131,247,248,218,233,109,198,198, 80,158,206,233,174,214, 57, 97,202,175,223,254,
+ 10, 43,211,216,166,128, 14, 73,176,162,202,107,196,231,235, 84, 25,176, 73, 60,100,  8,202,222,122,218, 24,169, 60,120, 25, 48,
+ 14,214, 46, 80,105, 65,231, 82,160,170, 76,106, 26,116, 42,111, 82,163,119,216,145, 65,203,125, 16,224, 24,  2,163, 54,169,253,
+238,229, 39,143,175,246,247,214,222, 82,127,172,139, 51,159, 51,159,212,152,217,136, 27, 82, 49, 51,  5, 91, 23, 49, 37,168,224,
+241,189,228,213,227, 99,222,221,222,255,228,231, 90,183, 48,233, 82,162,164,115,199,174, 72,157,201, 79,189, 55, 71, 85, 74, 96,
+203, 92,150, 78,138,212,241, 58,157,165, 91,112,113,158, 76,101, 84,149, 70, 40,195, 45, 42, 52,194,107, 34, 14,130, 33, 42,155,
+243, 66, 75, 12, 37,193,247,248,178,198,105,133,125,180,228,127,253,209, 15, 24, 71,193,188,252, 58, 82, 41, 60,130,114, 84, 16,
+123,143,152,214,  8, 31, 88,158,175,112,210,114,255,195,123,140,100,228,120,118,202,232,116,142, 26,151, 72,153,199,  2, 35, 65,
+ 57, 31, 35, 39, 73, 57,113, 16, 67,  9, 66, 18,163,192, 75, 73, 52,208,228,110,148,170, 20,155,117,147,192,103,120,212,168,100,
+ 46, 13, 55,162,163,139,145, 98, 58,227,197,245,134, 66, 27,254,112, 62,162, 38, 80, 86, 83,126,183,151,124,247, 23, 31, 49, 61,
+158,208, 54, 13,210,  6,102, 64,211, 89,164,117, 72,231, 17,131,135,183,183,215,103, 91, 52,250, 41,206,122, 28,130,180,123,188,
+ 34,223, 63,102,  2, 26,177,223,226,181,225,122,  1,197, 46,161,191,127,252,119, 11,126, 60,159,115,251,246, 41,107,161,185, 49,
+155,242,113,150, 22,142, 49,178,237, 60,197,184,192,201,196,124,153,148, 21,109, 76,235,254,173,219, 55,121, 57,118,244, 93, 79,
+123, 52,226,  7, 77,195,253,143,174,146,184,141,112,176,190,202,186, 74,129,183,239,127,176, 91, 35, 75,141,248,210,239,242,202,
+228,144, 27, 85,  5, 97,195,213,102,201, 61, 21,144, 82, 17,130,231,170,233, 81,170, 96, 90,214,  9, 15,101, 45,181,144,108, 62,
+190,207,189,197, 21,181, 52, 92,184,192,228,245, 87,137,165,230,206, 75,183,248,250,242, 85,254,207,243,  5,156,159,241,227,255,
+231,175,119,103, 90,183,217,139, 25,123,  4,132, 95,245,209,245, 96,  2, 92, 56, 88,151, 48,174,185, 88,101,141,249,124, 78,170,
+ 73,141,138,129,149, 11,140, 74,205,186,203, 12,161,222,131,134, 63,157, 86,220,136,145, 57,  0, 19,188, 13,124,124, 56,227,127,
+218, 58,220,162, 77,137,198,106,  5,182,223,141, 81,202, 34,157, 83,195,248,146,140,103,178,242,217,251,255,169,160, 62,170,161,
+ 58, 74, 30,211,202, 64,219, 38,190, 92,211,193,252, 16,232,147,137, 70,183,222,205,212, 11,189,155,185,199,161,141,246,252,172,
+125,244,123,191,201,246, 47,255,230,159,190, 82,223, 63, 68,158,  2, 20,237, 81, 70,100, 62,200, 85,207,189,143, 23,124,243,238,
+150, 48, 58,194,148,  6,169,161, 82, 37,127,241,179,159,112,241,241,  5, 24,216, 22,145, 73,126,188,170, 84, 88, 11, 91,151, 57,
+199,235, 38, 85,231,203, 54,  7, 69,153, 40, 68, 70, 64,165,174, 27, 33,135,229,  4, 41, 21,198, 84,124,184,186,160, 27,120,202,
+101,190,198,159,229,163,235, 83, 59, 38,132, 29,143,220,134,157,242, 16,213, 14,160,228,119,221,249,148,190,231,223,209, 58, 97,
+  3,122,191,211,229,222,191,143,251, 12,135,144,175,239, 48,243,244,121,152,106,115,  0,241,215, 15,158,231,237,114,151, 64,120,
+210,154,105,114,102, 41,121,188,109, 59, 24,124, 40,185, 75, 70, 10, 13, 10, 44, 29,202,104,182,237,134, 24,234,235, 68, 11,  2,
+ 90, 73, 74,173,248,202,233, 75,156,175,175,168,202,146,170, 50,116, 70, 38,228,109, 40,210,252,248, 87,  1,180, 29, 36,162,249,
+ 54,137, 60, 12,243,238,125,205,250,152,223,155,221,105, 11,  7, 45,104,101,100, 82, 21, 20,170, 96, 28, 60,155, 69,131, 34, 49,
+ 65,186,144, 94, 66, 73, 96,217,248, 29, 62, 33,207,223,177,185,171, 97, 51,142,161,  8, 89, 53, 46,139, 79, 12,207,253,105,242,
+ 98,247,236,237, 60,159,106,166, 85,133, 50, 21,  7,165,129, 24,152, 25, 77, 99,123,250,206,115, 96, 52,141,240,105, 15,111, 63,
+197,250,243,238,154,198,132, 54, 41,153,103,245,233,246,165,219, 75,178,182, 93,186, 56,190, 72,227,142, 16,161,236,161,154,130,
+111, 82,133, 46,202,204,166,113, 59,140,134, 15, 48,  4,116, 61, 38,244, 27,194,168,194,175, 86,120, 52, 78, 68,172,208,172, 31,
+ 93,241,243,135,239,115,123,118,  3, 93, 24,154,222, 49, 37, 75, 21,228, 60,164, 45,  4,155, 94,115,142, 35,108,183,196,139,143,
+185,249,209,132, 55, 94,124,153,233,139, 39, 40,173,209,227, 26, 66, 68, 42,149, 26, 43, 14, 92,227,104,215, 45, 91,235,176, 26,
+202, 66, 16, 85, 66,199,111,108,160,169, 10,150, 33,208,136, 72, 20,130,  3,231, 56,247, 18,175, 21,119,170,130,143,199, 83,140,
+243,216, 58,141,227,206,163,230, 91, 95, 62,228,171, 95,145,184,109,131,116, 61, 70,194,213,242,146,166,219, 98,131,231,195,135,
+ 87, 64,199,197,253, 13,162,185,132, 62, 57,183, 69,155, 58,165,241, 58,168,167,196, 39,118,253, 83,193, 60, 15,161,174,191, 62,
+ 89,185,139,189,200,112, 61,105, 90, 44,184,191, 88, 16,181,230, 74,215, 48,170,146,217, 75, 85, 18,181,162,111, 96, 52, 29,131,
+ 82,108,130,165, 22, 37, 55,149,228, 75, 70, 50,215, 71,120,181,165, 24, 31,160, 23,103,220,111,129, 81,155, 40, 99,155, 54,  3,
+ 65,247,248,235,166,128,187, 95,229, 63,253,218,183,153,207,231,244,155,  5,203,205, 61,188, 92,114,149,215,230,214,245, 72,111,
+ 49, 42,233,183,107, 83,177, 14,150, 27, 66,112,203,119,204,154,128,213,134,211,114, 68, 37, 60, 23, 34,221,243,131,201,140, 98,
+ 60,162,211, 25,219,241,228,188,250,186,232,251,148, 31,214,237,144,241, 77,147,240, 42,166, 74,103,189, 41,241,139, 13,219, 74,
+ 49,171,107,154,222,161,180, 98,107, 19, 45,238,182,128,113,140,252, 70, 89,177,142,158,169,208,168,169,225,101,  4,219, 81,207,
+ 15, 15,231,124,112, 49, 78, 74,114, 15, 30, 36, 87, 78,178,169,206, 16, 83,226, 94,241,179,143,139,122,  6,142, 34,181,223,181,
+134,233,113, 82,178,137,234, 90, 78, 83,169, 50, 89,244,  9,  1,109,200, 64, 22,153,103,234, 67,213, 88,164,202,103,208,  7,127,
+ 94,251,240,206,171,124,251, 43, 95,229,189, 77,  3, 87,151,255,116, 65,125, 64, 85, 15,179,244, 33,184,239, 43,166, 41,185,163,
+115,  9,153,130,203,166,229, 29,122, 94,157, 78,136, 81,210,181, 29,111,255,226, 29,126,252,224, 10,187,186,202, 66,254, 10, 31,
+ 34,227,194, 16,137, 88,  1,190,115,176,202, 38, 23, 93,214, 27,150, 89, 29,107, 82, 66, 57, 74,149,  8,145,233,120,198,124, 50,
+ 69,106,147,148,196,165,100,217,181,  9, 29,127,181,253,124,238,107,215,109,238, 28,177,245,158, 71,184,207,130, 47,  3, 86, 77,
+100, 69,181,125,183,175, 50,189,182, 84,121,229,175,214,165,164, 46,228,170,178, 24,  2,118, 76,156, 80,223,100, 26,154, 76,179,
+247,202,236,105, 20,228,150,187, 44, 51, 71, 62,209,213,112, 54,137,233, 12,226, 43, 79,182,139,  6,101,169,129,250, 54,206,244,
+150,201,152,121, 85, 34,163,192,135,128, 68, 34,181, 34,134, 64,239, 59,218, 77,139,139,142, 77,179,198,147, 90,218,222, 90, 86,
+157, 77,247,216,246,201,221,238, 19, 89, 24, 46, 37, 98,131, 36,164,139,169, 21, 63, 84,237, 66,237, 54,241, 32,149,155, 53, 34,
+ 14,170, 26, 41,  2, 94, 40,182, 77, 79, 97, 36,133,140,  4, 23,  9, 33, 34,181, 76,222, 53,144, 42,187, 65, 18, 86,134,157,170,
+222,160,255,224,247,228, 98,241, 79,211, 14, 63,203,199,193,156,131,201,132,233,225,148, 88, 26,166,166,162, 84,  6, 71,146,190,
+221,246, 22,105, 91, 54,219,150,197,249,226,233, 32, 28,158, 16, 74, 24,149,112,122,196, 27, 71, 83,190,121, 56,226, 55,142,198,
+ 28,141, 21,239, 63, 92,127,242,218,173,138,148, 20, 93, 91, 35,103, 63,133, 81,157,128,141,245,140, 59, 35, 67, 24,149,244,103,
+139,204,208,200, 30,240, 54,181,151, 68,200, 95,163, 76,237,120,225, 17, 65, 35,156, 71, 84, 10,164, 65,132,152,184,  9,126,203,
+253, 71,107,142,102,154, 89, 57, 71,  8, 77, 23, 97,211, 59, 54,109,207,202, 59,182,214,241,225,114, 69,231, 45, 23,221,134,243,
+126,197,  7,221,134,179,229, 57,114,213, 50, 63, 60,130, 16, 80,198, 16, 92, 36,246, 14,187,234,105,206,214,124,116,181,102, 25,
+ 60,157,136, 56,163,176, 34,242,208, 71,186, 74,211,  6,216, 32,208,133, 65,121,143, 49, 10, 35, 36,174, 44,145,198,160,165,  0,
+ 99, 88,233,130, 43,235,185, 50,  5, 97, 84, 35,141,161,200, 62,241,149,169, 40,117,193, 68, 26,222, 28,207,248,198,201, 93,190,
+124,248,  2,111,222,122,129, 77,  1,237, 38, 98,138,164,136,102, 32,201, 39,  3,134,128,182, 14, 29,194,117,251, 62,181,230,143,
+145, 52,215, 36, 24,129,124,110,102, 24,159, 53,207, 13,  1, 92, 79,108,182,  9,255,208,108,210,218,213, 26,155,233,204, 35, 83,
+ 49, 82,145,215, 71,154,  3, 31, 24,107,133,209,154,166,111, 56,174, 70, 92,132,192, 69, 36,157,139, 85,153,214,131, 23,136, 66,
+ 38,206,251,248,132, 63,248,189,127,203, 87,191,252, 26,135, 71, 53,101,169,105,214, 45, 62,108, 40,138, 18, 79,214,112,176, 22,
+225,114, 97, 28,  4, 50, 68, 42, 97, 57,213,201,120,201,147,204,149,238, 59, 65, 35, 53,171,117,203,249,213,130,127, 60,255,152,
+248,224,193,174,120,121,222,200,234,179,152,166,120,159, 37,178, 51, 53,181, 27, 24, 47,137,151,222,117, 22, 39, 36, 86, 12,179,
+ 56,207, 23, 75,201,151,181,196, 10,193, 76, 40, 90,173, 56,208, 53,125, 81, 82, 85, 99,222, 67, 51,153,207, 88, 72,  9, 71,  7,
+ 80,141,211, 94,240, 54, 83,222,114,102, 90,100,145,156,103,188, 31,241, 84, 80,175, 10, 56,190,157,104, 62, 38, 75, 21,  6,153,
+230, 45, 49,  5,183,228,103, 46, 97,187,200,115, 72,151, 90,243, 93,  6,207, 13, 92,220,231,125, 44, 46,121,239, 71, 63,250,167,
+ 13,232,195,205,209,250,241,153,250, 48,155,188,238, 61,101, 85, 53,113,141,100,130,206,226, 47, 87,220,211,150,191,254,135, 95,
+240,183,127,253, 99,126,254,227,159, 96, 31,158,239,184,244, 64, 49,210, 20, 82, 18,144,200,  8,125,219,167, 42,207,219,  4,136,
+155,212, 41,200, 21, 89,216, 63, 59, 30,129,228,100,122, 68, 81, 84,  8,  4,101, 89, 96,116,193,217,253,251,112,177, 72,  1,240,
+243, 28,222,194,103,119, 49,177, 83,105, 27, 90,240,106, 79,143,125,  0,194,133,152,240, 15,131,216, 79,200, 82,132,195,124,215,
+186,157, 25,129,218, 75, 16,100,166,163,233,220, 46, 14,121,150, 62,  0,232,134, 64,231,243,235, 16, 62,243,230,227, 78, 72,195,
+125,194,251,147,185, 26, 22, 25,239,160, 18,  0,209,150,138,227,122,130,136, 26, 79,199,166,109, 82,238, 98, 35, 77,219,178,217,
+172,177,193, 33,240, 92,110, 55,188,191, 88,167, 74,176,239, 18, 72, 39,186, 79, 47,134,228,178,125,218, 40,163,197, 69, 62,230,
+  6,231,167, 33, 25,  9,225,218,246, 87,213,146, 90,106,154,174,  3,231,115, 87, 57,105,110,143,181,100,166,  4, 90, 70,100, 16,
+180,249,255, 99,231,114,245,151,199, 84, 33,215, 80, 42,175, 79,216, 73, 38,127,222,160, 62,158, 96,199, 37, 98, 54,162, 86, 21,
+ 86,  8,140, 20,120,169,216,  4, 16,209,211,187,192,207,207,182,233, 16,178,185,179, 85,229,222, 94,153,173, 34,  7, 21,201,227,
+ 99,222, 60, 61,226,219, 55, 78,121,101,126,204,216,148,220,170,107,102, 53,188,251,209,197, 39, 84, 54,164,174,132,202, 35,169,
+ 40, 83,167,108, 54, 70, 30, 28,240, 95,221, 56,230, 55, 15, 79,248,114,173,248, 94,211, 36, 34,189, 82, 89,193, 81,164,  2, 66,
+  6, 68,187, 77, 24, 13,101, 32,170,164,112,150, 41,154, 34, 88,132,243,105, 47,201,154,216, 53,252,227,213,138,218,120, 26,  7,
+ 54,106, 58, 34,143,250,158,171,174,229,106,211,224,  4, 60, 90, 47, 88,249,158, 38, 10,164,136,  4,169, 57,239,183, 44,206, 23,
+212, 86, 34, 99,164,191, 76,250,237,205,217,138,247, 63,126,200, 59,155,  5, 75, 28,189, 49, 44, 66,100, 29,  5,157,128, 94,  9,
+162,146,184, 66, 83, 35, 40,181,102,235, 29,141,143,156, 26,205, 66, 42, 52, 80, 43,201,149, 11, 89, 96, 69, 35,141,162, 54,138,
+224,  3,227,162, 32, 56,199, 68,192,239, 31,156,242,214,209, 13,222, 60, 58,230,246,244,128,147,209,156, 87, 79, 95,228,214,205,
+ 35,198, 55, 15,185,156, 76, 49, 40,116, 52,152,222,163, 99, 72,254, 34, 90,161,133, 64, 27,205, 75,191,255, 91,252,214,191,250,
+ 54,239,255,240,251,123,192,185,180,215,196,175,110,245, 60,255,140,181,110, 39,197,218, 88,124,219,211, 41,193, 68, 41, 14,162,
+229, 11,227, 57, 70, 74,182, 93,195, 68,107,214,193,113,223, 59,206,107, 67,172,139,164, 89, 48,159,194,180, 66,212, 19,168,102,
+188,245,141,223,226,213,147, 91,220,185,123,152,140,209, 10,205,118,177, 96,219, 45,209,122, 76,101, 42,180, 20,216,222,226,131,
+165, 42,167, 84,101,133, 86,130,117,111,185,108, 87, 64,160, 87, 37,231,162,228,222, 38,242,254,217,  5, 15,175, 46, 88,244, 29,
+ 31,174,175,114,155,198,254,106, 26,230,103,217,110, 58,251, 99, 12,194, 82,248,157,163,102, 22,152, 18, 34,123, 92,100,253,144,
+127,165, 34,175,104, 77,140,130, 40, 37, 94,107,130, 50,196,162, 32, 42,131,169,107,110,205, 14,121,235,240,152, 87, 38, 35,190,
+122, 56, 69,142, 20,139,160,240,155, 62,117, 60,  7,224,111,255,124,234,201,112,175,119,189,106,153,196,111,  0, 66,103,243,  6,
+ 79, 98, 13, 97,177,222,189,129, 34,207,  9,201,213,156, 41,118,200,221,255,216, 31,215, 51,245,103,180,224,187,103,252,110, 12,
+172,191,255,206,227,200,104,178, 60,108,159, 17,253, 66,210,135,128, 18,146,198,237,169,129, 13,207, 17,114,160, 51, 25,193,108,
+179,222,112,173, 88,116, 45,186, 54,140,138, 10, 98,224,193,197, 85,162,189,225, 62, 63,101,201,229, 85, 88,200, 93,111, 45,228,
+ 27, 24,179,165,223,208,146, 31, 42,244,161,242,206,146,181,248, 61,109,233,125,253,230, 32,119,191, 59, 84,225,158, 29, 94,162,
+207,143,207, 48, 47,222,123,158,235, 36, 74, 62,221,106,255, 85,239,229,218,180, 40,166,  4, 98,185,101, 89,151,124,108,206,184,
+ 53,191, 65,187,134, 66, 43, 30,245, 45,211,106, 66,227,182,172,109, 75,239, 90,206,183,107, 70, 90,103, 11,183,161, 99, 96,159,
+125, 94,253,230, 87,249,131, 55,190,194,229,250,146,159,252,217,159,239, 81,169,100,122,238,206, 67,185,135, 11, 40,196,174,163,
+240,228,230, 89, 54,220, 15, 29, 69,244,212, 82, 97,  2,212, 49,210, 92,231, 93,158,145, 16,140,138,200,184, 80,124,180,241,232,
+218,208, 53, 57,217, 17,185, 67,224,179, 32, 77, 17,118,116, 63,177, 55,139,127,214,136,233, 73,  4,212,254,124, 48,  4, 38, 99,
+131, 17,146,  7,222, 18, 28, 76,235,154, 70, 72, 86,  4,106,105, 80,101, 65,121,235,128,110, 93, 37,112,226,102,149,124, 14,164,
+ 78,235,160,205,143,183,222,130,214,188, 54,159,112, 48,158,227,128,201,104, 12, 69,203,201,244, 34,181,205, 99,183,163, 48,198,
+240,196,117,119,160, 38,  9,135, 51,170,210, 11,108,151, 32,111,242, 71,163, 41, 47, 31,222,192, 16, 48,245,152,255,252,141, 13,
+255,253,213, 50,177, 71,132, 72,201,114,151,169,137,179, 99,104, 22, 73,153, 76,  8, 98,244,196, 32,  8, 69,133,167, 69,248,  2,
+161,122,112, 13, 81, 58,194,106,193,255,248,195, 31,243,199, 95,182,156,110,206, 56, 60,184, 73,208,154, 77,112,  8, 17,136,206,
+177,240,142,166,247, 28, 25,195, 88,150,200, 24,233,  8,220,243, 27,126,242,238,247,184,251,209,156,187,245,  1, 49,  4,150, 93,
+195,125,215,112,105, 20,177,186, 69, 17, 60, 99, 20, 86, 66, 85,  8,172,139,168,210,224,189, 37,170,  4,232,155,234,130, 96, 91,
+238,175,215, 28, 72,201, 74,105, 46,235,146, 19, 33,216,216, 64,239, 60,194, 24, 92,140,152, 16, 57, 40, 12,213,100,196, 29, 51,
+231,166,214,148,194, 80,  0,117, 41, 49, 82, 48, 81,130,155,197,203,252, 54,183,249,195, 91, 75,214,205, 10,239, 35,139,230,146,
+224,123,218,118,203,119,239,159,241,198,180,  4, 34,127,247,203, 11, 52, 63,161,218, 76,177,199, 22,233, 92,166,188, 61,223,140,
+ 37, 60,177,172,196, 19, 95,175, 63,182,109,250,220, 20,240,240,130,  7, 55,142,240,243, 17,191,109, 74,108, 76,182,197, 91, 31,
+104, 66, 96,163,  5,161, 39, 37,100,163,  2,209,247,144,145,245, 71,102,202,203,167,183,208,133,164,109, 91,148, 80,172, 87,107,
+ 58,219, 98,132,161,210, 26, 99, 74, 84, 47,217,148, 27,156,243,116,182,167, 46, 43,140, 48, 72, 25,120,180,241,172,195,150, 35,
+113,147, 27,167,167,220,169, 74, 46,214, 91,254,254,254, 61,126,182,188, 72,227,227, 27,135,105, 45, 62, 20,136,216, 37,252,192,
+147, 45,248,231,181,226,181,126,186,213,237,246,168,220,195, 57,167,117,  2, 76, 11, 11,141,134,106,192, 12,165, 98,238,102, 93,
+ 80,133, 12,141, 39,209,249,188, 16,148, 66, 33, 67, 90,189, 18,  0,  0, 32,  0, 73, 68, 65, 84, 76,133, 82,  5,  5,146,178,170,
+ 56, 86,  5, 86,151,252,142, 80,188, 57,170,249, 15,135, 35, 30, 60,218,164, 89,123,187,218,141,  8,247,164,154,227,115,103,234,
+151,103,132, 91, 47, 82, 24, 67,143, 73,104, 93, 35,  9,189, 75,122,191,171, 85,170, 78,135, 57,106,116,185,117, 25, 62,191,201,
+202, 63, 53, 88,238,211,102,161, 58,255, 78,208, 79,247,158,134,116,103, 82, 82,206, 43, 42, 85, 64,244,196,172, 42,182,123,140,
+204,113, 28,  2,251, 32,206, 63,184,132, 69, 88,111,215, 84,198,176,217, 88,148,134, 69,179,205,129,242,215,189, 96, 46, 43,142,
+ 13,  1, 54, 87, 70,131, 81,192,254,195, 15,115,221, 97, 49, 63,121,173,202, 98, 15, 13, 63,152,222,228,191,177,125, 62,144,217,
+ 89,177,178,159, 48,236, 61,135,149, 59,128,218, 39,  9,165, 60,121,239, 68,230,148,123,145, 64,128, 77,199,163,237, 22,207,199,
+ 76,203, 25,203, 54, 80, 21, 53,109,215,115,222,174,  9,177,231,188,217,114,119, 58,231, 39,239,190,151,109, 11,179, 71,184,205,
+  9,166,206, 55,122,160,245, 45,155, 20,208,207, 30, 60,254,220,165,220,157,106,206,166,214,112,204,116,  1,235,118,110,106, 82,
+160,240,148, 74,227,109,100,162,253,181, 56,247,180,132, 62, 68, 70, 67,135, 72, 64,141,192, 17, 49, 72, 14,203,200, 85,227, 41,
+ 10, 65,223,199,107,145,149,235,192,222,231, 36,194, 15,236,  4,118,216,137,200,227,192, 69,246,112, 18,143, 25,170,164,100,243,
+162,117, 92, 85, 61,166,168,120,179, 26,177,245,129,121,161,184, 93, 22, 80,107,126,122,214,225,166,227, 20, 56,199, 53, 52,147,
+212,105, 82,185,251,118,152,125,158,111, 30,  2,240,161, 11,156,122,199,188, 30,177,142,  9, 85,254,115, 49,130,187, 55,179, 64,
+ 71,158,151,219, 38,113,112,135, 57,189,206, 20,216, 81,150,  9,181, 29,152, 41,244,158, 18, 69,235, 61,186, 44,185,180, 61,247,
+228, 56, 29,192,219,188,222,218, 85,214, 84,128,232, 54,  8, 89, 37,198,  9,128,169,  9,177,133,190, 69,148, 18,175, 29,201,203,
+203, 19,131, 33, 72,139,235, 44,127,254,131,159, 80, 77,198,124,245,246,  1,  7,163, 41,211,201, 49, 94, 73,180,237,152, 22,134,
+ 64, 75,140, 21, 94,168,164, 18, 38, 53,141,235, 89,232,130,127,247,241, 47,105,253, 59,220, 85,138,169, 72,  9,238,120, 60, 71,
+ 53, 51,162,168, 17, 46, 80, 58,207,184, 44,105,125,164, 12,142, 66, 10,164,139,212, 74, 96,163,134,178, 64,245, 13,139,222,114,
+ 82,  4,218,135, 87, 60, 82, 42,205,134, 77,133,236,122,122,165, 57,174, 12,115,231, 57, 42, 74,102,133,100, 60,170,208, 94, 16,
+ 60,232, 40, 24,213,  6, 23,  3, 39, 58,210,183,150, 23,102, 71,248,241,148,109,223,162, 14,142,216,174, 86,152, 99,205,159,190,
+ 96,  9,182,131, 16,249,227,155, 11,198,122,204, 95,254, 73,228,  7,139, 43,238,125,188, 66,108,214,233,108,216,174,247,230,241,
+ 79,207,101,  3,207,159,213, 62,133,239,161,135, 51,203,217,162,228, 63,224,120,125, 62,101, 90, 86, 52,  4, 62, 34,226,115,130,
+ 47,149, 36, 56,203,100, 50, 99,235, 35,  7,186,228,141,201, 41,135, 71,167,104, 96,185,106,104,150,139,196, 32,235,122, 92,238,
+222,105, 81, 32, 10,197,184,168,177, 46,205,227, 93,  8, 24, 85, 50, 42, 39,156,140,239, 48, 26,157, 82,141,231, 28,206, 11,188,
+240, 28, 90,  5,116,185,109, 77,106,251, 31, 29,164,222,253,213, 26,161,214,169,  3,173,158,  0,166,150, 69,  6,196, 13,  2, 90,
+123,  1,127,112, 68, 30, 18,237, 46, 51,120,186, 39,227, 79, 46,150,108,159,215,114, 65,215, 58,238,107, 79, 21,224,  5, 41,177,
+ 58,160,133,196, 75,197, 10, 65, 39, 13,133, 41,241, 66, 82, 32, 40, 39, 19,188,210,160, 75,250,224,185,121,224,121, 16, 11, 68,
+223,130, 60, 76,230, 98,  0, 23, 23,169,  8,242, 22, 97,219,103,204,212,173,131,209,  4, 68,106,213, 17, 21,170, 40, 18,191,174,
+207,173,151,245, 58,101,245, 42, 62,157,195,133,248,207, 75, 99,251,181,231,240,123,222,225,215,  1, 43,238, 60,164,111, 30,242,
+214,171, 55,185,115,112,192, 23, 79, 79, 56, 28,141,185,236, 27,182,157, 77,128,143,109,159,  5, 11,212,227,  8, 20,124,214, 36,
+214,215,109,254,109,116,108, 93,199,102,211, 18,109,  6,140,100, 32,196,231, 31, 57,228,  3,221,100,196,110,200, 96,110, 53,112,
+ 30,213,238,103,  3, 53,237,121, 20,  8,145,233,105,206, 63,238,154,229,195, 78,100,199,231,121,167,217,227, 92,135, 12,126,203,
+163,154,235,118,250, 32,123,250,228,122, 24,168,135,207, 90, 39,  3, 22,194,199, 68,225,216,108,177,214,177,180,158,179,237,150,
+243,109,195,131,245,146,181,107,121,240,209, 25,139,179, 75,250,224, 57,251,229,199,169, 37,232, 92,162,202,181,155,235,  0,124,
+109,247, 58,  0,250,154, 13,103,103,107,184,119,111,119, 45,116, 86,212, 27,212,239,204, 96,137, 40, 82,203, 46, 88, 16,146,209,
+ 48,197,136, 73, 30, 82, 33,169,164, 36, 34,152, 86,130,109,155, 80,240,133, 16, 76,132,160, 18,146, 82, 72, 60,176, 33, 85, 99,
+ 83, 69,146,161, 53,130,198,250, 93, 22, 25,124,222, 83,236, 84,255,180,120,220,229,110, 96, 16, 12,159,  3,102,226, 73,183, 52,
+ 37,161,168,137,227, 26,111, 12, 95, 51,154,219,147,146, 73, 97,152, 20, 37,117,140, 92,161, 40,203,154,149, 22, 68,163, 96, 92,
+241,173,249,156,201,168,230,168,212, 76,235,154,182, 52,248, 34,105,183, 63, 16,  2,107,198,212,178,100,105,  3, 15,125,228, 47,
+122,155, 70, 21,211, 58,181, 84,235, 42, 29,158, 78, 36, 60,133,218, 51,126, 10, 38,143, 97,178,147, 95,173,249,176,174, 56, 84,
+ 21,107,161,121,216, 88,254,175,197, 34, 21, 13,171, 77,154, 25,146, 57,189, 33, 37,146, 66,237,113,136, 67, 50,129, 17, 82,165,
+100, 80,120,162,211,217,249, 44, 16,188, 38,120,135, 15,  2,219,247,124,240,104,193, 47, 30, 46,248,201,251, 31,227,101,203,173,
+170, 96,109, 91, 42,  1, 54,122,148, 84, 68,  4, 93,102,106, 60,180, 45, 63,109, 59,250, 40,121, 20,  5, 11, 41,240, 81, 34, 70,
+ 35,182, 14, 54, 50, 73, 63,203, 82,179,234,193,107, 65,139,196,118, 62, 77, 25,250,192,185, 75,244,182, 90,105,214,174,165,107,
+ 90,138,174,165,245,142,105,215, 34,156,101, 29, 60, 68,207, 77, 34, 50,  6, 70,193,115,208,  5,198,198, 96,140, 65,  8,137, 48,
+201, 22,212, 55, 29,218,  5, 74,173, 40,163,199, 40,201, 44, 66,129,224, 96, 52,166,234,123,102, 74,115,247,228, 46,135,229,132,
+187,  7, 55,153,160,121,101, 60, 99, 90, 21,220, 60, 40, 57, 62,158,115,223,133,228,103, 97,178,194,227, 51,206,132,103,241,220,
+159,213, 36, 18,251,  0,178,174,227,131,203, 53, 75, 21,249,229,178,225,103,109,203,125,235,120,100, 61,181, 73,254,244, 65, 42,
+ 74, 97,232,189,163, 42, 10, 14,202,212,  1,170,234,130,224, 60,190,183, 28, 11,149,196,124,164, 78,115,242,124, 22,117,237,150,
+214,181, 52, 93,139,144,129, 82, 75,148,212,124,233,139, 95,225,173, 47,222,226,133, 91, 83,156, 11,184,182,101,187, 89,241,211,
+243,143, 88,186,212,114, 23,190,231, 15,142,143,249,234,201,156,175,221, 60,226,167, 93,158,135,111, 87,215,227,190, 84, 88,100,
+155,102, 23,174, 19,202,199,180, 33,158, 44,134,194,243,207,102, 49,140,214,250,164, 40,121,207, 59, 94, 19,138,211, 66, 97,133,
+162,146,145,165, 52,108, 77,197,123,202, 96,131,167, 82,  5,163,202,224,156, 69, 41,201,170,107,153,148,117, 82,254, 35,208, 76,
+103, 80, 23,188,122,122,147,171, 73,205, 23,111,223, 69, 31,205,217, 72, 13,162, 64, 68,123,125, 63, 51, 79, 93, 39,222,172, 46,
+144,179, 41,135,147,138,173,239, 40,141,225,133,195,  9,203, 77,147, 14, 79,223,165,202, 98,  0, 81,197, 12, 78,250,255, 67,235,
+253,179,130,235, 30, 75, 71,247,200, 33, 90,162,110, 28,242,133,211, 27, 28,141,166,  8,169, 41,141,161,150,134,251,143, 22,176,
+220, 38, 47, 95,155, 91,167,  3, 69,141, 62, 27,151,144,218,153,209,239,108, 77, 93,  6,165, 53,109,250,217, 16,124,126,237,113,
+131,218,155,205,202,157,189,168, 12,187,121, 59,159,208, 10, 31,244,248,133,222, 33, 83,  7,217,215,161,125,175,242,123,244, 46,
+  3,231,220,238, 58, 10,118, 62,196,  3, 40,234, 73,127,119,153,219,250,195,235, 24,126,102,178,203, 92,161,211, 92, 74, 85,153,
+ 62, 37, 19, 86,227, 60, 39,145, 23, 87,208,116,116, 31,159,165, 86,236,106,  3,171,203,140,109,112, 41,  0,119, 93, 58,244,227,
+ 32,115,251, 68,192,235,250,116,223,246,175,133, 12,  9, 23, 50,188, 23,155,109, 78,251, 28, 60,124,234, 66, 89, 37,137, 54, 50,
+ 83, 17,163, 12, 70,169,132,237, 83,201,  9,111,170, 19,  8,178,212, 18,239,  2, 90, 68,180, 80,196,224, 57, 18,130, 86, 66, 25,
+ 21,133,132, 71,157,163,148, 18, 59,236, 33,177,135,141,136, 89,194,214,103, 45,247,225, 62, 12,238,130, 33,238,  2,250,112,178,
+ 74,145,240, 12,195,232, 99, 50,130,113,205,183,234,146,131,210, 80,233, 34,255,151, 32, 10,201,105, 85,112, 97,  3,189,209, 40,
+ 93,242, 95,158, 28,163, 11,195, 87,167, 51, 94,153,159,242,226,168,230,214,104,204,  5,130, 38,235,226,159,201,146,159,  8, 73,
+135,226,163, 24,248,102,125,192,116, 52,162, 46,167, 44, 76,153, 42,241,186, 78, 96,199,241,  8, 14,143,146,  2,227,124, 14, 47,
+156,192,205, 99, 56,152,229, 89,125,  2, 12,189,173, 75,254,161,115,188, 61,236,163,205, 50,119, 70,178,102,252,208,114, 50, 69,
+178,162,214, 10, 38, 19, 68,111,179, 70, 70,204,  1, 29,136,150,232, 83,130, 27,133, 32, 72, 75,240, 17, 79,139,119, 61,190, 89,
+225, 55, 13,143,174,122,230, 99,141, 11,142,149,247,105,164, 80,214,184, 24,233, 99,196, 70,199,207,187, 45,247,109,196,134, 72,
+ 48,154, 82, 87, 84, 85,137,143, 10, 39,116,214,132,143,108,162, 72,213,121,161,105,123,143,147,  2,219, 71,  2, 30, 25,  2, 50,
+  6,150,192, 44,  8,108,179, 37, 10,137,246, 29,173,237,120,232,122,198,170,224,170,107,208,  8, 78,138,146,109,211,112, 56, 30,
+ 99,172,199,117,150,222,246,108,150, 13,205,106,139, 80, 18, 25, 60, 90,165,253,166,173, 69, 70, 40,164, 64,216,158,170, 44,153,
+140, 38,200, 16, 41,116,137, 86,  9,  7, 84, 10,197,152,200,188,168,168, 75,195,237,113,197,237,155, 71,232,131, 25,231, 49,161,
+182, 99, 84,136, 66, 94, 87,161,226, 57, 85,186,248,196, 66,195,179,184, 92,113,177,217,178,186,108,217,110,123,204,124, 76,107,
+251,196,185, 23,176,117,142, 73, 61, 38,184,  4,110,156,152,  9,133,146,188, 60, 46,184, 83, 24,122, 23,121,233,240,128,224, 60,
+ 23,222, 99,148,192,123,143, 11, 61,235,229, 58,123, 68,  8,170,170,100, 92, 76,185,123,247,  5, 78,143,198,180,157,231,195, 15,
+ 47,120,255,253,123,188,255,224, 30,255,112,249,113, 94, 75,129,175,207, 15,249,198,108,202,171,227, 99, 94,153,158,240,218,164,
+230,123,203, 62,117,142,252, 54,123, 64, 20, 41,150,177,199,126, 25,198,146,195,121,166, 63,155,197,184,  8, 33,159, 71,  1,235,
+  3, 45, 34, 41,123, 35,248, 32, 70, 26,163, 88,203,130, 51, 93, 49, 47,106, 74,  4,194,  7,148,210,120, 31,168,180, 97,217,183,
+ 32,193, 41,205,157,162,224,119,142,143, 57,156,204,249, 55, 71, 55,184,115,114,131,215,166, 51, 78,111,221,228,157,135, 15, 96,
+ 60, 69,116,201,  5, 81,113,252,133,239, 48,174,160, 24,163,238,220,224,180,154,242,141,187, 47,115, 88, 87,220, 28,143,  9, 34,
+208,201, 64, 95, 23, 41,131,185, 56,223,129,121,  2,255,178, 42,244,231,  5,245,129,214,165, 36, 20,134,151, 94,187,197, 23, 78,
+ 94, 68,171,132,188,157,212, 83,100,132, 43,183,101,251,224, 44,169,198, 57,118,252,112, 57,248,118,103,145, 27,225,179,169, 73,
+ 22,218,240, 54, 85,146, 49,236,132,250,127,173, 96,206, 14,196, 37,247, 42,235,152, 27,104, 49,235, 22,199,248,233, 28,240,100,
+142, 20,131, 82, 30,113,231,164, 55, 84,249,170, 72,149,186,235, 51, 80,196,239,124,210,  7,245,180,103,129,188,134,128,222,239,
+129,215,170, 34,211,229,246, 90, 96,186,206, 45,248,172,143, 44,115, 23,164,219,164,107,230,187,  4,136,178,118,  7, 26,177,109,
+  6,251,181,105,  3, 41,185, 75, 52,158,236, 68,  8,241,244,181, 24, 50,114,138,236,247,154, 77,138,  6,160, 92,182,127, 36, 68,
+ 70, 70,210, 91,152,142, 36,129,192,204, 72,148, 74,192,163, 40,  4, 42, 70,148,143,140,149,202,183, 39, 82, 74,201, 50,  4, 70,
+  8,150,206,225,124,224,164,212, 44, 93,192,134, 44, 19,123, 45,216,148, 49, 28,110, 24,223,200,148,104,239,  3,207, 76,110,209,
+203,189,170,125,160,222,201,108,170,164, 10, 78,166,  5,191, 49, 29, 37,203, 16,  9, 82,168, 36,217, 47, 53, 49, 70,206,163,228,
+202, 59,254, 85, 61, 97, 90,143, 57, 40, 19, 40, 73,232,164,175,239,164,100, 29,  4,107, 83,226,101,210,208,126,179, 26,241, 82,
+ 89,243, 70, 57,226,112, 82,112,219, 24,238, 78,102,220,119,158, 70,155, 20,124, 77,145,130,187, 34,  7,246, 57,212,211,164,164,
+ 86,142, 18,168,180, 30, 37, 64, 92, 81,165,170,222,231, 49,134,206,236,131,211, 35, 56,152,195,237, 91,240,210,203, 48, 31, 39,
+  5,179, 81,137, 32,173, 53,209,219,244,183,109,159,174, 65, 93, 19,157, 79,183, 74, 65, 36, 16,100, 32,108,219,107, 58,151, 15,
+ 61,206, 74,222,221, 56,222,238, 44, 63, 95,116,160, 60,115,  9, 94, 68,214,221,134, 95,118, 45,127,189,233,112, 62,226,180,162,
+ 48,  5, 85,161, 83, 34,107, 84,178,142,168, 52,222, 90,130,  8, 20,186, 96,221,121,138, 66,225,251, 64,235,  2,227, 90, 33, 67,
+228,188,235, 41,219, 22,215,111, 89,119, 29,135, 66, 18,251, 13,155,108,151,252,151,151, 11,180, 52, 88,223,177,218,180,148,165,
+161, 82,154,198, 59,206,182, 91,214,235, 37,163,224, 88, 54, 43, 46, 23, 75,198, 69,  1,206, 82,  6,144, 74,161, 70,163,100, 56,
+ 37, 64, 27,131, 12,  1, 51, 30, 35, 11, 67,236, 44, 82, 72,124,215, 19,162, 67, 16,168, 99,228, 70, 85, 51,175, 43,230, 82,242,
+165, 27,135,204, 71, 37,167, 39, 51, 62,242, 50,221, 39, 15, 20, 50, 25,233,236,  7,114, 83, 93, 43,159,137, 33, 41, 55, 89, 46,
+251, 73,108,144,207, 50,196,182,199,159,111, 32,251, 35, 56, 27,136, 82, 19,157, 99,166, 21,117, 81, 35,108,195,235,199,  7,220,
+172, 13,194,104,238,206, 70, 68, 41, 16,163, 49, 87,162,166, 52, 83, 80,138,182,185,226,170, 89,114,177,217, 18,133,199,132,228,
+150,119,114,227,132,211,195,154, 66, 71,222,189,247, 49,255,221,223,253, 61,247,126,244, 54, 60,122,148,206,177,202,240,159,221,
+188,201,216,140, 57, 24, 79,169, 71,147,164,237, 63, 86,188,127,209,164,115,121, 48,123, 26, 58,183, 66,166, 49,156,214,187,121,
+249,224,255,190,223,225,251, 85,182,199, 60, 97,174, 19,225,172,135,191,223,182,172,140,230,255,232, 61, 27, 17,248,113,151,220,
+222, 14,138,  2, 45, 37,198, 40, 20,146,222,247, 52,206, 18,131,165, 17,145, 62,104,222, 56, 56,228,203,  7, 71,188, 57, 59,225,
+100, 50,225, 11,211, 25,186,158,224,123,199,139,119, 95,194, 23,176,157,207,241,219, 30,197,173,175,127,167,120,253, 53,126,251,
+173,183,184,125,116,135, 47,156,188, 64,223, 59, 94, 56,189, 65, 64, 81, 98,120,245,228,148,113,169,120, 24,186, 68, 73,217, 54,
+255,241,228, 96,127, 29, 16,221,116,156, 14,154,224, 30,159,167, 40,  9,163, 89, 82,207, 67,177, 80,130,163, 81,205,141,195, 91,
+ 40,101,232,251,150, 85,211,176,108, 59,150, 87,219,212,150, 85, 50, 85,121, 74,102, 26,160, 73, 65,170,168,118,104, 93,153,179,
+187,144,171, 48,235, 19, 55, 58,248,207,247,250,149,206,  7,162,201,128, 46,191, 11,164, 82,114,109, 24, 48,160, 56, 62,109,  7,
+101,  8,132,215, 78, 65, 50,  7, 16,151,186,  1, 34, 39, 38, 67, 75, 91,102,231, 62, 33,115, 64,205, 63,123, 86,  2,161,116,174,
+162,195,238,112, 24,218,243, 67,139,182,172, 82, 21,237, 99,146, 53,141,  3,207,222,237, 56,243,  3, 72,103,176,253, 29,222,219,
+190,225,201,190,205,235,245, 33, 19,158, 47, 97, 44,179,175,177,200,221,148,114,143, 22, 41,228,206,233, 45, 66,105, 20, 69,  5,
+ 93, 23, 81, 82, 33,133,160,146,208, 33,216,246,  9,253,174, 68,162, 25, 85, 34,153,236,180, 49, 80, 10,201,202,  5,106,145,230,
+139, 23,214, 17,163,160,243,123,140,132,152,105,145,131, 85,163,202, 38, 61, 46,236,128,144,131,221,192,181,244,236, 94,151,201,
+101, 33,160,152, 16,231, 91, 83,241,133, 81, 65, 97, 12, 18,129, 86, 26, 45, 21, 13,129, 82,105, 30,118, 29,  7, 90,243,202,100,
+130, 64, 49, 46, 42,150, 33, 82, 86, 37,202, 20, 56,153,146,138,119, 35, 68, 93, 66, 89,242,133,162,226,165, 81,197,100, 50, 98,
+102, 10,122, 37, 17, 40, 42, 93,242,158,203,199,152, 41,178,225,209, 24, 85, 77, 41,170,  9,245,193, 45, 94, 46,199, 92, 84, 99,
+ 40,199,  9, 40, 37,242,186, 48,227, 36,105,171, 10,168,102,233,251,131, 23,224,240,  5, 24, 31, 65, 49,129,249,141, 68,241, 57,
+190,  1,163, 26, 49,171,225,248, 48, 89,179,222, 60,129,131,  3,152, 77, 18,204,231,197, 91,137, 20,114,122, 66,220,110,137,243,
+ 83,130, 13,196, 62,  5,247,224, 37, 65,234,252,189,103,217, 71,182,177,195,227,104,125,224,123,203,134,181,237,241,  2,188, 20,
+ 72,105, 48, 90, 51, 46, 74,180,144,140, 43,133,  8,129,210,104,202, 66,177,218,108, 40,100, 74,152,124, 38,216, 92,173, 59,  2,
+142,166,105,241, 93,195, 68,  8,164,181,172,187, 13, 74,105,238, 89,203,125,107,217, 70,197,205,131,116, 48,247,117,205,187,235,
+158, 63, 59, 95,208, 24,193,195,102,203,155,243, 49, 87,237,  6,169, 37, 63, 95,109,184, 88, 47,144,222,163,187,  6, 89, 24,108,
+187, 69, 42,133, 44, 74,162,115,148,213, 24,161, 13,161,233,145, 38, 17,219,250,174,161,247, 61, 93,223, 80, 41,131, 65, 50,142,
+130,163,106, 68, 41, 37,243,170,102,164, 21,175, 31, 79,169,199,  5,151, 85,141,215, 21,200, 42, 85,239, 93,198, 56,248, 44,165,
+170,117,186, 71, 36,208,173,144,123,238,156,  3,216,246,  9, 74, 28,219, 22,150, 75,196,163, 21,  8,193,111,191,242, 26,175, 31,
+159, 82, 11,152,106,193,173,217,140,211, 73,205,205,233,136, 94, 73, 84,169,233,181, 66,141,107, 86, 62,237,233,174,239, 88, 55,
+107, 54,109, 75,244,158,217,104,194,168, 26,113,124,116,202,104,100,184, 92, 55,108, 87, 27,254,230,  7, 63, 66, 60,120, 23, 54,
+107, 68,212,112, 60,231, 95, 31,157,114,115, 58,197, 34,105, 16, 84,245,136,251,206,243,174,137,  9,201,239,251,199, 99,129,179,
+ 59,134,207,126,251,125,120,255, 70,239, 24, 71,159, 96, 57, 46,246,207, 64,161,192, 40, 30,181, 14,154,158, 51,  7, 75, 23,104,
+117, 96,170, 75,166, 82, 98,144,201,249, 45,128,247, 73, 74,183, 21,130,186, 48,188, 94, 79,208, 74, 81,141,199, 76,234,138,178,
+ 48, 76,198, 21, 91, 97,240,245,  4,239, 37,119,230,  7,232, 89,141,226,139,255,250, 59, 95,188,251, 34, 47, 31,189,128, 41,106,
+166,147,138,211, 27,183,210, 65,160, 74, 78,143,143,  9,189,101, 82, 22,188,113,114, 19, 89, 22,156, 15, 85, 89,215,253,203,  9,
+234,197, 46,227, 39,232,164, 99, 61,124,212, 73,171, 29,163,210,108,112,219, 80, 77, 43,110, 31,223, 68, 75,205,178,109, 88,181,
+ 45, 23,155, 13, 27, 23, 19, 79, 93,202,116,240, 22,249, 48,214, 58, 37,  5,131, 83, 79,204,183,212,250,236,207,219,165, 25, 75,
+223,124,190,215,111,116, 10,118,131,115,208,224,165,190,111,217, 39,  7,112, 88,120,218,138,243,147, 40, 43,  3,189, 75,136,132,
+172, 31,146, 29,231,118,146,167,125,150,160, 29,156,246,244, 30,207,251, 89, 45,254, 65,138,118,160, 77,117,109,202,238,  7,219,
+ 94,159,223,147,235, 82,181,172,179,231, 59, 89, 31, 89,100,209,155,144,129,153, 90,237,172,128,159, 21,160,165,120, 60,160, 15,
+137,195, 53, 46, 32, 60,141, 40, 31,232,127,168, 52,203,142,153,194, 55,140,100, 50,136, 74,201,200,177, 74,122,219,189, 23,140,
+181,196, 75,208,  8,188,134, 34, 36, 97,156, 81,136,108,  0, 35, 69, 22, 49, 12,212, 82,112,238, 28,189,143, 40, 37, 65,  4,156,
+144,248,193,181,238,122,110,158,120,173, 41,232,229,228, 74,239,129, 31,  7,223,250,161, 13, 47,242, 97, 51,140, 49, 68,154,168,
+ 81, 26,142,198,134,137, 22,  4,161, 81, 49,160,149,160,140,146, 69,240,124, 28, 34,183,116, 65,109, 20,149, 80, 56,146,252,104,
+140, 73,116,197,122,152,143, 70,108,187,158, 11, 83,242, 39,245,136, 27, 85,193,164,210,172,123,201,214, 58,166,245,152,117,231,
+169, 10,205, 54,194, 66,170,228,163,173, 52,255,230,224,152,215,170,146,111, 30, 28,240,166, 81,188, 80, 87,124,105, 52,199,171,
+130,243,  8, 20, 35, 48,163, 68,133, 53, 89,196, 67,104,168,231,188,121,122,147,163,106,204,241,244,152,249,193, 49,186,154,178,
+173,166, 41,176, 76, 15,161, 62, 64, 40,  5, 55,110,165, 81,195,104, 12,167,119,136,211, 10, 78,239,192,241, 65, 18,105,185,243,
+ 42,193, 89,226,184, 78,129, 60, 42, 66,232,137, 69, 73,208,154, 16, 36,182,119, 60, 90,116,188,211, 90,126,126,177, 98, 11,  4,
+231,  9, 74, 16,140, 33,104,195, 72, 43, 42,169, 56, 25,149, 28,  9,137, 38, 48, 17, 18,235, 60,181, 86,184,222,179, 70,208, 90,
+203,213,118,131, 13,145,179,117,131,116, 45,139,190,229,253,205, 21,219,118,205,165, 11, 60,176,150,183,215, 27,154,168,249,210,
+141, 99,238, 93,109,153,215, 21,203, 69,139,168, 38,220,170, 43, 30,246, 17, 99,106,230, 37, 28, 77, 39, 60,104,123,126,210, 57,
+ 54,120, 86,214,178, 45, 12, 86, 21, 68,173, 89,109, 27,150,  2, 58,103,209, 74, 35, 59,143,154,142,  8,157,163,109, 55,  4, 17,
+ 89,119, 43,130, 76,107, 78,132,128, 82,138,224, 29,138, 72,161, 12, 81, 73, 70, 82,115, 50, 26,241, 27,243,  9,119,199, 21,191,
+125, 50,230,  7, 61, 41,217,234, 35,  4, 71,172, 70,185,179,146, 71, 88,213, 52, 37,250,133,222, 25, 67, 61,167, 45,143, 77,221,
+  2,198, 51,254,248,183,190, 65, 93, 40,230,227, 17,139,245,150, 55,142,142, 41,140,102,153,  3,171, 55,154, 86, 10, 30, 88,205,
+ 58, 10, 54,125,160,117, 93,202,113,125,143, 23,142,113, 89,115, 58,191,193,203,175,190,200,201, 97, 77, 45, 37,239,190,251,  1,
+223,255,127,255, 38, 89, 94, 15, 32, 95, 23, 24, 29,140,121,161, 24, 19,202, 17, 93,132,183,155, 13, 63,107, 60,231,146,164,175,
+210,248,199, 99,129,220, 59,251,134,226, 97,168,202, 93, 62,131,162,218,157, 97,241, 87,119,171,133, 78,166, 66,148,114,135,153,
+ 81, 58,119,153, 34, 91, 45, 57,235,183, 28,102,  7, 58, 31, 44,141,107,233,189,103, 19,123, 30,181,158,111, 30, 30,225,163,224,
+104, 50,167, 11,  1, 93, 26, 58,161, 18,188,100, 92,211,134,136, 42, 39, 24, 89,114, 88, 77, 81,188,249,251,223,249,189,215,191,
+204,209,209,  9,179,217,132,233,108, 66,111, 29,227,113,205,100, 58,162,107,122, 14,142,142, 24, 79, 38,152, 40,185, 49,157, 50,
+ 25, 21,124,100, 52,209,171,164,237,203,191,128, 22,124, 33, 19, 66, 93, 10,184, 90, 39,137,215,161,202,157,206,211,194,204, 51,
+ 63,124,228,226,189,251, 92,200,200,197,122,137, 66,114,182, 89,208, 57,199,230,193,249,206,241,202,103, 91,197, 34, 43,110, 21,
+106, 39,116, 51,208,192, 66, 62,120, 67,191, 19, 98,249, 92, 84,189, 12,112, 25, 68, 13,134, 92,112,255,241,100,230,134,235, 79,
+ 65, 67,213,185,253, 60,120,113, 15, 45, 92, 37,211,124, 91,102, 14,186,205, 74,103,215,214,187,195, 28, 93,236,253, 94,120, 54,
+ 48,110,  8,172,131,150,252, 16,144,  7,249, 88,149,147, 15,153, 65, 42,195, 11, 27,213,233,223,213, 36,139,227,100, 85, 55,181,
+247,250,158,156,113, 13,216,128,253,160, 62, 84,218, 62,211,173, 76,158,227, 15,191, 51,184,221,105,177,167, 83,111,216,167, 68,
+140, 84, 74,114, 52,130, 88,106, 54,109,224,184, 20,180, 34, 82, 72,197,170,207,147, 22, 37, 48, 49, 82, 75,133,138,176,138,201,
+ 86, 17, 34,193,129, 22, 73,203,122, 25, 61,  5,130,101,235,119,246,198, 98,111,138, 41,213, 94, 96, 79, 38, 51,215, 72,222,107,
+250, 98,254,155,225,186,135,176,115, 99,243, 30,164,230,  3, 47,249,210,216, 48, 50,  5,165, 84,120, 17, 81, 18,190,223, 88,254,
+177,177,212, 33,112,168, 53, 70, 21,  8, 20, 74,  9, 36, 18,165, 20,198,104,222, 89,182,220, 11,112, 74,224,229,170,224,120, 92,
+225, 81, 20,218,112,102, 29, 42, 66, 85, 22,172, 28,104, 93,242,190, 77, 35,159, 47,215, 99, 94, 80,154, 23,103, 51,164,210, 24,
+ 35,153,214, 53, 72,197,121,103,121, 80,142,211,107, 53, 38, 85,226,101,  1, 66,113, 52,155,242, 71,163,154,175, 29,141,249,210,
+141, 41,119, 70, 37, 47, 21, 48, 42, 43,222,  9,192,120,150, 70, 46,186,128,178, 66, 84, 19,168,103, 48, 57,  1, 41,121,235,198,
+ 75,172, 17,152,241, 33, 95,120,225, 37, 30, 58,  7, 71, 71,196, 66, 18, 15,230, 68,165,136, 62, 18, 75,157,116,185,133, 36, 10,
+ 79,104, 91,226,122, 73,116,145, 96,123, 66,136,  4,109,  8, 74,224, 68,100,164, 53,115, 41,185,173, 21, 19, 83,114,144,249,241,
+ 83,169,  8,222,226,130, 37, 90, 79,211,247, 68, 68,234,230,245, 45, 15, 58,199,229,118,197, 89,211,208, 70,193,134,142,191,189,
+ 90, 98,189,167, 87,146,208, 91, 94,158, 79, 88, 49,101,227, 29, 71,117, 65,148,138,141,247, 84,101,193,119,207, 22,252,163,215,
+188,189, 13,244, 40,222,241,130, 86,106,182,227,130,179,224,184, 52,  5,110, 90,113,229, 97, 89, 22,116, 93, 11,227,146,208,246,
+116,161,167,151,146, 15, 86,231,132,232,104,162,163, 68, 16,242,248, 69,106,131, 15,  1, 23, 61, 49,  4, 70,198,240,178, 54,188,
+ 88,140,120,101, 58, 99, 41,  5,183,106,195,219, 54,173,179,104,202,108,190,228,136, 62, 32,234, 41,136, 36, 45,139,172,242, 30,
+206, 22,198,207,233,224,138, 32,249,218,183,191,206,235,183, 95, 65,  2,117, 53,226,195,135,247, 64,150, 72, 33, 57, 29,215, 44,
+156, 99,237, 60, 31,108, 61,223,181,145,247,122,203, 86, 68,150,214,129, 48,232,140,111,154,234,146, 27,199,167,220,120,225,152,
+182,179,172,215, 29,255,203, 95,253,123, 46,222,126,251,241,100,194,247,188, 43, 12,  7, 19, 69, 39, 74, 46,189,231,111, 87, 29,
+255, 24,243,121, 98,178, 80,215,229,122,167,136, 58, 36,243,214,238,102,233,195,207,135,194, 33, 10, 30, 67,174,126,146, 95, 67,
+ 85,236,180,  2,148, 74,  8,118,145, 71,136,203, 53,157,150,172,156,165, 16,150,232, 45, 11,219,240,209,182,101,105, 29, 47,141,
+ 12,135,101, 69, 89,142,152,215, 37,173, 20, 68,161,233, 99,224, 96, 84, 16, 98,164,151,130,135,157, 35, 20, 53, 50, 42,212, 27,
+191,251,167,223,121,237,133, 23,185, 88, 52,156, 28, 30, 98,125, 96, 54,175, 48,133, 70,169,196,179, 11, 62, 50,158, 84, 24, 85,
+ 18,188,160,144,134,155,227,154,135,210,167,142,107,111, 63,149, 58,218,103,245,  6,254, 92,195,102,253,156, 57, 71,204, 60,242,
+190,217,153,207,107,157,170,161,186, 78,224, 54,193,206,255,122,189,102,117,209,210,207, 71, 60, 88, 44,176,209,243,232,193,121,
+146,118,149, 49, 29,178, 82,236,132, 96,194,192, 63,222, 67,147,135,144,126, 63,180, 73,  3,217,121,144,159, 19,  3,144, 91,186,
+215,126,221,136, 12,198, 11, 79, 35, 50, 63, 77,142, 37,247,105,103,123,224, 16,173,210,130,179, 62,221,211,129,234, 49,  8,149,
+ 96, 51,152, 45,111,224,231, 25,167, 12,254,229, 58,207,220,219, 46,253,219,229,205, 20,179,233,204, 53,154, 95,239,161,231, 67,
+ 58,188,135, 77, 51, 24,  7,145,239,161, 28,228,136,229,227,111,118,216,116, 79,221,251,184,179, 18,134,116,191, 10,181, 11,252,
+ 65,103, 25, 46,177, 19,229,201,215,199, 86,134, 50, 70, 28,130, 82, 70, 14, 20,120,165,153, 32,121,100,  5, 66, 36,211, 23, 31,
+  4,165,  2, 31, 99,202, 93,128, 62, 70, 52,130,101, 72, 45,114,161,  5,155, 16, 88,109,193, 23,114,135, 91, 24,238,229,254,235,
+189,238, 20, 12, 82,192,236, 76, 39,246,157,157,134,185,158,247, 57,137,137,169,163, 82,149,  8, 19,121, 96,123,124,176,124,216,
+ 58,174,154,134,239,247, 14,108, 71, 47, 52, 47, 21, 10,225, 61, 83, 93, 82, 41,  5,  8, 98,  8,116,206,241,160,143,252,204, 89,
+ 94, 50,134, 49, 18, 29,160, 67, 98, 16, 28,205, 42,130, 23,233,182, 73,193,251,155, 45,103, 25,  7,240, 71,243, 49,163,178, 98,
+ 99, 29,133,210, 20, 85, 69,219, 71,124,244,152,122,132,136,145,139,152,109,144, 99,128,170,  6,173,248,173, 73,197, 43,227,130,
+162, 50, 92, 89,201,172,214,180, 81, 48, 53,146,195,162,224,189, 62,166,185,188,150, 96,234, 44, 89, 91,242,237,201,132, 63,190,
+117,130,139,146,111, 30, 30,112,211, 20, 40,109,184,115,112,202, 47,157, 39,206, 78,211, 65, 90,150,112, 56,205,  9, 88,145, 80,
+224, 85, 10,114,209, 67,108,151,217, 57, 14,226,166, 35, 78,107,208, 26,129,224,229, 82,112, 36, 36,135, 33, 82,196,192, 17,130,
+121,132,146,136,244,150, 14,203,184,144,244, 77, 79,239, 59,162,132,202,109,209, 74,225,109,199, 13,233, 41,188,199,246,150,211,
+ 74, 80,198,142,159,246,146,219, 35,205,182,179,140,234, 57,103,125, 79,223,119,188, 48,159,243,209,118,203,172, 26,113,217,181,
+204,171,138,217,116, 78, 81, 22, 56, 96, 77,193,249,232,  0,135,228, 92, 22, 52,101,201,251, 27, 75, 51,169,185,208,138,243,174,
+229, 35,165,248,165,119,124, 40,  2, 15,164, 38,120, 79,167, 52,147,232,177, 82,208, 59,135, 21,130,222, 59,130, 86,156, 72,131,
+145,134, 90,105,130,212,156,154,130, 94,107, 46, 10,195,133,  0,186, 44, 79, 43, 69,234,156,217,237, 53, 13, 86,168,228,194,118,
+141,173,121, 18, 85,175,117,114,166, 83,240,240,157,247,121,237,141, 87,  9,  4, 54,171, 75,254,183, 31,255,128,159, 63, 58,231,
+141,249, 33,247, 55, 91,108,148,252, 98,225,248, 65,227,248, 97,103, 89, 72,201,153,179,156, 11, 40,202,146,136, 66, 72, 73,173,
+ 75,142,166,  7, 28, 29, 79,136, 17,238,191,255,136, 63,255,179,127,151,198,194,123,144, 26, 97, 29,244, 29, 63,235, 28,127,223,
+181,252, 48, 68, 46, 84,145, 94, 63, 49,159,105, 89,149,115,219,165,138,122,168,204,149,126, 92,245,242,218, 44, 76,164,243, 63,
+202, 79,198, 44, 93,203, 78,231, 98, 76,155,212,221, 22, 58, 43,210,229,162,230,252,156,245,170,229, 61, 31,233,218,134,101, 12,
+244,222,113,175,107,208,  1, 94,170, 39, 28, 84, 37,231, 65,114,179, 42, 89, 57,203, 65, 85, 98,165,100,209,121, 62, 92, 59,182,
+ 65,210,224,153,212, 21,106,250,149, 63,252,206,171,183,110, 51,155, 28,226, 36,  8, 41,168, 42, 67,232,  2,101,165, 81,198, 96,
+ 10,133,144,  2, 23,  2,  2, 73,215, 37,203,152,182,107,184,218,118,233,208,  9,225, 41, 27,185, 79, 67,147,248,164,  4,224,179,
+205,156,229, 14,120,244, 36,136, 97, 64, 35,218, 39, 36,101,101, 14,228,202,236, 42,208,135,139,204, 53, 92,209, 93, 92,208,109,
+ 58,182,151,203,212, 62,143,195,156, 37,183, 99,188,203,146,168, 67,192, 30, 60,171, 99,202,110, 93,159, 52,226, 67,158,195,200,
+207,158,167, 60,230,150,117,125, 85, 28, 59,227,150,207,249,152,207, 74, 30,226, 19,226, 45,251,247,115, 95,165,239,121,152,138,
+161,130, 46,139, 93,149,236,135,106,221,239,181,245,115,  5,122, 61, 23,207,242,196,131, 48, 11, 34,  3,194,114,160,234,114,107,
+ 94,237,241,232,131,125,188, 98,223, 15,110, 49, 38, 33, 32,111,119, 96, 61,185, 39,203,170,196,222,224,107,112,148,203, 27, 47,
+219,205, 74,157, 64, 79,117, 37,169,181,160,183,112, 80, 37,  9,220, 46,130,172, 20,109,198, 66,110, 92,164,148, 17,147,177,131,
+125,  4, 65,164, 19,130, 16, 60, 65, 10,156,247,148, 82,177,201,220,247,232,194,174,175, 30,247,241,198, 97,247,189,205, 64, 76,
+177, 87,165, 15,244,203, 33,240,239,191,255,144,213,234, 26,203, 89,227,121,212, 56,222, 91,182,124,180,105,249,160,181,201,109,
+209, 91, 58,235,232,188,231,141,217,140,177, 80,105,154,130,196, 72,205,195,118,203,119, 55, 75, 26,111, 89,219,158,223,156, 79,
+ 24,149,138,211,113,141,174, 18,144,208,247, 62,187,106,  6,254,194, 38,241,159,223,171, 13,167,166,192,199,192,188, 52, 44,179,
+229,175, 85, 10,147,131,203, 61,235, 89,198, 12, 92, 52,  6,188,231,246,184,230, 37,163, 24,155, 18,139,160, 50,146,141,247,232,
+ 50,  1, 42, 23,109,199, 90, 73,182, 62,166,100, 64,  3, 66,241,214,124,194,215, 15,198,120,161,121,121, 90,112, 22, 13, 55, 75,
+ 77,101, 12, 31,184,136,158, 76, 88,186,152,198, 98,179,227, 84,213, 31, 28,103, 21, 72, 65,236, 33, 78,103,208,183,196,110,147,
+153, 60, 45, 49,122,196,170,  5, 35,120,177, 48,124, 81,  4, 14,149,198,216, 45, 19,  4,211,232, 41, 98,224, 32, 68, 76,112,156,
+120,199,204, 57,110,  8,203, 76,  9,198, 49,224, 67,154,153, 76,243, 89,227,148,230,134, 22,156,245, 61,151,155,142,190,235,248,
+ 97,223,243,155,199, 39, 84,117, 65,107, 97, 86,215, 92, 54,150, 82, 74,130,150, 28, 85, 99, 30,110,183, 92,  5,135, 21,146,195,
+241,132, 88,150, 76,141,226,223,175, 59,190,120, 56,225,127, 63, 91,242,230,233,156,247,130, 98,189,109,185,168, 70,156, 69,201,
+185, 46,120, 20, 20,151,133,100, 93,141,208,125,203,131,162, 36,218,158, 54, 68,214,118,139,149,146, 18,152, 20, 21,181,128, 32,
+  4,165, 76,202,142,149,208,132, 66,243, 75, 41,105, 11, 13, 66, 19,251,204, 32,177, 54, 87,235,201,131, 66, 20,131, 24,138,127,
+ 26,187, 50, 25,167, 17, 73, 89, 33,108,228, 31,222,121,135,127,216,158,243,163,159,191,131,248,249,251,216,251,247,249,222,197,
+ 21,127,119,254, 17,151, 54,240,151,219,134,135, 49,119,212,188,205,243,104,201,178,235,185,138, 32,116,137,142,130,153,174,232,
+172,103,185, 92,241,224,236, 17, 63,251,233,219,169,197,255,100, 12,242,185,189, 46, 69, 18,135,201, 73,191,112,109,146,153,136,
+ 49,237,151, 24,147, 90,219,117, 16,183,233, 12, 27,176, 66,195,156,221,217, 92,120,248,103, 83,119, 31,195, 19, 13,184,156, 44,
+171, 45, 50,219,198,147,228,144, 99, 62,159,180, 73, 95,183, 13, 87,214,115,222,245,156,181, 13, 29,145,143,154, 14,240,220, 54,
+ 37, 19,173,169,202, 18, 81, 20,136,  0,203, 16,105,  4,124,188,245, 44, 66,143, 20,146,206,123,212, 75,223,250, 79,190,115, 52,
+153,208, 52, 61, 74, 74,230,227, 17,158,200,168, 42,240, 46, 34,181, 32, 34,112,155,158,174,181, 68, 21,113, 25,104, 38,133,162,
+215,138,205, 53, 15,181, 74, 72, 81,165,161, 40, 16,166, 72,154,195, 85,226,133, 11, 41, 16, 82, 34, 66,248,212, 85,186,248, 44,
+213,236,147, 82,  9,207,188,224,250,233,120, 22, 67, 70, 65,106,184,218, 36,173,243,  1,124, 84,150,169,106,172, 50, 16,174,205,
+ 64,183,206,165, 27,147, 37,187, 49,185,194,235,250, 84,149, 58,155,  4, 69,162,206,179,195, 92, 29,154, 44, 41,251, 28,158,232,
+ 83,173,113,246,102,221,196, 92,221,102, 31,224,207,203, 36,148,251, 10, 38,207, 32, 90,254, 58,211,148,225,154,151, 38,155,115,
+200, 93,165, 94, 21, 41,211,143,121,129,203,172, 75,175,247, 56,162, 74,166,217,221,112, 47,101,222, 72, 46,238,180,211, 33,121,
+ 14,136,231,184,  2, 94,163,240,243,107, 41,138, 44,212,147,193,133,200, 93, 66,  1,169,107, 80, 12, 20, 49,149,174,171,146, 72,
+ 37,121,169, 86,244,  2,162, 84,220, 80,130, 72,164, 12, 18,167, 53,151, 93,138,  3, 70,  8, 60,145,222,197, 36, 83,160,  4, 91,
+ 23,104,165, 64,100, 52,123, 31,  2,107, 34,150, 72, 23, 50,200,125,  0, 80, 14,116, 64,246,131,116, 76,239, 25,247,184, 57,207,
+117,101, 31,119,137,222,179, 80,184,146,116,240,108, 92, 18,134,233, 50, 42,121,209,166,206,154,  8, 44,188, 99, 42,  3,239, 44,
+214,172, 99, 75, 27, 28, 15,182, 43,254,231,243, 75, 26,  2,116, 91,188, 86,124,169, 44,209, 74, 48, 19,169,122, 17,125,210,218,
+ 47, 74,193,127,115,113,  9, 49,112,199, 68,156,212,220, 45, 53,165,142, 44,188, 96, 36, 35, 74, 72,148,214,  4,231, 48, 85, 65,
+225, 61,239,185,184,147,202,173, 12,127, 50, 41, 57, 40, 19, 55, 57, 40, 65,244,129, 32, 21,203,198, 81,149,154,131, 74,243,161,
+ 13, 44,132, 72,107,  1,205,237, 66,243,173,121,197,214, 71,180,150, 60,116,112,107,172, 89, 59, 24,213,134,210, 40,222,147, 37,
+219, 16, 19,208,238,255, 99,238,189, 99, 61, 95,243,251,174,215, 83,190,237,215, 78,155, 51,103,214, 69, 66,164,  0,  0, 32,  0,
+ 73, 68, 65, 84,230, 78,185,125,247,102, 91,108, 92, 18, 82, 12,137, 73,140, 67, 81,148, 40,144,200, 18, 36,161,  8,146, 16, 16,
+  2, 36,  4,  1,139, 16,100,197, 40, 10, 37, 18,130, 72, 38,160, 68, 72, 17,  9,144,  4, 41,  9,113,130,133,141,157,141,189,235,
+189,190,187,183,151,185,211, 79,251,245,111,121, 26,127, 60,207,247,252,126, 51, 59,115,119,238,238,218,230, 39, 29,253,102, 78,
+253,150,231,251,124,218,187,184, 16,109,165,203, 42, 94,199,193,110, 52,152, 17, 33, 34,236,173, 39, 24,147, 88, 28, 81,247, 64,
+212,142,217,168,228,  5,233,153, 52, 53, 19,173, 25, 56, 71, 30, 28,165,119, 20,193,115,205,123,246,124,224,102,112,236,  8,197,
+208,  7,156,119, 12,115, 69,200, 20,165,132, 34,203, 25,  2, 94,107, 42,165,  9,153,164,173, 27,156,177,188, 62, 63,227,115,131,
+146,169,  5,153, 23, 12,203,140,133,135,157,224,153,  5,143,237, 28,183,219,154,145,173, 97, 52, 97, 55, 87,124,109,209,240,219,
+ 14, 38,252,141,227,  5,255,244,141,125,126,177,  9,236,  6,135, 27,143,120,104, 28,203, 97,197, 42,215, 44,101,206, 45, 23,199,
+132,167,229, 24,233, 13,247,178, 10,231, 59, 78,100,212,104,111,133, 98,207,123, 50,149, 69, 81, 20, 17,253, 10,102, 66, 82, 75,
+133,206,179, 24, 60,170, 42, 74, 28,251, 16,247, 52,145,  0,102, 93, 11,170,138,160,179,124,152, 48, 29,253,152,171, 76,108,136,
+152,  8, 10,225,160, 94, 19,110, 63, 72, 82,217, 49, 14, 48, 59,135,243, 21,167,119,239, 67,102,226, 24,204, 16, 11, 45, 37, 97,
+181,138,123,133,206,168,145, 28, 27, 19, 45,107,235,  6,230,167,184,249, 49,191,117,  8,203,231, 46, 49, 27, 14,241, 87, 14, 17,
+105,116, 40, 18,151, 94, 44,154,  4,184, 53,113, 92, 42, 99,114, 44,188, 71,200,164, 44,105, 72,248, 30, 30, 45, 14,122, 32,113,
+143,229,233, 37,178,249,132,121,122, 15, 92,237,237,177,101,210,107,200, 84,234,108,203,248,245,190, 99,216,166,228,194,116,136,
+186, 23,113,138,251,230, 29, 31,120,117,144, 49,145,154,135,139,  5,123, 85,116,199,155, 33,184, 51,183, 60,112, 29,109, 16,100,
+206, 69,187,143,211,231, 62,255,227,151,202,138,195,131, 67,  6,229,  8,135,199,  7,137,150,  1, 93, 42,  2,208,206, 91,172,247,
+120,225,113,235, 14,141,226,206,201,  9,185,206, 41, 21,156, 88,139,171,202,120,162,163, 17, 20,  5, 66,231,209,202, 85,102,136,
+106,132,144, 57,232, 18,145, 43,196,213, 27,136,253,125,100, 94, 33, 28, 48, 25, 35,140,185,  8,246, 79, 21, 58,120,156,227,220,
+183,128,159,166, 96,246,164,205, 78,203,167,183,  6,234, 58, 62,208,125,160, 80, 58, 82,112,132,220,136,238,228,121, 20,159, 41,
+210,220, 60, 43,162,127,186, 46, 54,180, 30,151,204, 66,170, 49, 76,118,226, 53, 25,237, 69, 32,145, 73,173,170, 62,170, 60, 62,
+ 99,207,116, 18,213, 16,155,143,109,192,198,246,174,253,237,210,  9, 47,226,121,143,152,223,250,189,246,187,128,143,232,187, 38,
+219, 51,170,162, 55,129,  9, 27,  4,125,159,193, 56, 31,175, 77, 31,216,117, 58,255,158,178, 21, 18, 77,207,233,212, 22, 79, 51,
+177,240, 12,162, 71, 89, 30, 17,245, 89,226,122,155,176, 65,146, 95, 20,197, 50, 38, 22, 58,221, 59, 29, 91,102,  1,193,168,144,
+ 92,150,154, 67,  4,121,174,153,120,201, 82, 75, 86,193,209,  5,104,130,136,185,137,128,206, 75,108,  8,172,141,199,164,189,175,
+245,  1,129, 96, 37,  2, 93, 23,112, 34,224,  2,184,222, 25,206, 37, 26, 98, 15,150,115,102,115, 28,201,170,242, 66, 57, 80,111,
+105, 62,245,244, 54, 17, 30,101, 46,108, 39, 54, 38, 13,226,235, 38,182,150, 23,203,248,251,151, 77,244, 69,151,112,107,182,230,
+ 94,103,248, 96, 93,243,230,116,202,187, 93,236, 80,209, 52, 96, 27, 94,203, 51,180, 23,140,139, 12, 39,192,123, 75,103, 58,132,
+107,249,169, 91,183,224,107,191,196,247, 95,191,194,155, 45,252, 96,174, 40,108, 71, 71,193, 78, 14, 50, 72, 22,173, 37,195,227,
+139, 40, 39,253,150,177,156,118,169,114,146, 57, 88,199,107,195, 18,109,  3,186,210, 40, 31, 88,121, 65, 41, 64,105,137,  8,158,
+185,151,236,123,203,187, 93,236,128, 77,114,201,203, 90, 48,206, 51,  4, 30, 39, 21,131, 66,210,248,136,155, 80,206, 83,150, 57,
+ 39,141,225, 60,203,  8, 65,243,252,225, 46,115, 36,175,142,198, 92, 59, 60,228, 65,107,216,201, 10,218,178,138,215,120,111,130,
+ 24, 14,162,163,152,105, 17, 34,130, 91,229,210, 96, 51,193, 11,133,102,108, 61,185,183,236,134, 24, 12, 14,188,167, 12,142, 75,
+193, 83,233,130,  1,  2, 33, 36,101, 94,177, 14, 22, 33, 20, 70,231, 72,  1, 51,175, 25, 20, 57,173,177,172, 58, 71,174, 37,187,
+202,115,189,148, 88, 27,104, 92,203,126, 57,226,111,124,252,  1,191,233,232,128, 51, 35, 25,105,193,199,171,  5, 55,139,156,135,
+235, 37,165,202, 88, 26,195, 48, 47,176,133,230,181, 76,241, 15,141,224, 55,168,192,  3, 27, 88,218, 64,145, 43,188,214,232,206,
+226, 70, 21,109,107, 57,169,  6,140,188,141, 12,  4,233,185, 63,152,144,117, 29,247,117,134, 51, 29, 58,120, 14,178, 44,  2, 66,
+181, 98,233, 61, 43,169, 56,115, 14,165, 52,  7,163, 49,214, 24,206,117, 18,181,170,235,216,241, 25, 14,226, 51, 94,175, 17,197,
+  8,225, 26, 24,143, 35, 66, 62, 47,147,186,102,  2,118, 10,  9,181, 65,180,230,201,243, 65,215,197,103,124,186,138,254, 32, 85,
+ 74,238,215, 75,132, 18, 49,192, 59,135, 72,180,213,147,182,230, 11,162,225, 48, 56, 70,174,227,123,247, 15,120,173, 42, 56,204,
+161, 46, 11,236, 78, 73,123,235,254,102, 12, 40,  2, 98, 54,139, 69,149, 14, 49,200,  6,127,145, 28, 11, 64,104,129,104,252,198,
+180,170,237, 30, 21,159,113, 46, 97, 64,196,183, 40, 28,251,238, 90,162, 67,170, 84,196, 20,169,253,222,123,167,248, 84, 56,218,
+ 16,227, 73, 82,181, 20, 89, 14,243,121,188,110,214, 65,215,225,181, 69,  4, 79,  7,188, 61,157,114,110,225, 87,206, 86,124,195,
+ 71, 83, 93,141,167, 53,142, 44,120, 84,120,229,251,126,252,104, 88, 48,202,115, 26,211, 65, 80,228,121, 70,103, 44,166,115, 44,
+151, 53,133,214, 72,  2,243,243,  5,157,111,105,234,142,209,100,200,124, 49,231,116,185,194,  9,137, 32, 80,141, 71,152, 76, 71,
+138, 82, 53,224,249, 43, 99,174, 28,237,113,138, 70,148, 57,159,251,236,117, 78,171,  9,191,245,229,171,124,241,250, 62, 55,110,
+220,224,133, 23,143,216, 57, 26, 80, 29,237, 51,187,123, 26,105, 18,233, 66, 61, 18,216,  7, 35,184,113,149,193,171,215,241,151,
+ 47, 17,130,100,255,243, 55,168,171, 10, 22,233,  2, 93,208,144,194,147, 85,128,158,198, 81,223,166,  6,109,223,164, 30, 20,145,
+229,241,226,183,201,212, 64,138,184,104, 85,  6,195,138,157,231,174,240,210,245,155, 28, 30, 94,102,255,240, 50,167, 90,198,108,
+108, 56,102,116, 48, 65,151, 25,197,168,160,235,173, 60, 85,111,174,146, 90,190,125,197,158,109, 43,221,109,117, 30, 68,223,122,
+214, 91, 85,221, 54,114,251,219, 13,236,114, 43,194,219,239, 78, 64,239,121,232, 61,149,172,105, 55,124,250, 71,164, 78,179,152,
+173, 42,155,252,217,187,216, 21,233,205,102, 92,194,105, 52, 46,  5,175, 52,127,178, 93, 82,126,115,155,204,249,147,132, 33,100,
+228,171,146,244,129, 34, 32, 70, 36,  3, 28,145,114, 26, 21,  3,102,136, 78, 75,253, 61,184, 52,200,216, 19, 32,165,196, 75,129,
+242,  2,145,197, 54,186,117,129, 54, 72, 10, 41,233, 66,192, 38, 49, 25,151, 38,  5, 42,128,113,  2,227, 33, 47, 36,211,149, 99,
+156,  5, 58, 43,104,  3, 27,231, 54,182,170,117,159, 54,188, 94, 58, 86, 36,  4,188,176, 41,153,217,106,195,251, 20,216,123, 41,
+217,167,113,102, 31,255,156, 75, 88,  9,124, 84,137,236,186, 40,247, 58,175, 99,224, 63,153, 70,113,164,147, 41,180,  6, 95,106,
+  6,101, 78, 33, 20, 70,120,166,181,225,254, 98,193,195,213,138, 91, 93,  3,187,  7,220,245,128,169, 57,238, 26,180,204,184, 82,
+ 66,112, 14, 47,  2,123,133,198, 18,216,213,129,251,235,134,159,175,155,205,102,234, 13,131, 34, 99,224, 28, 59, 58, 10,148,  8,
+ 39, 40,114,197,178,131,221, 42,218, 87, 22,120,190,186,114, 76,187, 88,225,151, 18, 62, 87,198,103, 97,175,202,168, 77, 32,211,
+138, 69,109, 25,  8, 88,104,141, 86,130,155,133,102, 55,211, 76,148,224,185,209,128,171, 18,  6,227,146,145,128, 23,181,230,174,
+147,180,137,154, 41,202, 17,248, 22,177,183,131,144, 25, 12, 74,196,106,133,176,134,121, 11,147, 81,198, 16,176,198, 32,157,229,
+ 57,160,178, 29, 99,161,145,  2, 50, 93,144,101, 37,186, 31,237,229,  5,133,138, 73,104,208,146,113,166,105, 17, 60,236, 28,151,
+170, 44, 90, 11,120, 27,231,190,206,112,125,178,207,207,127,244, 54,159,219, 29,178,108, 21, 95, 62,189,203,251,243, 41, 39, 54,
+240,222,114,202, 81,174, 49, 42,103, 60, 26, 97,144,  8,227,120,223,  9, 94,112, 29,239, 53,150, 60,207,105,  8,228, 85,193,170,
+109,249,184,241, 12, 27,131,215,130, 27, 93,203,221,172, 96,108, 45,239,101, 35,110,168,192, 89,174,160,109, 89, 42, 77, 27, 76,
+ 82,225,243, 44,157,163,201, 10,166,192, 90,130, 80, 25, 50,196,209,128,  2, 78, 36,136, 50,131, 32, 17, 62, 89,  6, 27, 27,139,
+ 27,  9,162,168, 18,189, 55, 61, 99,174,139,235,218,153, 68, 91, 53, 79,239,190, 58, 23, 43,254,118, 13,183,238, 66,115, 22,139,
+ 35, 43, 16, 66,129,206,162,193, 15, 22,161, 20, 63, 58,169,216, 41, 42, 94, 27, 12,  9, 69,201, 85,145, 81,238, 93,101,112,237,
+ 69, 14,242,  9,239,200, 22,206,102, 17,176, 26, 98,  1, 37,188, 68, 12,203, 24, 42,164,142,232,244,144, 70, 65, 26,200, 20,194,
+  6, 68,219,196,125,225,162, 99, 40, 55,202,163,125,108,121,218, 51,151, 12,189,200,147, 16, 88,111,112,209,218,184, 55,214,109,
+108,185, 23,  9, 25,239,100,194,114, 37, 64,114,109, 17,227, 81, 82, 30,141,157,197,  7,199,115,222,235, 12,191,180, 88,240, 86,
+103,248,149,217, 57, 31,187,150,105, 91,227,148, 70, 91, 67,158,231,212,205, 10,133, 63,250,241, 59,193,115,117,103,140,119,158,
+ 92,122,150,211, 25,214,  7,206, 78,103,228,185,196,  5,207,124,186, 64,229,177, 53,217, 57,195,116, 57,103,109, 91,156,240,248,
+ 16,168, 84,204, 96,126,203,149, 29, 86, 78, 50, 40, 74,214, 94,242,112,225, 24, 12, 11,254,169, 87,174,240,206,220,243,153,195,
+ 35,190,231,230, 53,170,114,196,205,171,151,121,225,218, 21,118,138,  9, 26,201,135,173,138,173,156,208,123,125,235,104,209, 87,
+ 14, 96,239,128,207,188,122,133, 23,246,247, 56, 26,143,249,204,243, 87,152,228, 37,121,165,153,154,  0,139,122, 35,230,209,143,
+156,241,207, 30,212,121, 74,181,115,225,  5,222, 70,212,162,105,226,  2, 80, 58,  6,139,221, 61, 62,115,120,133,113, 57,224,234,
+254, 97, 18, 16,  8, 76,155,154,124, 56,100, 82,229, 28, 14,247,208, 82,131, 46,105, 93, 20,102,136, 51,248, 52,247,245, 91,157,
+129,167,233, 57,245,173, 32,177, 69,221,122, 90,235,245, 89,231,234,189, 36,162,181, 27, 78,253,119,250,202,242, 24, 44,157,219,
+104,202,247,221,134,190, 58,247,  9,123,208,251,102,251, 44,206,222,116, 17,245,200, 67,114,109, 19, 41,  9,146,230,209, 57,149,
+243,113,206, 37, 68,162,202,125, 11,197, 60,159,152,  8, 33,  9,190,248,176,209,175, 87,125, 64, 76, 74,128,  9, 60,151, 75,201,
+149, 44,224,149, 66,132, 64, 41, 21, 34,147,200,214,162, 69,228,188,214, 46,144, 73,193,210,165,241, 19, 73,168, 71,  6, 58, 98,
+176,215, 66, 50,235, 28,251,165, 96,218,121,132, 80, 81,255,189,  7,202,185, 45,201,101,159,230,235, 93,136,227,  0,195, 38,160,
+123,187,  1,220, 94, 88, 10,247, 35,249,176, 17, 61,250, 52, 52, 70,159,240, 14, 93,172,202,105,214,177, 74,154, 47, 98, 37,214,
+ 56,234, 97,201,238,112, 68, 45, 84, 84,250,106, 91,222, 94,157,241,141,211,227,184, 57,133, 54,254,188, 84,180, 93,203,171, 90,
+113,169, 42,208,222,146,123,139,177, 29,235,166, 37,152,142, 91,203,154, 59,205, 42, 38,102, 54,118, 90, 76,240,236, 11, 23, 59,
+118,157,163,212,154, 81,  6,227, 76, 80,119,  1,137,231,108,109,248,242, 42, 49, 71,130,165, 20,129, 87, 39, 57, 89,  8,212, 54,
+ 80,230,146,186,181, 28,142,114, 30, 58,201,158,136, 90,  2, 15, 87,134,135, 94, 48,169, 10,126,102,217,241,249,157, 10,227, 61,
+107,231,185,167,114,  6,  2,166,198,199,128,164, 52, 98,180, 27, 55,226,241,  8,225, 90,184,113,  3,121,124,134,220,155,112,251,
+225,130,135, 18,118,139, 28,101, 44, 89,107,184,162, 20,121,240, 20, 58, 39,136,140, 78,120,178,162,164,149,154,165,212,204,242,
+140,214, 89,100,145,211, 41,197,188,131,188,208, 52,105,162,210,  9,133,203, 53, 70, 73,206,231, 39,  8, 89,240,225,236,156,111,
+ 44, 78,104,186,150,198, 59,186,213, 57,214, 59,238,170,140, 35, 33,216,203,115,198,147, 33, 93,145, 83, 56,203,219,171, 53,  7,
+163,146,247,215, 29,  7,185, 98, 97, 44,120,193,243,149,226,171,181,227,121,215,113,191, 40,184, 92,175, 57, 41, 42, 94, 20, 53,
+191, 18, 10, 46,249,142, 51,159, 71, 91, 88,165, 57,183, 13,194, 89,230, 42, 34,227,167,  8, 92, 86, 97, 69,236, 72,246, 30,111,
+153,210,156,133,  4, 94, 93,214,  8,159,244,210, 69, 74, 56,139, 10, 17,210,243, 95,183, 17,152,236, 92,178, 12, 53,207, 54, 86,
+117, 17,185,206,233, 41,156, 45,225,228, 46, 66,198,145, 17,193, 35,112,252,216,254, 46, 71, 90,113, 73,105, 66,150, 81, 27, 19,
+105,155,  7,151,232,148,164,243,146,243,197, 49,243,227,211,248,247,186, 14,145,233,232,236, 23, 98,146, 32,178, 12,145,101,124,
+166, 42,249,129,225,132,239,219, 25,113,121, 84,241, 97,211,193, 98,141,104,235, 88,100, 94, 20, 80,225, 81, 23,204, 79, 74,164,
+123, 86,144,202, 19,107,200,167,234,191, 77, 32, 96,210,190,159,168, 74, 33,141,133,219, 68, 33, 54, 53,162, 72, 99, 72, 27,147,
+ 34,187,110,226,179,185, 88,196,235,106, 26,192,178, 12, 48,117, 14,154, 21,139,229, 20,197,240,198,143,163, 53,171,188,229,189,
+211, 19,186,110,205,170, 94,178, 88,206, 25,100, 37,139,229,156,118,213,144,149, 25,117,179,166,110,107, 58,211,210,212,134,  7,
+235, 57,157,141,252,220,178,200,184, 57, 26,112,175,243, 72, 33,184, 57,172,184, 84,150, 84,227, 49, 47, 14,  7,220,237, 52,207,
+141,246,249,220,165, 93, 46, 29,238, 33,244,128, 60, 31,176,172,225,218,209, 37,  6,229, 46,191,225,218, 30,183,145,100, 71, 67,
+218, 51,  3, 42, 82, 88, 68, 57, 97,242,202, 33, 47, 31,236,115, 48,218, 97,111, 48,228,112,119,143,241,104,204,225, 96,192, 45,
+187,198, 28, 47, 99,150,247,248, 60,245,105, 23,252,241,215,211,132, 90,250,141,175, 87, 47, 19,105,243,151, 10, 10,205,100,103,
+143,107, 59,251,232, 92, 68,109,230, 60, 71,105,205,195,102,201, 40,215, 28, 14,118, 81, 85, 73,145, 21,100,153, 98,106,218,168,
+144,214, 75,154, 90,191, 21,212,213, 39, 13,193, 55,224,177,237,238,130,248, 54, 85,253, 60,223, 12,178,250,110,  4,244, 30, 87,
+208,219,121,170, 36, 98,225, 92,  2,191, 36,227, 27,111, 35, 55, 93,248,232,179, 45,  4, 84,217,102, 68,162, 19,133,174,179,155,
+108,183, 75, 52, 26, 29,185,216, 40, 25,103, 79,223, 74,194,177,111,122,  8,183,145, 93,237, 43,245, 30, 97,174, 19, 61, 80,101,
+ 23,151,246,160, 82, 49,121,150,154, 66,  4, 26,235,201,115,133,176, 30,163, 99,219,253,196,120,134,153,162,243, 62, 61,144, 34,
+101,248,241, 60,140,243,136, 16, 88, 58,129, 34,208,132,  4, 16,236,250,121, 91,182, 25, 37,244,163,  6, 69,194, 16,244,237,119,
+185, 65,228,  7,191,  9,236,166, 79,254,122,189,130,111, 35,193,235,193,133,230,  9,206,129,133,132,157, 93,142, 39, 19,238,250,
+192,  7, 93,203,237,174, 97,213, 52, 48,155,194,249, 60,178, 58,164,143, 96,164,182,230,195,206, 82,154,150,113, 48,204,218,142,
+179, 85,205,213, 76,242,191, 61, 56,227,157,243,135, 73,167, 33,206,235,  9, 14,218, 53, 15, 77, 96,228, 26, 14, 16,100,193,225,
+ 13, 52,173,103,191,128,197,178,227,221,181,231,225,114,158,128, 70,154,182, 53, 12,218,142,231,138, 28,147,148,251,118,114,201,
+131,149,225,249,161,166, 70,114,123, 29, 55,249, 99,149, 49, 53,142,239, 29,228, 76, 91,143, 44,163,166,196,170,181, 84,185,230,
+ 76,228, 72,173,227,101, 46,  7, 48, 60, 64,116, 43,216,191, 18,167, 95,135, 59,136, 92, 35, 77,203,202,192,187,167, 11, 74,233,
+ 25,229, 25,151,124, 64,133, 16,193, 75, 66, 18,202, 17, 11,192,  8,201,188,200, 57, 15,129,121,145, 99, 58,143, 85,130,221, 34,
+167,238,  2,115,235,201,116, 52,241,176,222,211,  5,133, 10,  2, 45, 44,185,107, 25,218,134, 35, 12,106,181,166, 11, 30,235, 44,
+222,180,124,102, 56,162, 44,135,156,173,107, 58, 27,104,138,140, 97, 89, 96,  3,136, 76, 99,165,228, 82,161,201,141,225,235,181,
+229, 75,149,226,174, 13, 28,212, 75, 78,138,  1, 59, 77,205,219,162,228, 53,209,114,203,105,174, 20,146,115,151, 49, 51,134, 74,
+  6,238, 16, 48, 93,199, 90, 69, 96,180, 19, 30,167,114,156,240,180,222,209, 56, 79, 14,100, 69,193, 92,  9, 66,145,131,174, 16,
+203,  6, 81,175, 99, 65,214,196,103, 84,244,242,225,109,253,116,134,204,179, 96,166,154, 85,148,133,158, 30, 35, 76,  7,133,100,
+183, 26,113, 40,  5, 55, 39, 21,166,109,240,214, 80,230, 25,109,  8, 24,103,184,187, 94,115,239,252,132,175,188,255, 17,194, 73,
+ 68,231, 99,101,222, 69,193, 28,177,182,136,221,  1,162,200,249,220, 96,192,111, 59,188,204, 75,163, 33,135,229,136, 93, 41,169,
+131,227, 65,211,196,174,172,138, 93,232, 56,  7, 79,178,197,189,246,198, 39,137,123,109,  7,253, 44, 75, 21,120, 29, 11, 23,111,
+ 19,215,189,215,154,207, 54,117,156, 78,154, 28, 69,  1,164,113,116,103,146,158,135,139, 90, 31,237, 58,106,165, 44, 22,176, 90,
+131, 89,227,108,203,108,189, 98,229, 12,138,234,218,143, 51, 95,176,250,232,  1,237,170,227, 36,147,124,124,114, 31, 47, 61,211,
+245, 25, 67,157,241,112,113, 70,103, 60,245,122, 77,231, 28, 15,166, 51,130,  2,211,116, 56, 23,233,  6, 90, 74,172,212,104,165,
+185,185,179,131,214,146,115, 39,121,249, 96,143,198,105, 46,143,247,249,236,243, 71,140,247,118, 17, 33, 99, 60, 26, 32,100,198,
+254,222,144,114,144, 51, 28, 87, 56, 49,228,114, 85, 49, 81, 57, 31, 45,150,201, 28, 69,161, 94,185,202, 43,187, 19, 46,141,247,
+120,238,202, 33,121, 86,161,164, 38,211,154, 60, 83, 28, 86, 35,222,237, 44, 44,231,207,102,105,250,164,192,254,137, 65,161,111,
+161,244,193, 84,199, 10,202, 43, 76, 89,178, 55,170, 24,230, 21, 32, 25,228, 21,139,122,206,173,143,239, 83,211,113,249,224,136,
+ 16, 60, 66, 42,230,203, 53,171, 46,192,226, 52,182, 91,218,100, 55,218, 31,179,122, 26,230,191,167, 81, 36,179,145,199,  3,185,
+148,191,190,114,189,125, 80,205,212,134, 59, 31,182,132, 81, 66,106,201, 27,226,249,246,109,113,225, 99,149,222,227, 35,212, 99,
+247,196,121,144, 46, 58,192,133, 46,174,250, 50, 79,201,208, 86, 39, 96,187, 99,241,120,128,239,231,251, 23,109,235,176, 81,108,
+147, 91,216,130,222,  4, 38,  5,228, 74, 75,198,121,148,124, 85,193,179,212,138, 29, 68,148,  8, 16,129,153,  9,204,131, 99,148,
+ 43,230,157,143, 46, 98, 58,141, 51,186, 68,147,233, 81,238, 66,160,144,216,158,182,102, 98, 62,131, 74,157,136, 11,237,247,109,
+128, 92,234,188,169, 45,133,187, 94,237,175,175, 20,122,122, 99, 38, 54, 73,222,119,178, 14,244,150,110, 65, 63,158,217,219,131,
+201, 36,105, 12,196,141,134,102, 13, 39,103,240,224,  1, 76,167,112,182,138,115,251,  0,116, 29, 31, 55,107,190,182, 92,242,141,
+197,130,119,231,231,252,163,217,138,245,244, 20,104,227,172,190, 91,166, 68,162, 77,109,217,142,165,183,140,125,195,201,186,101,
+136, 67, 89, 67,179, 92,240,206,210,241, 75,211,227,120,124,245, 10, 86, 51,232, 58,202, 44,167,109, 59,158, 47, 74, 74,239,184,
+189, 50, 92, 25, 40,140,241, 88, 23,131,237,137,  9,236,201,168,168, 39,149,228,221,206,177,155, 41, 68,107,184, 84, 40,154, 92,
+ 19, 28, 12,164,160,214, 69, 66, 59,  7,198,  7,215, 48,206, 82, 12,118,240,121,133,152,159, 34, 71, 35,228,116,129,  8,158, 59,
+ 65,177, 50, 45,101,221,113, 35,203,241, 90, 99,164,192,102, 26,151, 21, 60,208,138,133,146,156, 16,112, 66,178, 20,  1, 13, 44,
+141, 67,100,130, 70,150,212, 66,176,176, 22, 87,140,  8,182,137,213, 62,142, 44,147, 92,151,146,231,188,231,149, 92,243,170,146,
+ 92,111,106, 14,149,229,103,151, 43,174,231,  3,230,109, 67, 94,150,220,152,148,152, 65, 73,176,142, 61,165,168, 67,164,151,221,
+211,154, 87, 69,224,163,181,225,200,183, 76,199, 35, 70,139,  5,205, 96,192,117,183,228, 45,167,184, 26, 60, 43,161, 25,200, 22,
+ 67,198, 87, 90,184,164, 28,247,179, 44,178, 59,164,196,  7,129, 64,226,132,160,243, 14,165, 20,101,158,161,  5, 28,230, 67,230,
+ 74, 97,125,  2, 23,170, 28, 17,146, 40, 87, 16, 81,213, 77,248,167,232,114,232,111,201,187, 21, 59, 59,112,249,185,168, 33, 34,
+ 36,204, 27,132,143,129, 53,175, 74,110, 12, 71, 92,173,114,246, 29,  4, 17,232,218, 14,103, 12,239, 47,167, 60, 88, 28,243,149,
+135,247, 88, 26, 71,176, 14, 33,  4,194, 69,148,190, 12,  1,161,  2, 66,103,136,178,228,247,222,120,142, 27,195,  9, 74,105,218,
+  0, 59,249,128,145,146,124,117,118,134,104, 76,242,140,176,177, 99,156,165,194,226, 91,  5,244,237,174, 98,239,125,231, 83, 37,
+222,123,115,  8,159,104,189,114, 83,181,203,180,135,  6,153,152, 59,  2,130,137, 99, 14, 82,181,223, 39,225,161, 15,240,117,236,
+104,180,150,112,255, 62,254,228,180, 55,116, 73,175,186, 38,220,123,  8,147,  1,243,229,154,211,217,154, 15, 86,103,172,156,227,
+206,249, 25,171,182,230,225,114,206,188,233, 56,159,173, 65,  8,202, 74,199, 44, 53, 56,174, 12,135,  8,114, 66, 48,116, 40,174,
+142,247, 25, 21, 57, 71,123,251, 84,101,197,238,238,144,253, 97,137,211,154, 97,158, 83,230,138,241, 78, 69,166, 11, 70, 85,198,
+100, 92,208, 90, 73,240,146,231,143, 46,241,238,201, 41, 88,205,228,242,132, 47, 61,119,149,203,123, 59, 88,231,168,134, 21, 77,
+107,144, 34, 74,152,238, 78,134, 24,223,240,240,227, 89,204, 98, 62, 77,251,241, 73,122,229,223, 52, 31,241, 27, 78, 33, 50,141,
+ 72, 20,120, 67, 40,135,236, 15,135, 40,161,201,179,136, 40, 61,155,207, 56,153,206,161, 94,145, 15,198,  4, 41,153,175,214,152,
+160,168,103, 11, 56, 59,137, 27,183, 79,148,184,237,106,249,137,213,122,216,208,237,250,121,164,148,143,190,255,122,  6,245, 94,
+184, 71,176, 89,244,143,207,214,165,120, 20,113,126, 33, 10,148,197,  5,170,179,141,245, 40, 36,250, 96, 58,175, 96,146,139,220,
+150, 88,139, 20, 27,141,251,109,113,156, 39,169,198,245,178,182,189, 26, 91,143,105,232, 33,  5,253, 72,227, 66,120, 38,178, 52,
+ 70, 42,144, 73,133,204, 51, 38, 94, 98, 18,143,123, 25,  2, 66,  9,156, 15,212, 70,210,  6,183,169,178,123,157,249,237,164, 81,
+203,136,172,182,108,216, 18,189,118,127,  8, 91,247, 53,  5,117, 41,158, 78, 78,232, 63,231,229,166,130, 87,  9,112,167, 30, 51,
+177,249,180, 93, 22,173, 34,171, 32, 75,  6, 31,206,193,243, 55, 97, 56,138,  1,189,231,238, 26,  3,247, 78,226, 12,222,218,141,
+ 89, 78, 99, 98,208, 54, 62,182,  9,235, 38,138, 83,157,157, 71, 37,178, 69, 29, 13,145, 76,  7,231,179,152,168,174,151,224, 58,
+ 76,187,230,227,206,114,167, 91,242,230,123,223,224,117,114,190,114,122,194,157,197,113,236,146, 53, 11,104, 82, 50, 32, 28,211,
+249,130,223, 49, 41, 88,172, 27, 10,165,216,145, 14,237,  3,183,151, 29,135, 10,126,110,218,240,182,245, 20,109,203,213, 65,193,
+ 73,231,216,215, 18,233,  2,119, 28, 76,  6,  5,101, 16, 28, 40,207,181, 65,133,149,138,203,185,230,197, 65, 65,238,  2, 47,238,
+237,114, 86,119, 88,161, 17,163, 61,196,236,  1, 98, 60, 64, 24,143, 88,175, 56, 57, 95,240,102,169,121,174, 51, 52,194,227,138,
+146,  7,  4,238, 10,193, 42,207,153,  6,201, 76, 10, 86,169, 45, 29,165,129,193,203,130,198, 24,222,247,158, 60,175,112,  1,202,
+172,164, 69,227,  8, 84,197,144,129,247, 76,138,  2, 35, 53,138, 64,169,  5,178,238,216,209,112,210,156,115,165,136, 30,228, 39,
+179,  6, 68,142,113,158, 97,149,161,172, 99, 26, 20,215,218,154,147,160,216,105,151,156,148,  3,118,166,231, 44,202,146,172, 89,
+243,150, 44,121, 77, 54, 44,100, 70, 97,150,204,173,166,202, 61,149,133, 55,169,144,139, 51, 62, 18, 57,121,183,160,201, 74, 22,
+237, 10, 47, 64, 32,162,254,188,247, 76,242,  1,147, 92,145,133,128, 31,141, 88,233,132,137, 89, 27,132,176, 96,171,136, 98, 23,
+ 32,116, 21, 91,233,143,206,253, 54,115,230, 39,  5,247, 44,231, 71,255,153, 31,225,135,127,243,111,226,149,107,215,120, 99,177,
+224,210,171, 47,242,155,190,240,253,212,206,114, 54, 63,231, 67, 37,120,185,136, 94,  5,213,122,205,121,215,210, 90,195,237,213,
+ 25, 63,125, 62,103,209, 26, 76,221,197,110,139,  3,145, 41,100,208, 72, 47, 16, 33,142,212, 68, 85,240,242,206,144,107,163, 93,
+ 74,157,225,164,192, 19,184,179, 94,242, 13, 27,229, 92,133,105, 54,147,208,158,174,247,172,207, 87, 15,210,131,  8,178,201,178,
+ 24,132,139, 98, 19, 79, 66,194, 21,245, 64,226,222,148, 75,217,132,210, 79,238,132,242, 49, 42,113, 15, 64,118,169, 51, 58,159,
+197,103,105,181,120, 44,168,247,175,243, 69,164, 28, 52, 53,204, 87,180, 77, 71,119,231, 14,139,182, 99,181, 88,179,246, 14, 39,
+ 97,109, 29,133,200,200, 52, 92,159,236,166,226, 66,130, 40, 56, 28, 77, 40,117,  9, 66, 49, 40, 75,124, 16,148, 69,197,120, 82,
+144, 11,141, 46, 36,185,206,169,202, 12,165, 37,133,206,185,127,182,102, 60,169,168,215,150,229,170,229,189,245,156, 16, 96,103,
+111,196,141,201,  4,169, 20,229, 96, 68,  8,129,162,200,144, 82,162,242,140,224, 61,205,106,201,135,167,171,104, 15,251, 29, 85,
+ 43,143,173,179,190, 74,223,174,214,251, 74,201, 72,152, 47, 56, 81,158,165,105, 88, 52,115, 30,204,207,249,120,185, 34, 28, 47,
+ 97,113,204,162, 49, 44,100,193,170,113,172, 87,107, 56, 63,131,102,186,  1, 69, 61,158,241,169, 45,181,162,222,226, 20,243,232,
+ 92,125,251,166,246,  0,191, 95,207, 42,221,152, 77,224,238, 93,215, 92,162,167,245, 98, 51, 61, 21, 77,138,180,112, 19,218,189,
+ 23,120,208,249,134,222,209,163,194, 93,  2,143,249,190,165,159,109,180,223, 73,137, 85, 16, 27,254,188, 20,223,172, 77,208, 43,
+252, 93,180,220,229,150, 96,156,222,100,202, 23, 24,133, 88,173, 58,231,233,188, 96, 55,147, 72,173, 88,135, 16,213,183,164,226,
+204,153, 40, 90, 34, 21, 11,239,112,253,239, 17,114, 11,145,158, 64,124,189,251,157,148,155,234, 61, 79,  0,153, 92,197,207,245,
+  0, 69,169, 54,128, 79, 31,122,140, 76, 58, 23,177,105,226,244, 20, 55,122, 42, 32, 49, 64,110,111, 60, 23, 27,100,  9,187,123,
+ 49,  0,127,210, 61,204,213, 70,132,135,116,188,229, 40, 50, 55, 38,147,228,183,238,162,134,117, 91,199, 17,210, 98,145,174, 41,
+241,221, 38,167,188,102,  5,243, 21, 44,215,176, 92, 65, 51,131,179, 57,204,207, 96, 49,219,108, 64, 15,103, 49,121,163, 23,206,
+ 49,145, 51, 78, 32,204, 78, 99, 85,190,154,193, 98, 26,141,125, 22,231, 96,107, 70,193,208, 53, 75,190, 54,159,242,165,157, 93,
+190,122,255, 30,129,140, 15,206,166, 28, 73,248,219,181,225,246,249,  9, 47,155, 26,231,224,174,  9, 92,223, 29,226,114,141,237,
+ 12,  7,147,  1,243, 69, 77,174, 53,161,200,208,198,209,  0,135,133,226,182, 11, 92, 31,104, 22,139, 53,217, 96,194,103,117,224,
+238,114,138, 24,237, 34,234,101, 76, 70,198,195,152,191,158, 28,243,122,166, 41,155,142, 51,  5,247,133,165,214, 25, 15,189,101,
+ 46,162, 43,222, 89,235,145, 90,178,104, 37, 83,103, 80, 46,240,139,  1,106,173,  9, 50, 71,  7,143, 47,134, 72, 12,131,225,  1,
+187,190,161, 26,237, 97, 28,228, 90, 35, 84,134,149, 25, 82, 11,180,119,156,215, 29,109,187,166,198,209,214, 13, 39,117,205,123,
+139, 37, 95,110,226,109,184,238, 13,111,  4,201, 75,120,206,148,230,200, 52,156,150, 67,246,  2, 44, 60,188, 20,214,188,229, 75,
+246,154,  5, 75, 61,100, 20, 26, 26,167, 25,102, 48,182, 43,222,206,118,185,181,156,241,  1,154,118,126, 70,109,  5,132,142, 73,
+ 94, 80,200,140, 66,106, 10, 25,169,121, 95, 24, 12, 57, 84,129, 87, 43,197,221,214,210,117,150,235,255,216, 23,152,220,184,196,
+252,206,233, 70, 91,253,137,  1,189,151, 72, 76, 27,110,177,173, 99, 81,241, 79,254,142, 31, 34, 43, 74,170,178, 34,180, 43,126,
+248,251,254,113, 94,124,233, 42,135,229,136,215,255,222,207,224,131,229, 43, 65,242,188,109,248,216,118, 52,182,227,141,249,  9,
+175, 47,151,220,239, 58,108,103, 32,  4,180,130,203,153,230,181,113,198, 97, 46,120,185, 42, 24,102,146,105,215, 34,  3,188,116,
+249, 18,151,171, 49, 78, 73, 36,112,102, 45, 31, 47,214,124,216,212,113, 93,158, 77,163,227,154,181,136,158,142,108, 62,197,126,
+ 43, 28, 23,202, 81, 38, 68,153,242,182,141,231,107,125, 26, 69,102,177, 64,241, 73, 35, 30, 19, 71,146,157,217,236,151,150,141,
+ 59,102,207,127,239,247,181,199, 18,249, 39,  7,245,254,101, 82, 22, 62, 95,196,247,182,141, 45,179,218,226,  0, 93, 13,241, 82,
+242,252,164, 98,214,193, 32, 83,152,160,168, 84,198,164, 44, 25, 14,114,  6,101, 73,103, 61,227,113, 69, 89, 72, 84,166, 25,143,
+ 50,180,206,201,181, 38,203, 20,135,163,156,218,120,118, 70, 57,247, 78,107,242, 66,161,133,226, 82, 89,114, 26, 60,151,171,156,
+203,147, 33,151, 15,247,201,116, 70, 83,215,100,213,128,206,117,232, 32,152,173,102,156,175,150,124,124,190,136,179,  6,241,132,
+ 13,254,211,112,184,183,214,218,133, 19,221,133,  2,155,221,180,107, 73,153,150,177,180,214, 48,111, 29,171, 69, 77,104, 13, 76,
+143, 47,220,197,194,218, 19, 22,211, 72, 21, 58,189,183,  9, 84, 79,  3, 89,248,173, 54, 75, 31,176,122,160,198, 54, 77,172,159,
+195,252,255,161, 74,239, 81,220,125, 64,223, 78, 58, 92,156,133, 94,160,188,149,220,146,133,  5,172, 74,224,186,132,109,232, 18,
+152,205, 54,209, 94, 53, 81,149, 98,208, 45,184, 48,177,239,171,239,222,198,180, 79,110, 50,189,201,146, 51,189,153,157,171, 68,
+147,203,179,216, 17,241, 91,  1, 83, 19,171,209,212, 17, 41,148, 64,151,154, 90,194,185,243,140, 81,120,  4,199,174,163,146,138,
+ 22,207, 50,120,100,208, 92,108, 91,109, 66,242,247,107,165,200,211,188, 60,209,230,122,139, 90,147,196,120,250,174,131, 74,146,
+195,189,160, 69,235, 55,222,  1,189,127,122,216, 10,234, 23, 70, 48,  9, 96,163,253, 70, 88,231,113,  0,143,183,159, 28,208,203,
+100, 64,228, 21,148,137,163,223, 39, 39,210,193,229,195, 40,209,154,229, 73,201,175,142, 85,217,106, 25,209,243,189,138, 88,127,
+ 49,251,249,188,183,113, 67,183,221,230,255,219,235,218,216,248,181, 85, 29, 19,134,222,209,176,141,237,120,206,231, 17,129,127,
+239, 54,156, 78,225,248, 12, 30,158,130, 11,116,161,133,  7,103, 96,107,222,152, 79,121,216,118,188, 59,187,207, 29,  7,111,204,
+206, 88,205,207,192, 26, 78,101,244, 65,120,161,138,231,119, 74, 96,183,200,200,188, 99, 80,106,186,206,179, 43,  3,115, 29,169,
+ 92, 15,219,142, 10, 79, 94,100, 12,132,  2,103,200,117,198,157,144, 70, 72,222,192,238, 40,  6,171,206, 18, 60, 52,237,154, 55,
+230, 53,167,198, 50, 83,130,169,107,176,153, 70, 42,197,251,117,203, 88, 11,124,200, 88,219,142,129,202,248, 27,157, 97, 21, 34,
+234,126,222,181, 44,138, 49, 57,  1, 89,236, 48,212,154, 73, 54, 36, 83,138,188,218, 33,132,128,149, 25, 66,  6,140,214,184,188,
+ 96, 25, 44, 43, 93,114,111,109,121,216,174,120,184, 94,210,  9,137,111, 87,228,182,163, 54,150,207, 75,193,173,224,185, 92,175,
+ 56,174,198,236,173,166,204,144, 12,240,220, 86,  5, 47,179,230,196,107, 38,210, 80, 59,197, 80, 26, 22,157,195,232, 33, 52, 83,
+234,225, 46,221,106,198, 44, 43,112,237,154, 73,166, 24,120, 71,165, 50, 70, 89, 73, 41,  4, 47,  9, 65,165, 53,101,240,140,133,
+224,102, 33,248,229,198, 49,127,227, 29, 22, 31,221,142,227,201, 44,123,172,224,240,124,179,134,181,140, 40,240,155, 55,227,154,
+114, 14, 20,236,223, 56,228, 96,103,143,249,124,202,123, 15, 31,240,249,207,190,200,120, 88, 32,164,231, 23,126,246,231, 17,179,
+115, 40,  5,191, 60,155,241, 43,171, 53, 95, 93, 76,249,160,235,152, 37, 54,135,176, 32,130,163,  0,174, 15, 37,215,130,224,122,
+158,113, 45, 83,188, 88,229,124,190, 44,153,250,142,175, 52,158,225, 64,227, 69,198,185,247,124, 56, 91,240, 15,154, 46,106,149,
+244,207,208,114,  5,227, 33,131,223,248, 26,166, 53, 81, 95,254,153,  1,169,125, 98, 46,210,236,220, 38,234,106,114,105,202,212,
+134,174,171, 82, 66,159,103,233,185, 72, 96, 94,177,213,197,235, 85, 63,125, 82,170, 11,201,171, 99, 43,209,248,228,160,254, 36,
+ 48,153,115, 17,241,106,193,  9, 73, 86, 22, 24,162,104,129, 71,115,115,156,211, 57,201,112, 56,164,208,154,172,172,168, 74,201,
+238, 32,167,200, 75,170, 44,103,152,107,138, 66,178, 55,208, 12,135,154,224,  5,231, 43,203,188,117, 52, 77,131, 16,  2,157,  9,
+102,211, 53,227, 60, 99, 55,207, 24, 15, 71,236, 76,134,  4, 41,217,153, 12,177,198,226,172,199, 99, 57, 62, 61,227,193, 98,206,
+241,157,227, 40,247, 39,210,220,226,211, 58,201,105, 54, 85,185,125,194, 92,221,250,141,168,135,210, 41,121, 72, 52,171, 58,  1,
+ 26,234, 22,234,105,156,119, 36, 51,  3,234, 25,212,115, 88, 46, 30, 13,102,159, 22,208,212, 11,236,108,  1,166,127, 77,170,244,
+ 94, 78,247, 66,130, 87, 63,186,137,123,183, 65,161,103,122, 35, 52,211,211,206, 50, 21,  1,109, 50, 75, 21,113,207, 17, 77, 82,
+177,222,166,192,214,165,202, 89,108,  2,122,150, 50,212, 11,  3,  5,187, 17,180,185,152,187,139,173, 17, 68, 66,138,247,179,244,
+254,251, 82,179, 35, 58,220,109,117, 69,250,177,128, 78,234, 51,169,109, 30,  4, 92, 41, 36,115,  3,  7, 69,129, 11, 30, 43,161,
+144, 18,237, 92,100,202, 11,193,220,137, 56, 79,239,  1,126,190,159,161,245, 65, 90,110, 85,162,108, 42,118, 82,117,155, 37,238,
+124,145,228, 96,149,218,120,169, 39, 36, 62,153,120, 52,145,203,182,100,137,101, 90, 27, 23,226, 53,225,217,129,143,187, 71, 49,
+104, 95, 58,140, 78,103,123,  7,241,239,181, 93, 74,138, 21, 92,218,131,157,253,141, 16,146,202,226,189, 57,157,198,164, 85,203,
+141,229,237,183,227,220, 88,232,152,196,229,122,115,252,214,193,170,139,188,122,211,197,251,179, 94,197,247,166,129,121, 18,231,
+152,173,224,236, 12,230,211,120, 47,143,239, 68, 33, 19, 41, 96,126, 12, 82, 34,164,231,104,114,137,194, 26,118,139, 12,103, 61,
+185,119,204,189,164,  8, 22, 33,  5,167,198,243,126, 23,165, 92, 95, 25,230,252,242,131,  5, 82, 73,158,203, 36,239, 47, 86,188,
+ 58,168,184, 55,159, 69,151,185,249, 49,100,154,224, 60,161,243,  4,161,241,245,130,179,149,225,227,214,243,110,103,121,177,144,
+220, 53, 53, 87,164,228,107,157,103, 97, 13,  3,169,248, 74,  8,204,179, 18, 92, 71, 32, 64, 89, 97, 93, 96,169, 75,118,139, 28,
+139,100, 52,222, 71, 42, 65, 53, 28,226,243, 28,161, 74, 58,149, 51,151, 48,117,138,135, 42,199, 56,193, 74, 71, 51, 22,175, 50,
+ 44,  6,231, 60,115,157,243, 57, 17,248,106,107,248,162,232, 88,150, 99, 14,204,140,243,209,  1,131,166,197, 22,154, 27,161,230,
+ 61,147,115,168,162, 46,209,176, 16, 44,150, 29,168,140,117,103, 56, 46,198,148,171, 25, 62, 43,113,235, 37,181, 86,148,235, 53,
+215,171,156,177, 46, 41,165,228, 72, 43,  6, 58, 39, 88,195,174, 82, 52, 30, 20,142, 43,185,231, 77,227, 19,180, 63, 21, 87,223,
+180, 38,182, 91,238,125,242, 91,240,252, 23, 94, 97,118,214, 69,161, 36,107,120,255,141,183,248,242,207,253,191,124,237,157,143,
+ 56,195, 51, 18,134,213, 98,202,151,223,126,157,135,175,223,  2,105, 16,211,105,252,125,117, 29,237,120,219, 22,209,118, 73, 84,
+198,146,  9,120, 99, 58,215,121,  0,  0, 32,  0, 73, 68, 65, 84,161, 16,148, 33,176,175,  4,215,117,198,110,150,115, 41, 83,228,
+165, 70,123,201,131,213,138,183,141,229,151,235, 37,175,215, 29, 31,154, 58,185, 95,134,205, 94,159,229, 20,175, 94,231,115,  7,
+215, 57,203, 61,246,238,244,153,100,209, 31,109,195,167,185,155, 76,115,244,158,206,219, 38,141, 14,181,253,125,105,175,243,253,
+222,183, 69, 95,237,157, 37,123,230, 75,150,246, 54,185,121,230, 63, 93, 80,135,232,174,132, 74,148, 34,197, 11,151, 43, 38,121,
+ 65,235, 21,207, 13, 53,247,106,139,119,150,221, 66, 81,150, 67,134,101,198,238,168, 64,233,140, 97,153,115,237,176, 98, 50, 16,
+ 12,171,168, 45, 63,204, 21,109, 23,105,113, 81,225, 85, 32,133,143,182,130, 50,202,115,102,  2,206, 27,199,254,184,160, 26,150,
+232, 60,231,228,120, 74,150,103,172,151, 51,100,240,252,204,215,223,143,224,157,126, 13,169,240,236, 85,172,222,210, 97,233, 43,
+227, 94,213,205,251,111, 78, 50,123,234,129,177,241,130,  6, 31,219,131,245, 50,206,253,218,246,201,  0, 17,249, 29,  6,215,139,
+196, 66,126, 50, 79,242,187,253,234, 41, 95,189,  7,122, 79,197,208, 91,114,188, 38,233,196, 91,183,161,115,108, 87,231, 90,197,
+ 74,149, 16,  3, 87,214,243,209,147,176,143, 49,169,130,139,226, 31, 23,  0,147, 62, 65, 80, 91,109,242,109, 32, 93,255,222,187,
+ 69,153,110,139,186,168, 30,165,126,201,236, 17,188,227, 35, 16,220,222,254, 52,209,239, 68,166,169,125,224,160,136, 60,221,135,
+ 78,177,151, 65,231,  2, 70, 72,242,  0,107, 41, 89,251,237,225,119,162, 84,  6,145, 90,240,169,122, 14, 79,160, 82,246,194, 19,
+219,163,131,190, 52,247, 46,137, 29,165, 99,179,189,118,116, 47, 68, 20, 30,109,199,247,172, 12, 23,158,157,234,248,217,207,176,
+115,227,136, 47, 94,127,129,207, 94,190,202,193,164, 98,111, 48,100,180, 55, 97, 58, 91, 70, 20,243,100,  2,  7, 99, 24, 95,226,
+168, 44,121, 41, 47,121, 41,211, 92, 17,129,187,245, 50,130,228,124,  6,  7,123,176,179, 19, 29,175, 92,247,233,214,150,115,177,
+ 82,207,139,141,197,110,111, 35, 44, 84, 92, 11, 33,196,153, 99,211, 38,245,199, 38,126,172, 23,241,123,150, 43,184,127,  7,150,
+ 45, 76,231, 49, 25, 88, 45,  1,139,  9,130,171,194,114,207,  8,246, 84,180, 73,253,192,194,190, 14,236, 89,195, 91,198,243,176,
+ 54, 92,241,158,  3,  5, 31,118,158,151,117,148,240,157, 11,120,206, 89, 30,172,106, 94,174, 42,238,173,231,208,173,192,121,194,
+124, 69,232, 12,190,200,  9, 90,226,219, 53,222, 91,124,187,230,227,198,113,164, 60, 15, 76,195,184, 80, 44, 87, 11, 58, 33,185,
+107, 28,141,179,  4, 85,164,241, 75, 14,195, 29,130, 11,188,176, 51,100,164, 75,106,211,177,183,179,131,109, 44, 94, 15,240, 66,
+ 98,149,164,182,130,135, 30,206,144,172,242,130, 38,171,232,202,  1, 70,101,248,124,  4, 58,227,133,172, 98, 32, 37, 63,176, 59,
+ 98,237, 50, 14,204, 18, 91, 76, 24,155, 25,228, 67,178,174,225, 86,200,121, 49,119,172,140,163,202,162,214,142,  2, 90, 27,184,
+151,101,200,213, 28,202, 17,147, 52, 67,191, 36, 21,167, 46,112,128, 99, 95, 72, 74, 41,185, 36,115,118,114,117, 33,136, 56, 84,
+ 25, 65,  8,206,157,225,235, 30, 56, 57,139, 34, 51,206, 60,  1,225,238, 31,107,197, 71, 53,207,217,233, 57, 44,167,143, 22, 41,
+ 58,137,127, 53, 29,239,191,115,155,175,255,242, 27, 60,252,165,143, 98,101, 43,227,158, 35, 86,171,  8,160,108, 29,162, 73,232,
+118, 27, 41,146, 82, 10, 14, 66,224, 69,173, 57, 16,130, 61,169, 25, 40, 69,145,105,114, 45, 25, 72,193,204,123,102,235, 46,250,
+184,247,163, 57, 33, 99,210, 37,162,  2,101,240, 30,123,231, 12,183,171,153,189,254, 46, 98,189,250,244,123,168,216,162,173,170,
+212,189,236,131,114,175,176, 25, 32,250, 30,167,203,180,221,230,239,247, 48, 37, 34,128, 78,108,213, 86,129, 71,170,245, 79, 23,
+212,181,222, 40,229, 20,146,163,215,118,248,248,173, 51,  6, 59, 25,135, 69,206,221, 58, 16,130,229, 82,169,104,125,206,115,135,
+ 67, 14,118, 75, 92,200,168,180, 96,127, 39,103, 50, 20,140,170, 28,239,147,228,102, 38, 49, 38, 90,  2,158, 44, 26,170, 66,225,
+124,224,225,201, 10,219,212,228, 89,172,182,134, 85,129,247,  2,149,229,120, 31,184,116, 48,230,252,116,206, 98, 49,229,175,191,
+119, 11,238, 78,227, 76,207,134,141,109, 39, 60, 91,245,208,239,203, 50,157, 95,106,219,125, 51,111,253,177,247,254, 63, 79,219,
+ 60,251,100, 65,242,221, 49,178,251,213,160,161, 61,203, 61,183,143, 38,214, 17,101,190,149, 88,100, 58,137,192,164, 64, 45,182,
+ 43,249,196, 41,239,101, 99, 67,136, 93, 14, 89, 93, 56, 41, 69,109,247, 46,205,200, 83,155,218,182,137, 54,152, 61, 26,196, 67,
+216,154,169,139, 13,  8,174,179,143,242,213,123, 84,124,182,165, 92, 87,136, 71,121, 52,130,141, 96,145,202, 55, 82,144, 40,130,
+119, 56, 41,105,131,140,167, 40, 21,181,151, 81,132,201, 64,166, 21, 75, 19,131,252, 69,192,118,225, 81,173,227,190,163,114, 97,
+ 79,107, 55, 85,122, 63,203, 15, 61,152,166,167,203,184, 71,  1,112, 50,141,  6,182,147,153,190,187,224, 83, 30,209,111,  8, 97,
+ 11, 68,248, 73, 70, 19,229,152,157, 27,215,121,245,224,136,113, 57,100,255, 96,159, 65, 62, 32, 24, 67,174, 20,235, 76,209,206,
+215,176, 63,132, 75, 87, 57, 26, 12,120,181, 26, 51,214, 26, 45, 96,224, 59,180,111, 57, 61, 94, 69,156,195,100, 24,223,203, 28,
+166,179, 79, 81,165,167, 57,106, 33, 35, 29, 32,139, 84,198,223, 48, 86,252,192,164,228,249, 82,241,193, 89, 27, 91,242,193, 63,
+106, 17,220,175,125,147,230,147,109, 19,255,109,218,184,233,175, 18, 24, 15,207, 92,121, 90,169,120,123, 54,165, 53,130,251, 77,
+ 77,133,226,118, 16,212,171,154,214, 88,198,121,198,241,186, 99,100, 28,141,214, 28,  8, 48,171, 37,199,197,128, 87,114,201,219,
+243, 37,235,122, 14,198, 16,112, 23,114,253, 97,246, 16,175,  6,120,229,241,109,139, 55,150,102,177,224,195,179,134,219,243,154,
+ 15, 79,167,220,111, 26,110,227, 35,157, 81, 15, 98, 48, 27, 31, 16,218,  8, 42, 29, 20, 21, 69,210,188, 23,163,138,243,117, 67,
+ 59, 24,144,103,154, 51, 47, 17, 82,115, 39,  8,110, 89,139,202, 43,150,121, 69,208, 89,244,186,207, 39,144,143, 40,  6,251, 92,
+ 43,  6, 92,157,236,130,200, 57,154, 20, 52, 89, 73,190,154,113, 76, 69, 22,106,138, 98,196,161, 52,220, 94,214,236, 23, 37,141,
+177, 49, 87,178,129,219,  2,154,166,166, 40, 42, 14,  4, 12,149,230,185, 42, 67, 90,203, 43,227, 10, 37, 20,218,117, 28,170,140,
+ 61,149,145, 37, 48,104,147,196,151,156, 16,204,  3,124,109,185,140,207,129,173, 83,146,109,191,197,102,214,143,174,186, 39,235,
+132,132,100,137,108, 82,146, 95,102,136,139,194, 34,126,143, 72,227, 29,129, 71,212, 77,164,204, 39,243,149,163, 74,114, 83, 72,
+118,165, 38,151,130,137, 86,236,229,154, 12, 77,174, 36,135, 74,177, 11,204,188,167,113,118, 51,102, 18,177,  3, 23,178, 52, 66,
+107, 91, 86, 31,222,137, 20, 50,239,163,104,205,167,217,127,251,209,147, 76, 64, 25, 45,226,154,101,171,144, 20, 73,116, 75,176,
+225,253,135,237,107,145,246,191, 97, 21,181, 91,122,205,120, 69,220,255, 62,117,165,190, 45,253, 41, 60,228, 37,171, 44, 32, 86,
+ 29,211,181,229,222,210, 83, 35,184,170, 29,153,148,156, 47,151,188,124,117,159,162, 26,225,140,225,104,191,228,104,183, 96, 82,
+169,200,231, 86, 34,250,119,  8,129,214,240,211, 95, 91,113,176,  3,171,218,208,218, 14,151,102,122,214, 88, 92, 16, 12,134,  5,
+206,  5, 70,163,156,229,162, 35,207, 21, 77,211,114,182, 88,241,238, 91,239,197, 86, 96,109, 55, 96,178, 94,151,248,211,  4, 76,
+191, 37,198,242, 29,  7,195,199, 80,119,223,205,224,254,204, 85,208,119,161, 59,208,  7,112,185,141,109,145, 27,113,159,222,246,
+243, 66, 19, 89, 71,208, 86,166,226, 70,237,237,  6,  5,223,219, 25,170, 34,  1, 67, 68,156, 83, 74,145,130,119,  6,126, 29,  3,
+ 91, 89,110,  2,217,186,217, 82,164,235, 85,212,194,163,129,110, 59,160,235,100,222,162,229,198,  1,174,175,142,123, 81, 27,177,
+229, 97, 78,226,150,247,246,165,200,152,249, 42, 69,161, 36, 51, 20,153, 16,248, 16,144, 42, 32,180,224,172,182,228, 90,209,110,
+ 75, 70, 26,255, 40,194,191,139,173, 59,218,232,149, 64,161, 31,173, 80,251,  4,167, 15,242,253,231,100, 15,186,179,155,  7,251,
+113,166, 99, 95,173, 15,163,146, 87,228,245,187, 77,119,234,147, 42,245, 27, 55,248,226,205, 27,148, 89,201,225,222, 37,138, 60,
+199,217, 14,107, 28,185,202,104,108,195,204,117,176,179,195,247, 29, 94,225,181,209, 37, 14,170,  1,141,181, 81,205,178,105,104,
+187, 21, 15, 86,117,172,146,178,  4, 20,156, 47,227,115,248,105,170,244, 11,202,161,134, 50,231,218,176,224, 55,142, 11, 38, 42,
+162,209, 39,165,228,195,217, 42,169, 42,202, 71, 85,  4,165,140,201, 88,153,197,107,161,100,220, 52,219, 52,207,151,  1, 86, 13,
+ 93,211,209,154,154,208,213, 44,156,195,205,143, 57,246,154,145, 51,236,  6,207, 73,219,113,108, 58, 20,130,155,227,156,176, 94,
+131,214, 40,169,216,239, 26,238,173,107, 30,212, 43,172,169, 35,192,207,180,209,202,181,235,  8, 34, 39,172, 87,132,122, 77, 24,
+148,120, 99, 99,176,119, 93,252,220, 98, 78,168, 87,132,233, 50,186,194,217,  6,116, 65,176, 22,198,187, 72,161,121,101, 52, 32,
+ 32, 56, 21,160,180,226, 65,158,211,  8,201, 87,140,163,203, 52,175, 11,141, 13,176, 76, 28,106,164,138,207, 80, 62,140,231,156,
+ 15,184,190,187,199, 36,203, 24,142, 70, 20,  8,206,157,102,156, 11,140, 46, 56,104,150,172,130, 66,248,154,115,163,121,126,167,
+228,108, 89, 51, 25, 42, 22,235,192, 45, 33,120, 94, 40, 12,240,188, 18,236,141, 10,156, 23,220, 24,148, 28, 85, 21,227,108,192,
+218, 59,174,102,  5,210,116,236,231, 57, 57,  2, 57, 40,169,  9,120,173, 88, 35,185,237, 29,111,218,  4,152, 60, 91,125, 50,150,
+227,153, 71,190, 62,142, 52, 73,160, 48, 25, 69,150, 68,191, 71,167, 61, 78,116, 14, 97, 58,132, 18,  8,239,144, 62, 32, 21,100,
+ 82,112,128,228,178, 20,236,228, 25,149,148,220,172, 74,174, 22, 21, 87,138,156,163, 34,231,234,160, 98, 87, 75, 62, 92,119,180,
+ 18,130,210,132,196, 42, 10, 33,  2,154,195,178,133,179,179, 24,204, 71,195,232, 80, 39, 36,194,218, 79,103, 60,230,183,112, 39,
+125,210,211,155, 48,245,202,155,193, 63, 74,195,237,  5,208,122,204, 82, 94,114, 97, 92,214, 39, 67, 91, 73,252,179,  7,245,158,
+ 58,165, 36,232, 97,148,  7, 60,158,163,158,159, 16,206,107,174, 95,175, 40, 50,203,135,115,195, 81, 41,184, 58,201,  9,162,  4,
+111, 57,220, 31, 34, 69, 96,119, 32,216, 25, 22, 56,231,104,141, 67, 11, 88,119,  6,239,  4, 95,255,224,140,247, 63,186,195, 32,
+207, 88, 45,150,204, 23, 75,214,171,154, 60,151, 12, 70, 21,121,158,  1, 10,103, 28, 69,  1, 77,227,112,193,241,254,253,251,204,
+117,160,187,117,188,213,170,120,140, 42,246,105, 91,220,223,141,224,123,  1,172,243,159,152,160,254,170,  6,116,245, 93, 41,213,
+ 19,200, 73,110,141, 41,236,163, 25,202,246, 38,155,171,216, 38, 29, 12,145, 95,252, 44, 97,182,136,237, 81,231,160, 24,197,170,
+ 44, 36,250, 91, 16, 81,205, 43,171, 54,116, 47, 37, 55, 52,144,117,162,147, 92, 56, 36, 37,224,160, 44, 54,237,233, 46,  5,204,
+109,103, 62,149,199, 68, 66,170, 13, 69, 48, 16, 91,181,170,167,  8,166, 81,128, 78,130, 57,201,122,148, 66,167,141, 34, 38,135,
+  6,193,160,204, 88, 27,143,150, 34, 62,143, 38,144, 73,201,188, 55,108,184,248,251,126, 19,204, 93,136,215, 34,108, 81,250,182,
+ 91,240, 61,184,204,111, 85,250, 33, 41,205,117,110,  3,154,235, 85,  4,251,148,189, 99, 83,193,103,105,  3,232, 91,123,186,183,
+139, 20,159, 72,115, 44, 94,122,137, 16, 44,215, 15, 14,201,243,156,206,116, 40,145,108, 72,  9,180,193,113,188,106,248,210,213,
+ 67,138,106, 55,122, 60,228,138, 65, 86, 96, 58,131, 20,142,135,179, 19,206, 62,190, 19,219,200, 75,147, 16,241,221,166,253,222,
+107,100, 63,237, 25,236,191,222,  3, 63,117,129, 28, 14,248,157,151, 42,118,178, 28, 47,  4, 74, 64,215, 26,222, 57,111,146, 35,
+152,217,172,181,190, 75,148,231,112,120, 53,174,177,174,222,140,204, 50,157, 68, 59,146,141,240,116, 30,175,213,131,187,169,117,
+187,100,161, 52, 67, 60,210,117, 72,  2,133,  3,107, 45,227,193,144,206,116,248,229,154,157, 66,243,229,243, 57,206,180,  9, 39,
+ 99,  8,166,139,125,107, 27,  8, 82, 16,218,134, 32,  3,161,105,183, 93,182, 47,138,172, 96, 34, 88, 49,220,187, 15,195, 49,140,
+ 71,113, 45,234,104, 39,122,170, 51,188, 16, 92, 30,230,220, 91,117, 92,175, 50, 62,108, 45,151,180,230,190,243, 88, 36, 43,169,
+  8, 34,128, 46, 19, 56, 42,138,232, 48, 28,115,105, 48,228,102, 38,121,241,112,135,182,181,168, 73,197,209, 32,231, 97, 23, 56,
+ 20,158, 85,174,105,219, 21,222, 73, 14, 10, 56,158,173,216, 27, 23,172, 59,207,185, 23,236,  2, 75, 33,201, 93,199,225,184, 96,
+ 71, 74,198, 74, 48,148, 25, 58,203,217,205,115, 14,  7, 35,240,  2,169,115, 86, 93, 67,200,114,234, 32, 88, 40, 65,155,101,220,
+117,158,247,140,224,142,243,177, 91,178, 92,197, 81,152,247,143,219,108,125, 27,237,201,222,157, 49,205,155,125, 44,222,132,220,
+224,124, 68,138,129,194,216,244,110,144, 34, 35, 35,160, 51,201,101, 45,217,209,138, 35,157, 49,210,154,129, 46,169,116, 70,153,
+229,236,102,  5,198, 91,172, 53, 76, 21,212,  4,100, 94,224, 93,228,185,203,174, 35,172, 26,112,  9,  1, 63, 44, 35, 45, 78,134,
+139,142,238,183,101, 27,254, 73, 64,233,139,175,251,205, 62, 96,211,124, 93, 37, 61, 13,107,226,216, 55,124, 26,244,251, 19,129,
+ 90,  9,  1,110, 36,131,207, 95,197,124, 56, 67, 93, 31, 96,131,103,250,238, 12,177,110,185,127,122,202,  7,203, 53, 59,250,156,
+157,170, 64,229, 35,118, 70,146,163, 73, 69,221, 52,148,133,138,  0,145,206,197,153,185, 14,236, 13,  5, 85,149,209,186,142,233,
+188,229,193,241,  3,140,119,104, 41,145, 89,198,100, 84,224,141, 97,185, 92, 81, 86, 37,211,243, 25, 93,211, 81,105,197, 27,247,
+ 31, 16, 86,  6,154,121, 82,183,106,191, 51, 77,244, 79,251,163, 23, 93,140,132,180,238,179,172, 39,217,168,249,111, 29, 67,191,
+227,164,194,109,241,161,229,227,227, 19,249,232,199,183,188, 78,  9, 76,160, 83, 48,247,114,155,103,245,205,235,195,165, 69,169,
+ 50,194,206, 78, 68, 48,135,164, 38,167, 66,156,193, 22, 18, 66, 30,249,154,189, 87,124, 81, 36, 10, 88,153, 90, 81,126,179,128,
+123,164,123, 79,147, 99,139,214,214,250, 71,145,213, 69, 30,129, 39,190, 23,131, 73, 21,253,182,211,153, 21,155, 74,223,187,168,
+242, 36,185, 48,141,136,179, 52, 46,208,243,198, 57, 42, 41, 89,121,  8, 33, 32,  2, 44, 43, 25,171,101,221, 11,238,216, 77, 64,
+207,213,134,146,231, 82, 50,164,244,133,132,236,197,245, 19,233, 30, 52, 41, 49,201, 68, 60, 72,151, 42,110,145,142,143, 45,111,
+117,181, 21,220,243, 30,116, 19,175,247, 69,182,255, 45,198, 51,238,124, 73,117,245,136,138,232,243,160, 16, 12,134, 21,109,189,
+198,250,142,186, 93, 50,204,  4,223,115,253, 38, 85, 85,177,146,138,194, 11, 36,  6, 92,199,241,114,198,215, 78, 78,225,193, 52,
+ 57,229,249,216,  6,116, 38,137,  3,145,186, 50,219,224,202,199,147,222,173, 17,138,146, 32,115,190,120, 56, 96, 47, 47, 24,107,
+ 69, 16, 18,227, 29,223, 88,183, 28, 79,163, 90,221,133,176, 80,191,110,123,187,231,213, 44,  2, 40,133,219,162,  7,110,  9,232,
+180,233,231,219, 85, 52,179, 89, 45, 99,208, 41, 37,179,102,206,209,112,151, 83,211, 82,  8,193,165, 76,179,182, 29,187,206, 49,
+ 42, 43,254,254,195,227,152,168,180,179,200,181,183,109,  4,188, 42, 69,176, 38,  6,242,229,121,108,215, 58,247,104, 48,127,236,
+ 61, 38,170,115,194,217, 12,142, 14,211, 26, 43,200,117, 84,161, 84, 68, 13,251,179,214,114,181,140,250,235, 45, 30,107,124, 20,
+ 43,234,129, 83,147, 73, 92,115,121,  9, 50,227,112, 92,112,115, 50, 64,103,146, 44,203,233,148,164, 13, 48,145,138,187, 86, 48,
+ 86,154,219, 54,160,156, 99,218,121,148,119, 44,189,164,105, 45,149, 16,220,115,134,207,142, 52,  7,131, 10,225, 61, 59, 66,112,
+165, 28,178, 18,130,177, 86,200, 16, 24, 13,  7,212,  1,186,214, 50, 42, 43,150, 72,214, 69,206, 84, 42,102,206,242,160, 17,204,
+165,230,212,182, 56,103,  8,138,136,185,248,118,192,147, 79,220,134,108,194,219,116,143, 24,170,136,190,  5,191, 61, 81,115, 46,
+ 78,161, 36,232, 92, 49,146,138, 29, 41,184,146,107, 46,149,  5, 35, 85,196,173, 42,120,164,208,180,222,160,180,102, 41,  3,211,
+186,102,156,101,212,214, 99,157, 97,164,  4,245, 98, 25, 19,186,243,121,212,134,207, 51,132, 22,  9,101,111, 35,229,237, 49,136,
+206,167,126,189,112,141,253, 47,124,134,250,214,189,111,102, 65, 61, 30,232,219, 46, 57,133,118, 79, 28, 19, 63,209,222,236,171,
+127,239,167,248,143,127,226,127,224,111,254,221,159,123,242,  1,172, 27, 24,148,172,223, 58, 69, 20, 26,119,107,193,186,245,136,
+ 28,126,240,251, 95,228,203,255,240,  1,208, 32, 41,185,123,118,159, 32, 53,207, 95,126,137,119,238,157,241,202,149,  9, 47,222,
+ 60, 98,181,106,121,231,131,  7, 96, 61,247,167, 45,139,117,205,221,143, 79,152, 45,215,156,181, 75,150,214,208,153, 64, 86, 72,
+118,179, 33,167,199, 51,254,212,191,242,187,248, 63,127,238, 77,190,113,235,132,182,107, 57, 95,213,252,181,159,248,215, 81, 74,
+226,211,188, 85, 74,137,148,130,201, 43, 63, 66,103,126,149,145,225,189,184,137,216, 70,193,109,251,180,127, 27,137, 65,127,131,
+244,119,128,108, 87,143,189,111, 31,235,183,215,  3, 75,  7,148,192, 45, 79, 82, 84, 26,148, 23,235, 34,  2,158, 44,188,243, 97,
+100, 74,168, 50,118, 79,124, 52,202,192, 38,138, 90,158,116,225,109, 66,138, 23,163,200, 36, 80,101,178,  7, 77,188,105,183, 69,
+235,235,131,123,191, 14,117, 58, 46,107, 31, 61,199,124, 11, 64, 38,100,148, 28,246, 34,126,190, 87,108,235, 91,216, 89,186, 88,
+193, 61,202,149,135, 11,117,184,117,202,152, 59, 31,232,130, 68,182,  2,143, 75, 35,137,116, 45,122,197,184,158,146,  7,177, 29,
+220,177, 53,219, 79, 92,244, 32, 54, 93,132,254,107, 62, 89,173,246, 84, 55,107, 55,179,247,167,101,155,222,166,132,193,166,243,
+121,134,219,217, 44,120,240,230, 71,148,159,147,156, 46, 87,188,114,245, 26,166, 61,163, 44, 52,160, 56, 24, 76,248,204,209,101,
+202, 65,  9, 34,227,250, 96, 72,107, 28, 31, 62, 92,240,229,213, 20,191, 92,110,116,  7,214, 22,  6, 26,202,113, 60,134,198,197,
+ 64,223,175,  7,251,148,181,158,  0, 73,180, 29, 20, 57,215,247, 53,151,133, 96,234, 28,131,144,225, 68,224,107,181,225, 27,203,
+ 84,169, 60,105,253,150, 99, 56,184,  4, 15,239,108,198, 47,253,247, 93,172,207,173,117,177,110,128, 38,206,123,231,199,241,103,
+190,248,121,102,139,251, 92, 26,236,178,240, 29,111,156, 47,249,222,157, 67, 36,134,166,171,185,150, 73,110, 55, 45,194, 68,117,
+177, 48,157, 69,251,214,135,167,241, 25, 95,156,130,148,113, 62,254,216, 43, 60,233,255,235,  6,116,  3, 31,188,  9, 87,159,  3,
+165,105,149, 38,  8,133, 73,157, 37, 45,  5,239,173, 26,148,132,171,121,193,109,209,224,154, 36,113, 76, 25, 25,  0, 89,122,206,
+148,230,210,176, 36,228,177,187, 81,228,160, 76, 60,111,155, 43, 70,165,226, 23, 30, 46,216, 45,134,252,109, 19,216,149,150, 42,
+ 40,174, 54, 11,116, 57,166,  2,174, 41,141,195,177, 19, 60, 50,175,200,117,198,217,106,193,181,225,152, 78, 75,206, 91, 75,179,
+ 92, 51,153, 76, 88, 10,135,145,209,193,236,220, 90, 76,145,115,214,105, 78,164, 99,109, 58,118,243,  1, 39,229, 16,155,207, 96,
+188, 15,237,253, 95,213, 45, 56, 96, 17, 90, 19, 82, 27,252, 98, 82,101, 45,172,107,234, 14,186,231, 52,107,167,152,183,134, 98,
+  0, 54,116,104, 10,144, 26,227, 13,185,210,236,120, 79, 48,150,215,  6,  3,222,237, 26, 62,151, 59,222, 93, 59, 86,222,115, 77,
+192,157,135, 39, 81,119,190, 53,132,176,  6, 27, 16,198,198, 46,204, 19,238,185,120,202, 26,120,234,235,195, 59,156, 73,241,244,
+174, 86,175, 32,217,175,235, 79,240,187,248,166, 39,101, 56, 40,249,252,103, 95,224,231,127,241,141, 39,236,237, 54,129,228,146,
+174,119,183,  2, 87,161, 94,221,199,191,125, 15,117,243, 26,191,240,143,238, 80,221, 40,169,178,146,159,125,231,152,207,220,104,
+216, 47, 75,222,124, 39,231,232, 96,135,197,110,193,206,100,192,235,111,223, 98,186,152,177,110, 29,153,232,248,250,155,247,248,
+ 59,111,125,200,165, 74,178,183, 51, 68,134,152,253,223, 59, 55,120,235,216, 29, 15,120,238,112,135, 95,121,231, 22,239,221,123,
+ 72,161,115, 38, 85,201,143,254, 59, 63,201,255,243,238,251,240,254,  3,104, 22,252,249, 63,253, 39,121,238,232,210,175, 65, 64,
+231,  9,  1,253,113,148,123, 31,108,248,100,239,243,222, 82,115,187, 10, 17,252,218,188,190,213,177,109,223,251, 39,253,187,216,
+ 50, 84, 41,199,169, 61, 38,162,  9, 75,207,197, 44,114,232, 68,  4,119,244,232,253, 97,  9, 77, 74, 60,180,220, 80, 51, 42, 29,
+177, 17,217, 78,172, 96,237, 34,122,176,171, 60, 86, 76, 93,189,209,124,239,215,225,246,  2, 87,  9,132,114,145, 54,247, 85, 93,
+ 10,232, 93,242, 83,238, 82,224,191, 64,143,203, 77, 64, 52, 61, 42,117, 43, 65, 11, 36,212,105,128,208,225,253, 86, 85, 45,182,
+ 42,116,111, 55, 26,  6,164,249,111,149, 71,160, 79,112,143,242,216,189,221,252, 91,132, 77, 66, 80,234,216,222,253,164,246, 78,
+ 78,236, 72,101, 41, 49,184,118,  8, 31,222,223,200,222, 58,255,201,247,182,105,248,232,131, 59,140, 46,239,177, 51,205, 24, 23,
+ 37,171, 58,218,196, 30,237,236,177,119, 52,161,110,162,216,206,170,109, 88,180, 13, 46,  3,191,154, 65,151,180,167,243,173,107,
+  4,113,148, 33,154,248,247,215,137, 13,225,158,226,121,111,211,215, 83,192, 13, 66,208,  4,143,246,129,247,186,142,179, 14,222,
+169,211,207, 21,  2,230, 91, 26,  4, 33,174,181,252, 11,175,208,221, 59,251, 22,137,235, 99,  9, 95,159,144,246,246,150,239,188,
+133,253,220,107,156,213, 53,132, 21, 72,197, 47,222,125,143,188, 28, 83,  9,193,108,126,  6,210, 19,154,  8,146, 19, 85,  9,171,
+134, 32, 53, 60,124,152,152, 48,221,183,  8, 60,143,189,230,167, 96, 87,145, 45, 96,  1,149,211,  1,183,229,152, 35,215,226,170,
+138,214,121, 94,173, 74,238,117, 29,206, 38,136,186, 77,244,217,178,188,120,142, 46,233,200,216,176, 66, 48, 46, 53,214,  5,116,
+225, 81,121, 78,221, 90, 78,219, 64, 53, 44,121,195, 74, 14,133,160,238, 26, 68,107,120, 32, 38,236,153,134, 74, 72,174,236, 14,
+ 41, 77,141,148, 26,135,164,234, 90,118,118,119,185, 91, 55,228, 78,113, 56, 40, 24, 82,242,208,  7, 70,187,151, 56, 63, 62,  6,
+ 37, 88,171,156, 46,192, 10,144, 33,176, 18, 18,135, 36,232, 44,170, 16,142,151,176, 78,201,221,175,202,203, 62, 26,194,116, 79,
+ 51,142,235, 63,  8, 64, 26,110,157, 46, 81,151,225,197, 82, 51,109, 59,142, 84, 73,235, 28,173,179, 84, 42,231,196,116,212,193,
+178,159,231,204,172,225, 32,215,172,154,142,151, 67,203,  7,179,154,251,103, 11,164,179,  4, 27, 63,132,141,231, 19,236,163, 88,
+182, 79,188,231,207,242,122,255,246, 19, 18,215, 18,  6,195,  4, 16, 77,186, 14,166,123,166,208,148,246, 67,201,199,191,244,215,
+144, 82,242,225,151,255, 42,  0, 95,250, 29,127,152, 15,110,221,229, 63,248, 19, 63,198,191,249, 47,255, 94, 14, 15,118,249,153,
+ 95,248, 26,255,210,191,255,103, 57, 62,155,241,195, 63,244, 61,252,143, 63,241,239,242,215,127,254, 23,249, 23,126,219, 15, 34,
+149,226, 79,254,248, 95,224,123,127,224, 53,254,192, 63,241,155,185,124,184,207,159,251,171,127,139, 63,247,151,255, 47,254,232,
+ 15,125, 63, 82, 88,180,254, 62, 94,127,243, 35, 86, 77,199, 15,126,254,  5,190,231,139, 47,243,119,190,252,151,120,248,250, 91,
+252,200,191,248,187,249,183,254,232,239,225,198,229,125,190,254,241, 61,126,236, 39,127,138, 95,126,255,109,238,254,165, 63,141,
+ 64,240,147,255,246,239,  3,224,143,253,217,191,204,207,190,253,141,216,253,156, 25,176, 53,255,252,239,254,173,252,190,223,243,
+ 67,124,207, 15,255, 17,126, 93, 95, 61,184, 65, 60,107,208,220,162,242, 92,180,152,121,118,141,225,103,237, 40, 60,237,111,107,
+251,108,129,253,105,199, 93,150,177, 10,239,221,212, 84,  1, 86,199,207, 55,117,148,142, 29,148,155,227,200, 52,180, 73, 26,182,
+136,150,138,145,247,223,198, 25, 41,117,148, 24, 85, 62,182,233,251, 42,221,177,161, 61,125, 19, 56,110, 11, 33,239,205,166, 53,
+ 29, 82,171, 90,166, 28,190, 15,232, 50,196, 68, 99,144,127,115, 75, 56, 35, 30,135, 77, 32, 65,147,170, 97,209, 87,228, 91,237,
+124,177,245,248, 54,  9, 73,232, 83, 96,237,103,245,117,226,223, 23,217,214, 24, 32,  5,116,231, 82,162,144,254,118,174,210,239,
+217, 10,148,166,217, 32,226,183,129,114, 90,196,121,113, 86,114,233,242,  1, 39, 15,103, 48,235,210, 40, 65, 38,239,132,173, 29,
+102,123, 45,133, 21,100,  7,188,118,245, 38, 90, 58,  6,163, 17,174,169, 81, 74,179,127,120,137,178,204, 81, 69, 96, 58,111,168,
+ 93, 71,231, 44,199,245, 60,110, 44,139,117,252,176,102,179, 86,157,221,128,254,164,127, 74, 15,240,177, 53,185,181,214,239, 28,
+175,120,126, 60,228, 78,211,128, 47,121,167,115,155,243, 21,114,147, 32, 92, 36,235, 53,221,219,239, 70,250,104,219, 61,161, 66,
+127,108,221, 63,254,249,190,149,219, 76,152, 31, 31,195,184,141,  5, 75,178, 36,237,128,206,172,226,  8,193, 68, 14, 52, 64, 56,
+153, 70,175,245,166,217, 84,255,197,147,157,  2, 63,113, 99, 95, 55,177, 61, 61,174,226,249,237, 94,  6,123,200,131,241, 78,212,
+214,215, 37,239, 44,234, 77, 23,168,255,123, 66, 70,  4,246,112,  0,157, 71,101,158,202,121,156, 18,204, 93, 96, 80,102,152,198,
+ 96,  8,136, 66,179,178,158,147, 96, 41,131, 98,145,105,  6,114, 68,147, 91,196,116,206,160, 24,162,186,134, 82,192,104,178,203,
+ 14,130,105,211,161,  6, 21, 31,206,230,188,178,183, 71, 99, 13,171,214,113,234, 12,207, 15,  7,156, 19, 56,216,223,231,214,236,
+156, 66,230,156,174,187,200,  0, 17, 48,  8,158, 70,107,180,206,112, 34,131,225,128, 32, 10,112,205,147,241, 61,219,157,206, 79,
+ 83,132, 93, 36,105,143,221,243, 94,175,201,123, 66, 90, 87,161,179,  4,  3, 31,157,231,252,  3, 47, 40,145,236, 23,138, 12, 80,
+ 50,103,233, 13, 74,106,238,172,107, 78,  9,104,165,144,206,162, 75, 77,214,193,229, 61,193,195, 85,234,  2, 52,117,106,121, 63,
+ 58, 90,249, 38, 12,  5,143,226, 91,191,109, 76, 65,145, 67, 89,196,  2, 72,  8,112, 42,225,109,252, 39,198,133, 71,102,234, 33,
+  4,156,115,156,156,205,248,254, 31,249,215,248, 47,254,235,255,153,243,217,130,159,248,143,254, 13,126,251,111,254, 18, 63,250,
+135,254, 61,254,204,127,245, 63,241, 99,191,255,119,241,165, 87,159,231,111,253,253,175,242,135,254,185,223,206, 23, 94,123,137,
+255,242,191,249, 43,252,137,159,250, 43, 92,175,198,252,135,127,252, 15,242,191,252,181,159,230,143,255,103,127,145,143,166,199,
+252, 39,127,228, 15,240,231,254,187,255,149, 92,214,124,254,133, 27, 76, 70, 67,254,238, 79,255, 60,191,243,183,124,145,151, 95,
+184,202, 31,249, 79,255, 91,254,239,127,248, 14,127,242, 15,255,179,252,254, 31,249, 65,126,255,159,248,179,252,169,159,252,139,
+252,150, 47,124,134,223,254,242, 77,254,234, 95,250,223,113,251, 59,116,173,225, 95,253,207,255,123,254,194,255,241, 15, 88,173,
+ 86, 88,103,120,227, 87,238,192,116,202,205, 23,174,242, 55,127,234,207,240,  7,255,216,159,230,205,119, 62,250,181,169,210,241,
+ 27,177,148, 39, 61,210,129,103,243, 40,239,129, 61,126,203,145, 43,244,173,216,239, 70,146,225, 63,217,114,246,153,125,212, 31,
+ 27,248, 95, 24, 28, 84,233,148, 85,  2,193,117,144, 87, 96,151, 49,130, 21,101,188, 22, 85,  1, 85,149,134, 93, 58,130,210,134,
+131, 24, 64, 93, 74, 14,156,219,200, 32,154,  5,200, 50,166,196,222,196,160,218,  3,227,202,252,209,141, 64,234, 77,128,233,  9,
+180,206, 37, 48,158,216,204,209,173,216,180,188,123,106,140,220, 66,196, 43, 25, 55,218,114, 16, 31,168, 94,198,214,218, 56, 79,
+105, 76, 12,166,150, 77, 80,251,255,186, 59,243,216,202,174,251,190,127,206,114,151,119,223,198,101, 54,105,180,203,178, 36,203,
+ 82,237,120, 81,188,  1,110,155,218, 13,218, 24,112, 19,184,168,255,180, 83, 32, 64,209, 38,  5,130,  2,  6,138,180, 64,227, 46,
+105,141, 26, 40,138,182,169,155,182,  6,154,216,109,224,164,177, 93, 27, 65,108,  3, 74, 17, 91,134, 20, 69,171,173, 37,150, 53,
+210,140,102,134, 67,114, 72,190,229, 46,103,233, 31,231, 92,222, 75,206,140,228, 25, 73,142,209,  7, 16, 36, 31,249,222,187,203,
+ 57,191,245,251,251,126,235,232,169, 91, 36, 61,190, 35,175,176,190,119,189, 84, 36,138,112,157,156,234,129,102, 96,191, 34, 70,
+  4,195,212, 33,232, 57, 76,118,209,239, 73, 87, 53,139,237, 69, 16, 52,106,103,228,137, 61,121,209,151,233,117,221,122, 74, 52,
+119,223,247,118, 38,195,130, 99,227,117, 82,165, 25, 20,  5,227, 65, 65, 83, 55, 12, 70,  5, 94,104, 68,170,105, 28, 56, 28, 79,
+109,109,211,  8,  9, 23, 46,  4, 10, 88,211,116,199,236,162,212,166,142,228, 49, 45, 81,149, 10,162, 76,  7,122,171,253, 62,161,
+ 86,113, 84, 17, 94,108, 96,203, 43,182,132, 15,193,138,139, 85, 20,235,130,194, 85, 95,200, 40,209,176, 88,118,204,145,237, 61,
+234,143, 26,181,243,238,142,131, 65,114, 31, 75, 82, 45,195, 49, 14,179, 72,128, 20,143,115,123, 35, 16,222, 72, 21,232,105,181,
+134,205,109,152, 14,195, 26,216, 62, 23,208,221, 89,250,170,153,250,149,177, 47, 13,204,150, 97, 31, 12, 70,  1, 27, 32,117, 28,
+  9,171,194, 57,167, 49,168,107,215,133, 82,221,244,135,169,104,140, 99,109, 92,176,174, 36, 74, 73,246,106,143,148,130,165, 23,
+156, 89,212, 44,113,204,107,139, 84, 10, 82, 77,227, 61, 78, 73,142,166, 41,141,148,220, 49,144,140, 17, 88, 47, 25, 74, 65,145,
+103, 44,107,195, 90, 81,176,181, 44,241, 90,147, 41,201, 40,205,184, 96, 26,214,117,194,  5,107,184,101, 52,225, 84, 89, 50, 72,
+161,170, 45, 53,130,165,173,216, 50, 13, 66,106,106, 83,117, 99,169, 91,219, 29, 51, 98,223, 97, 37,170,107,169, 93, 45,121, 81,
+111, 13,137,120,111, 69,143, 30, 66,120, 31,116,212, 33,140,186, 57, 88, 36,138,163, 90,145,105, 73, 74,104,159,205,156,101,219,
+ 90, 46, 56,203,  2,129, 21, 30, 33,  4,210,251, 64, 75, 46, 37, 39,134, 41, 34, 81, 44,147,  1,216,  6,233, 65, 28,  2,199, 93,
+ 65,134,235,218,123,236,237,254, 77,211, 14, 84, 42, 68,216, 99,175,  2,  2,191, 36,158,126,239,187,238,229, 27,127,252,208,254,
+239, 55, 92,119,148,191,247,137,143,114,251,253,127,155,243, 23, 46,  2,240,187, 95,125,128,143,253,205, 15, 66,185,199, 79,255,
+165,183,240,111, 63,247,191,248,230,255,125,  2,117,251, 58, 27, 91, 23,249,250,131,143,240,123,143, 61, 70,189,156,115,246,249,
+ 77,118,102, 11,236,162,228,219, 79,158,231, 19, 31, 91,225,143,254,236, 73, 62,242,115,239, 71,107,205,135,126,229, 55,216,220,
+216,227,216,218,136, 79,253,210,223,226,190,159,251,135,188,180,189,139, 51,154,175,125,235, 65, 62,249,177,159,133, 69,201,253,
+ 55, 93,207,215,190,243,  8, 79,109,158, 39,145,146,199, 47,206,200,178, 32, 50,161, 71,  5,191,243,217, 79,241,239,127,251,171,
+ 60,240,208, 19, 63,222,186,181,239,  1,176,250,229,119,119,149, 61,113,219,150,220,123,128,179,215,181,131, 96,174,  0,161, 48,
+ 63,106,  4,115,233,115,222,193,112, 26, 70,  7,163,100, 41,178,  9,229,114, 83,129, 30, 71,173,110,  7, 43,  3,152, 22,161,228,
+ 40, 36,140,178, 64,  6,147,  8,210, 36,167,102,121, 41, 97, 79, 50, 14,239,237,  0,105,186,158,125,109,186,126,122,107,200,197,
+229, 90, 32,186,  3,149, 65,112,198,109,217,221, 68,133,188, 36,143,206,216,133, 13,212,146,187, 12, 90,227,145,192,162,233,  0,
+136,137, 14,165,116, 45,  2,130,185,142,199,236,234, 46, 92, 23,135, 67,244, 24,168, 45,234,174, 50, 80,153,144, 69,215,241,127,
+147, 94,  9, 63,139,206,223,134, 44, 60,  4, 30, 61, 71,116,224, 28,218,177,191,121, 55, 54,217,196,118,134,237,129,104,132, 12,
+148,178,237,253, 94,191,137,227,171,235,104,169,217, 89,236,145,231, 57,171,249,144, 36, 79, 73,101, 26, 49, 89,134,201,116,  0,
+ 18,230,203,  5,183,140, 87,241,102,198,247,198, 67,216,220,233,174,107, 59,158,211,158, 99,139,177,168, 77, 36,102, 50, 87,118,
+126,109,150,221,148, 48,111,129,156, 45, 72, 49,146,  7, 73, 21,112, 22,182, 60,152,229,183,159,173, 47,131,169,208,241, 92,205,
+161, 62,187,190, 76,214,119,113, 22,152,245,210, 54, 88,216, 11, 96,186,202,192,169, 51,193,145, 22,121,144,  0,157, 47,  3, 59,
+228, 43,100,232, 87,149,113,170, 37,252,249, 11,225, 60,  7, 41, 52, 11,152, 28, 15,253,104,107,160,148, 93,123, 72,200,174,244,
+ 26,191,167, 89, 78,125,238, 34,230,196, 26,110, 94, 51, 28,166,224,100,160, 76, 80,158,166,129, 97,150,176, 83, 53, 88, 37,112,
+105,152,114, 88,120,207,170, 75, 56,147,228,164,110,193,221, 89,202, 66,192,145, 68, 65, 82,224,234,134, 65,154,  4, 21,100,161,
+152, 11,199, 48,205,152,153,154, 19,163,  1,103, 22, 75,142, 15,  6,108,151, 75, 26, 26,156,183, 88,149,131,153,225, 26,131,202,
+ 71,152, 34,202,151, 14,199, 65,147,163,127,111,156, 60,152,189, 43,249,163, 87, 38, 15, 93,247,  3, 25,113, 79,176,208, 43,185,
+ 63, 94,232,154,146,229, 30,124, 77,  8,172,132, 66, 44, 56,150,  5,194, 35, 43,  5,115,165,  3, 75,164,245,104, 37, 24,106,205,
+  0,197, 12, 65,158, 75,134, 72,142,100, 21, 79,178,  2,179, 57,126,209,224,125, 40,199,247,209, 46,254,208,207,175,205,100,155,
+ 32,109,188,175,191, 30,136,122, 94,237, 26, 93, 98,177,223,243,206,123,248,244,103, 63,191,255,251,135, 62,248, 46, 30,126,244,
+233,125,135, 14, 48, 29, 21,156,223, 14, 36, 19,247,191,253, 78,254,201,103,254, 43,140,114,236,243, 23,120,251, 93,111,226,155,
+223,126,146,157, 23,246,152,222,182,194,123,223,255, 86,190,253,240,247,112, 82, 51,190,110,192, 93,183,223,198,251, 86, 71, 76,
+ 71,  5,119,254,141,127,192,238,172, 98,116, 52,227,175,254,244,125,100,169,230,161,223,251,215,241,106,120,164,144,124,241, 15,
+190,137,  7,222,115,223, 29,124,250, 55,126,139,157,231,126,176, 15,184,170,226, 92,241,175,255,242,199, 49,214,241,235,255,249,
+127,  7,135, 66,253,198,250,115, 67, 40, 89,183,151,207,186,131, 78,197, 93,195, 29,237, 27,165,170,254, 49,  5, 38,230,218,  3,
+135, 68,134, 50,187,237, 59,116, 31,174,191,175,162, 99, 95, 66, 54,  8,255,187, 50, 10, 32,170,149, 33, 89,150, 81,237, 85, 76,
+ 38,  3,202,210, 99, 91, 62, 99,116,200,202,171,101, 64,176,103, 61, 16, 90,157,  4,144, 83,109, 46,189,102,109, 73,190,229, 79,
+ 86,189,123,144,137,110, 57, 24, 31,126,247,209,193,139, 24,152, 16,203,244,101,236,135, 15,243, 78,188,196,187, 96, 92,117, 68,
+ 62,150, 38,150,200,155,208,251, 78, 85, 96, 95, 59,236,204,219,223,219,185, 83, 31,157, 85,105,194,235,124,204,238,211,126,159,
+188,103,229, 92,203,104,101,186, 74,132,171, 35,213,109, 47, 72, 49,254,224,186,107,151, 97,227,122,216,205, 62,136, 51, 84, 52,
+110,184,237, 36,179,106, 73,158,104, 50,149,178, 87,206,209,  8, 50,173, 81, 67,168, 23, 53,211, 35, 19,118,247, 26, 22, 85,195,
+238,178, 66, 99, 40, 27, 56,178, 58,229, 66,185,132,151,202,144,173,239,  7,161, 38,  4, 33,210,117,125, 84,173,187,210,249,171,
+225, 53,148,233,136, 56,218,160, 49, 21, 65,  4,  3, 96,135, 80,173,241,166,123, 77,223,192,239,115,255,167,  7,251,142,  2, 72,
+167,112,235, 42, 60,251,220,101,  2,217, 58,242, 18,196,160, 46,199, 28,146,165,  0,  0, 19,212, 73, 68, 65, 84, 25,132, 15,187,
+176, 13,213, 94,168, 68, 93,220,137,228, 74, 85, 88,131,197,235,212, 43,174,234,240,249,207,191,  0,199,214,122, 99,195, 50,220,
+243, 74,198,209, 69,194, 40,103,108, 73,164, 66, 83, 11,184,213,212, 84, 58,225,135,103, 54,184,101, 60,100,161, 37, 59,101, 67,
+170, 85,192,163,106, 25,240,186, 89,144,153, 93, 36,158,129,147,148, 90,145, 13, 28, 55,214, 21,168, 49, 27,222,146,121,199,197,
+218,144, 36,154, 36,207,216,174, 42,174, 19,154,185, 55,228, 42, 65,226, 16, 73,138,179,150, 53,157,176,225, 26,106,149, 48, 73,
+ 60,167,155, 26,105, 75, 18,157,144,160, 40, 75, 19,156, 81,158,195,145,181, 96, 11, 90,109,132,182,197,213,199,175, 92, 77, 73,
+122, 52, 13,247,231, 74,118,210,183, 83, 94,174,151,183, 24,240, 37, 75,169,248,242,210,114,231,177, 33, 43,118,193,170, 77, 25,
+ 39,193,103, 36,105, 18,114, 52, 33,240,113,124,104,168, 37, 30, 69, 35,  5, 43, 90,177,146, 40, 30, 17,138, 74,215,120, 83,226,
+154,  6, 81,155,253,185,121,119,153,204,252, 53,149,225,189,129,157,157,176,119,165,123,213,126,250, 37, 78,253,150, 27, 79,176,
+ 58, 29,243,232,147,207,237, 63,119,116,125,149,189,217, 65, 18,129,143,252,245, 15,240,155,191,243, 85,110,187,253, 22, 70,195,
+  1,143,253,240,165,  8,204, 17,124,224,254,123,248,231,159,251, 18,222, 59, 70,197,152,123,174, 63,201,  3,143,125,159,119,188,
+253, 24,223,127,161,230, 45,183,223,192,167,255,251, 55,120,247,155,143,242,233, 95,254, 56,255,225,139, 95,226,241,103,182, 89,
+ 95, 25,243,149,  7,254,148, 95,248,213,207,226,189,197, 55, 30, 63, 47,241,245,156,155,111, 60,206,234,116, 20,142,203,214, 80,
+  0,197,  4,134, 67, 62,124,255, 61,124,242,231,127,134,183,253,194,175,  6,231, 80,164,193,184,191,209, 64,185,125,159, 30,127,
+232,247, 59,175,213, 89,190,161, 60,238,209,249,213,230, 42, 62, 71, 95, 33,203,223, 79,  9, 15,238, 72,161, 58,112,156, 34,128,
+211,178, 20,142,142,195,232,206, 56, 35,215,  9,206,195,112,117, 66,109, 13,121,150, 34,164, 97,111,105, 72,144, 84,152, 72, 27,
+ 90,195,142,233,156, 49, 38, 34,172, 27,240,101,119,124, 66,135, 32,175, 53,222,135, 37, 75,219,254,185,142, 30,119, 63,203,238,
+101, 64,237,107,219,146,246,230, 44, 56,146, 36,102,132,146,192,106,166,162,227,109,226,255,238,163,220,101,216,124,109,112, 32,
+ 35, 65, 19, 61,208, 99, 75,132,211,127, 93,155,229,183,239,153, 69,105, 88,161,218,  3, 63,  4,170, 59, 52, 30, 86, 19,156,222,
+ 62,102, 32,222,146, 54,232, 58,188,  7, 90,199,171, 82, 94, 58,117,154, 27,238, 89,  3, 96, 94, 46,209,137,192, 52, 13,206, 86,
+ 84, 75, 79,154,231,212,141,165, 24,103,156,218,188, 72,109, 26,110,212, 57, 85,230,185,119,120,130,167,202, 37,223, 91, 84,112,
+118, 43,192,173, 91, 71, 87,155, 88,133,208, 93,133,162,117,232, 87,  2,206,181,207,215,  6,146, 26, 92, 26,239,109,188, 55, 69,
+168,200,169,241,144, 19,169,227,244,198,  2, 22, 59,151,178,  8,238,247,221, 15, 33,225,189,129,249, 38, 60,187,121,249,236,218,
+ 52,112,113, 47,  8,215,136, 36,148,194,215,215,195,243,167,231,  1, 16,220, 24, 96,212,177,128,165,250,245,221,158,229, 30, 92,
+104, 34, 67, 96, 92,135,131,149, 48,151, 94,214, 17,160,172, 88,115,142,147,131,156,117,  9, 79,204,151, 28, 79, 37,190, 42, 57,
+ 85,150,108,160,208,123,115, 40,  6,108,249,  0,144,195,  6, 37,192, 34, 81,108, 11,139, 51,176,240,150,155, 11,205, 81, 33,168,
+ 42,201,186, 20, 44,154,146,163,105,202,249,237, 25,183, 14, 37,167,231, 53,215, 37, 41,187,182, 97, 37, 73,217, 49,134, 66,105,
+230,166, 97,168, 18, 54, 49, 52, 22,150, 77,195, 89, 39,176, 74, 50,119, 26,101,  5,165,143,129,126, 86,192,176,  6,113, 49, 34,
+245,229,190, 62,249,126,217, 61,185, 74,251,103,221,193, 53,117, 57, 28, 67, 59, 69, 36,101, 32,  1,138, 69, 54,111, 12,126, 62,
+199,169,138,167,206,195,201,105, 74,230,  3, 46,101,152, 15, 40,109,131, 80,  9,185, 86, 56,227, 81, 42, 16,242, 52,214, 82,232,
+140, 92, 25,  6,192,155,110,204, 57, 83, 86,252,176, 44,249,225,102,133, 45,231,216,101,117,192,225, 58, 94,135, 76,125, 63,129,
+138, 36, 94, 50,237,104,101, 95,225, 90, 29,168, 89,158, 56,186,134,181,142,209,112,192,120, 24,234,143, 79, 61,243, 60,239,123,
+247,125,220,113,235, 13,164,137,230,159,254,163, 79,146,101, 41,191,253,251, 15,112,255,253,111,229,225,199,159,197,  8,141,  7,
+110, 58,121,140,225, 96,192,159, 61,242,125,214,223,188,202, 75,223,123,153,119,191,237,205, 60,121,246, 69, 30,124, 98,131,119,
+221,121, 19,207,189,180,193,191,251,221, 47,242, 75,255,236, 63,241,145, 15,190,147, 27,142,223,130, 83,154,199,158,125,145, 15,
+252,212,221,252,212, 91,110,195, 27,207,234,116,192, 39,255,206, 95,161,152, 12,123,199,149,134,227,178, 26,180,230,186,181, 41,
+159,255,212, 47,242,137,127,241, 95, 56,189,177,211, 33,  4, 61, 63,158,135,137,206,219,180,142,210,116,207,253,164, 61,132,142,
+ 97,164,190,182,128,160,159,161, 39,192, 32, 50,192,165, 61,135,162, 34,241, 75, 22,103,179,143, 29,131,233, 24,146,132,233,120,
+200,209,188, 64,139,148,161,200, 72, 68,194, 80,101,140, 83, 77, 83, 65, 46,117,104,119, 15, 90, 93,239, 72, 20, 99,108,236,217,
+ 39, 81, 33,172, 12,159,  1,145, 94,244,240,174,214,221,119,213,203,104,247,143, 63, 58,116, 14, 85, 87,164,234, 50,228,246,222,
+ 46, 99, 38,218, 82, 56,150,189,209, 53,231,187,237,235, 76,231,192,196,161,173, 37,101, 71,108, 35, 99, 12,100,122,115,246,109,
+118,158,  0,149,143,  1, 67,116,136,253, 17, 23,157,244,144,242,109,102, 31,  3,158,180,181, 90, 61,194,163,198,245,130,175, 67,
+173, 22,  7,236,108,243,252,246, 89,150,139, 93,140,169, 88,238,237,210,152, 57,179,217,140,186, 90, 50, 95,204, 40, 23, 37,243,
+221,146, 81, 42, 56,174, 83,164, 80,172,143, 39,156,222,221,101,146, 36,220,125,114, 21,142, 76, 46, 13, 26,138, 60,156,119,107,
+228,132,238,233,174,155,203,103,171,125, 30,123,111,187,118,148,136, 68, 27,171, 99,110, 91, 41, 40,  6, 67,222,113,211, 42, 12,
+198,161, 36,175,117, 87, 13, 56, 76, 19,140, 57, 24,144,182, 78,191,125, 77,235,244,219, 86, 71, 99,120,203,104,141,159, 95, 63,
+198,199,111,189,149,147,199,215, 33, 31,118,193, 81, 53, 59,  8,116,187, 22,144,234, 37,191,247,  3, 80,  3,231, 78,195, 75,231,
+  2,136,206,212, 48,219,220,151,220,188,217,214,220, 87, 20, 76,235,154,220, 58,222, 63,200, 25, 84, 13,105, 83,114, 82, 39,236,
+108,189,204,185,237,243, 44, 94, 58, 69,  1,236,149, 21, 94,123, 84,166,216, 43,155,120, 45,  5,140, 50, 22, 66, 83,100,  9,201,
+164, 96, 51, 79, 25,175, 76,216,170, 12, 71,167, 35,158, 63,191,195,177,201,144,202, 25,142,142,134, 24,  9,147, 65,202, 22,142,
+245, 81,206,217,170,230,136, 82,172, 13, 52,153,214, 92,172, 23,204,141,161,196,211, 72,193, 18, 80, 58, 58,117, 37,225,232, 10,
+ 20, 43,113,223,246,170,155,182, 93,167, 28,172,192,189,154,205,221,221,185,100, 29,249,150,152, 37, 50, 42,134,178,187, 11,112,
+ 28,186, 47,219, 24,172, 41,177,187,123,156,186,176,203,119,247, 22,236, 85,134,178, 92, 98,170,134,198, 89, 26, 99,241, 17,232,
+156, 41, 69,161, 21,215,105,120,239,100,157, 15, 29,191,142,247,173, 30,229,195,199,142,240,209,147, 39,248,240, 13, 43,232,181,
+ 53,244,100,138, 42, 70, 40,173,145,135,122,237,175,169,183,174,117,176, 95, 89, 18,190, 15,178, 75, 91,141,175,228,212, 31,125,
+234, 57, 30,122,244,251,188,252,216,239,243,245, 47,124,  6,128,175,252,225,159,240,223,190,248,127,120,232, 15, 63,199,217, 39,
+254,128, 55,221,118, 35, 31,254,228, 63,166,177,142,251,223,122, 39,223,121,244,233,125,117,173,247,188,237,173, 60,252,248, 51,
+216, 44,101,227,145,151,185,254,196, 81,214,166, 35, 30,248,214,211,184,101,197,123,223,121, 23, 15, 60,248, 24,187,231, 23,188,
+124,238, 34,127,255, 95,254, 22,255,241,215,126,145,181,233,144,175,255,201, 35,252,155,207,127,153, 47,125,230, 87,152,125,247,
+243, 60,244,133,127,197,219,238,186,157,197,238,156, 71,159,122,250,224,113,217, 18,105,106,254,199,175,253, 93,190,240,173,239,
+242,229, 63,254,211,168,102,227,130, 97,252,139,210, 23,255, 73,116,230,253, 50,142,141,223, 95,203,163,221,132,182,165,142,245,
+193,233,166,209,  0,107, 19,144,239,217, 40, 32,134,135,  9,147,241,132,198, 57,102,198,179,158,165,228, 90,146,107, 73,162, 37,
+198,193,106,158, 35, 83,201, 48, 77, 81,168,224,244,234, 72,176,160,211,142,243,189,237,187,245,209,206,251, 13,180, 86,214,245,
+ 10,216,129,182, 39,217, 58,116,149,  6,128,148,137, 14,101, 95,153, 73,116,217, 67,155, 81,247, 65,106,139,186,235,253,183, 36,
+ 49,109, 79,189,253,156,195, 34,  1,206, 35,147, 32, 59,140, 80, 93, 95,221, 69, 39,238,251, 65, 71,204,202,219,210,254,254,123,
+244,116,231,171, 67, 56,129,125,189,  3,115,153,221,237, 66,255,210,201, 46, 24,242,161, 60,126,238,197,179,188,176,117,129,167,
+206,158,226,236,222, 22,167,182,206,227,104,176,214, 35,156, 99,107,107,155,249,206, 54,236,205, 89, 25,229,172,166,176,187, 88,
+210,120,137,200, 51,134, 73,  6,131, 60,176,  2,182, 89,152,141,  6,218,197,190,186, 49, 33, 16, 75,210,142, 25,240,138,176, 93,
+ 25, 89,178,124, 55,151,155,  8,210,241,128,119,140, 10,142,175,142,153, 20,  3,182,208, 28,185,110, 21,198,195,200,129, 32, 59,
+103, 77,175,207,223, 86,114,250,173, 45,113, 25,163, 41, 91,125,130,140,159, 57,186,202, 61,199,215,184,107,186,198, 95, 59,121,
+  3,156, 88,239, 70, 39,175, 53,240,191,210,244, 73, 31,193, 77, 47, 57,152,109,194,198, 38,108,157,  9,138,143,205,146,251,176,
+164,206,163,235,146,235,181,162,  4, 42, 60,198,  4, 85,202,235,211,154,147, 74,162,235,146,205,122,143,239,124,234, 55,209, 79,
+ 63,204,169, 63,250, 10, 27,139,154, 18,137, 17, 33,192, 44,180,226, 45, 67,197,233, 65, 70, 54,202,208, 90,147,104,205,182, 46,
+176,169,102, 52,157,176,181, 51, 35,205,242, 48, 48,130, 96,230, 61,185,144, 44,170,134,235,166, 35,150,120, 42, 15,203,218, 51,
+ 41, 70, 32, 36, 42, 25, 96, 61,228,105, 78,237, 91,106,228, 81,152,235, 31, 12,186,164,160, 61,215, 42, 78, 32, 44,202,171,179,
+217, 87,250,223,120,253,124, 19,197,182,122,253,238, 86, 38,193, 18, 92,133,109, 74,236, 98,201,197,141, 57, 15,238, 46,104,172,
+195, 53, 65,246,121,183,174,169,188,223,167, 96, 31,169,132, 99,233,  8,137, 96,162, 83,214,148,226,230,116,200,219,  7, 83,238,
+152, 76, 57,186, 58, 64,173, 77, 80, 71, 86,144,147, 41, 34,201,175,158, 93,238, 74, 25,122,154,244, 52, 42,232,212, 18, 95, 97,
+162, 73,112,252,253, 63,122, 94,155, 69, 22,176, 22,168,211,159,245,109,203,153,105,129,152, 45, 98, 22,209, 64, 62, 70,148,123,
+161,167, 37, 29, 66,167, 97,211,103,145, 48, 35, 11,125,140,208,239, 12,136, 96, 95, 19, 70, 56,204, 28,127,165,136,184,136,139,
+165,165, 47,173, 77, 48,106,243,249, 95,156, 83,255,113, 62,218,153,204, 55, 92,126,245,208,226, 41,162, 33, 74, 84, 96,115,107,
+ 29,133,146,  7, 23,163, 34, 24,221,149, 17,211, 65,129, 18,  9,133,150, 36, 90,177, 57,171, 89,207, 83,246, 26, 67,174, 37,  3,
+173, 56, 63, 47, 81,  2,182,182,247,162,179, 43,  3,181,167, 51, 97,196,199, 87,  7,241,  6, 90, 31, 98,155,139,253,244,182,183,
+ 14, 29,171, 94,214,203,206,145, 29,240,196,212,145,171,254,112, 70, 27,203,228,253, 30,119,159, 80,198, 31, 42,253,249, 30,218,
+122,159,253,226, 50,239,215,102,230, 94,116,217, 95,170, 34,133,172,138,200,108,209,  5, 23,165,  9,  1, 78,145,198,207,183, 29,
+ 18,218,247,112,  2, 45,136, 79,181,206,204,117,199,148,230,112,100,  5,214, 87, 96, 99, 27,206,109,134,247,200,199, 33,203, 30,
+ 14,201, 82,201, 48, 73,153, 14,114,110, 63,178,206,116, 56, 70,167,197,126,188,180, 53,219,101,148,101,  8, 47,169,109,195,139,
+139, 25,152,138,189,114,198,243,155,115,120,121, 35,204,174,215,132,106, 74,191,223,221, 22, 12, 90, 37,189, 43,181,127,218, 94,
+188,136, 45,135,181,105,  8, 24, 86, 71,188, 99, 50,230,104,154,146,  8,193,182, 41, 57, 63,175,121,102, 54,131,139,139, 64, 73,
+186,108, 66,176, 37,155, 16,116,182,220,217,253,224,175, 45,201,246,217, 65,100,143,200,232,248,  9,238,189,247, 30, 62,122,231,
+189, 12,  7, 25,137,183,252,249,185,115,124,229,217, 39,120,225,225,199,187,145,178,107,217,167, 87,218,159,175,244,183,201, 58,
+156,188, 14,142, 28,131, 60,225, 29,235, 55,114, 75, 62, 98, 94, 47, 17,163,  9,121,211,176,215, 52, 36, 58, 97, 77, 55,108,205,
+106,188,148,252,160,170,168,140,225,133,217, 38, 63,123,253,173,212,214,240,141,147,183,195,168,128, 92,161,156,228, 47, 31,201,
+ 72,128, 41,138, 29,231,185, 69, 67,179, 91,113,163,114,204,247,150,176, 40, 57, 41, 60,197, 64,161,117,202,233,178, 98, 85,107,
+246,202,138,139, 42, 97,108, 13, 47,214,150,220, 90,158,156, 25, 54,202, 57,155,198,162,112,108,224,104,170, 10, 43,193,150,243,
+208,174,152,111,  5,  5,205,141,141,208, 54,121,195,230,214, 15, 58,210,195,131, 37,226, 10,207,147,228, 76, 39, 25,239, 93, 25,
+ 33,178,140,193,104, 72,146, 38, 20, 89,130, 18,112, 68,103,220, 58,200, 89, 69,145, 72, 77,226, 45,206, 90,140,243,156,181,150,
+199, 23, 59,252,207,153,161, 90,150, 52,101,131,169, 74,236,238, 46,118,177,196,197,192,194, 95, 11,120, 78,235, 32,222,114,248,
+177,104, 58, 59,112,185,216,248,234, 84,218,  6,161, 79, 90,164,  1,244,212, 15, 96,133,128,201, 56,  8, 30,100, 41,194,217, 32,
+ 56, 80,238,  5,  3,178, 92, 34,  6, 69, 48,164,105,212,252, 43,210,  0,209, 79, 21,190,137, 36,247, 90,194,124, 23,106,139,119,
+230,202, 99, 14, 77, 29, 12,126, 93,131,171, 66, 86, 88,215, 63,217, 14,189,149,115,237,143, 22, 93,235,251,136,168,106,181, 63,
+198,245, 70,145,202,203,203,252,110, 66,175, 46,139,136,100,221, 91,  8, 58,170,157,173, 79, 32, 77,152,140,135,236, 46,107, 78,
+140,135, 56, 43,177,222,113,253,100,202,172,170,152,102, 25, 90,194, 11, 23,247, 56, 62, 44,216, 92,204, 81,105,138, 45,203, 32,
+163,153,233, 96, 20,204,188, 19,132,217,111, 90,197,113,168,125, 73, 86,215,161, 84, 90, 66,148,118,  7,181,  4, 45, 42,233, 52,
+233, 91,174,116,223,206,136,251,206,240, 15,146,224, 28, 90, 69, 53,111,131,243,108,199,167, 90,128,157,107, 98,134, 44, 59, 56,
+ 76,235,208,247, 57,217,187,221,156,102,122, 31,196, 19,  2,145, 40,247,218,248,152,193,196, 81, 10, 33,163,206,178,140,215, 32,
+ 10, 21, 57, 31, 71,158,204, 65,112, 92,219, 94,112,102, 31,100,138,138, 74,109,211, 41,220,124, 34, 74,125,102, 65,128,197,197,
+192,107, 92,128, 20,100,121,130, 22,146, 60,209,204,234,134, 92,165,108, 47,150,248,114,201,238,114,155,221,186, 97,103,185,192,
+ 59, 27,166, 16,133,194, 56,199, 51,198, 96,235,184,239,170,168,142,  6,161, 84,216,202,245, 38,145,219,189,137,162,207, 74,116,
+  2, 64,253,241,179, 60,138,240,248,152, 30,217, 48,141,112,239,202,144, 60, 73, 24, 36,  9,169, 20, 88,103,121,100, 89,135,114,
+107,227,187, 25,118, 41, 67,139,162, 24,114,252,216,152,108,144, 49, 25, 23,204,151,117,143, 67, 63, 94,119, 41, 46,229,165, 87,
+138,217,250, 17,238, 88, 91,195, 57,203,204,122,126,120,113,151,  7,119,183, 97,119,113,237,226, 36,251, 12,145,241, 92, 91,170,
+102,231, 94,121,207, 86,203, 48, 29, 50,208,188,115,178, 66,102, 27,134, 69, 74,166, 11,154,122,137,118,142, 65,146,161, 88,128,
+ 84,228,137, 96, 36,124,160,148, 21,150,243,203, 57,207, 93,120,145,231,245, 48,236, 73, 21,136,126,238, 58, 50,224, 54, 45,169,
+149, 66, 11, 72,180, 70, 90,207, 88,193,174,245, 12, 16,172, 38,138,243,165, 33,215,138,212,212,172, 14,114,158,221, 43, 17,  8,
+ 10, 44,231, 44,220, 48, 74, 57, 83, 89, 18, 91,115,209,131,171, 75,172,144, 84,206, 81, 74, 25, 64,106,182,129,122, 47,234, 31,
+208, 85,224, 84, 47,168,205,115, 24, 14, 99,165,204,189, 97,142, 29, 94,129,190,215, 25, 42,231,249,193,174,225,246, 97,  0, 32,
+214, 73,144, 85, 94,211, 25, 55, 36, 25, 39,117,193, 68, 41, 20, 30, 37, 53, 74, 40,172, 51, 20, 58,225, 34,142,133,105,216,240,
+224,132,199, 91,143, 55, 65,177,212,251,215, 96,155,219, 36,161, 21,154, 82,105,184, 78,166,126,197,247,252,209,157,122,145,199,
+186,126,143, 25,171, 53,226,165, 13,243,198, 85, 13, 43,211,160,212, 36,  4, 44,107,196,104, 28,102, 90,179, 12,204,  2,210, 34,
+ 48, 57, 13,179, 48, 34,162, 85, 88,192, 38,150, 53,119,151,  1, 24, 44,204, 62,225,195,149, 65, 19, 54,114,  2,155,215,117, 81,
+188,113,  9,111, 79,145, 75, 69,141,112,119, 13,220,200, 73,218, 25,192,246, 75,218, 55, 72, 44,198, 29,252,106,  3,173, 84,134,
+146,115, 58,238,148,197,124,172,182,140,134, 32,  4,147,245, 21,118,231,115,110, 94, 95,197,227, 25,232,148, 65,146,114,113, 49,
+103,109, 56,194,216,154,221,202,114,124,148,179, 93, 86, 12,179,  1,187, 59,123,241, 60,124,152,187, 54, 54,124,206,229,164, 68,
+219,185,242,253, 67,213, 93, 54, 46, 98,159, 91,197, 56,164,157,245,222, 47,195,139,176,230, 90, 39, 47, 85,199,183,110, 76, 48,
+  7,125,153, 84,227, 58, 96,157,111,117,225,117,156,213,238,197,254, 42, 58,226, 86,113, 45,254, 45,149,  2, 97,  5, 77,210,211,
+ 65, 87, 50, 42,210,133, 49,164, 64, 48, 97,195, 57,232, 52,140,243,101, 42,102,159,177,175,223,148,221,235, 91,250,217, 42,114,
+ 34,168,168, 18,167, 68, 24, 41,116,  4,228,113,166,194,154,217,153,195,133,205,240,247,100, 16,240, 11, 66, 34,149,100,154,165,
+  8, 41, 81, 30,230,165,101,105, 44,139,170, 34,145,150,185,245,140,210,130,109,107, 80, 94,112,186,169, 56,101, 12,179,114, 25,
+ 69, 86,  8, 76,125,109,121,164,142,247,107,237, 72,192, 84, 20, 69,200,166,155, 42, 56, 42, 23,181,  0,250,247,180,229,249,111,
+133,125,108,  0, 89,222,180, 58,224,142,213, 53,206, 47, 43,156, 16,236, 52,134,211,243, 24, 72, 72,122,220,247, 81, 63, 32,211,
+ 92,159,107,132,240,140,132, 98, 92,164,236,236, 45,123,169, 89,116,230,206,119, 14,190,105,192, 89,154, 44,229,251, 77, 77,229,
+ 36,207,205, 22,124,115,111, 23,202, 89,  0,209,205,103,215,150,165,247, 57,187, 47, 55, 39,191,223,  2,184, 12, 71,254,124, 15,
+138, 49,119,175,228,220, 62, 24,240,131, 89,197,117,131,132,188,200,152, 59, 24,102,161, 68, 60,175, 96, 42, 44,210,129,161,100,
+111, 89,114,174,169,195, 53, 58,127, 38, 36, 86,107, 55, 66,174,201,135, 25,133,150, 20, 94,160, 19,205,208,  5, 85,205, 60,211,
+ 12,133, 96, 69,194,142,177,172, 42,193, 29, 69,202, 98,144,243,204,214,140, 34, 21,204,235,134,179,198,225,157,227,133,237,  6,
+211, 24, 54, 81, 24,215,176, 52, 22, 47,192, 72, 69,105,130,176, 77, 24, 71,109, 66, 16,218, 52,145,175,192, 68,129, 39, 17,240,
+ 10, 39,142,194,209,181, 80,117,157,207,223, 16,199,206, 43, 56,246,253,255,183, 22, 33, 28,167,140, 99, 61,209, 24, 37,113, 89,
+202, 20,152, 74,184,115, 56, 33,149,138, 84,166,193,138, 75, 17,228,152,113, 92,108,106, 94, 50, 53,231,230, 53, 30, 17, 50,115,
+169,194,169, 84, 21,190,119, 78, 87, 45,248, 34,130, 28,113,128,135, 68,190,247, 87,146, 85,190, 42,167,222, 26,149,150,168, 67,
+ 39,225,103,103,  2, 73,135,245,  1,165, 58, 43, 59, 69,170, 52, 82, 58,166, 42, 46,218,144,229,137, 36,137,253,207,208, 51,244,
+139, 38,100,127,101, 21,141,150, 11, 11,242,255,167,135,212,189,122,143,132,213, 81, 88,228,230, 26,130,145, 86,116,164, 37, 65,
+241,213,143,183,159,223,206,  9,103, 89,212, 59,142, 37,229, 36, 13, 64, 14, 31,130,189, 10,207,104, 52, 36, 85, 10, 45, 53, 74,
+ 72, 36,154,181, 98, 72,109, 29,169, 76,200, 82, 21,199, 72, 36,103,103,243,208, 15,171,203, 64,202,177,220,  5, 83, 94, 89, 66,
+183, 37, 29,145, 34,244,166,181, 11,142, 93, 69,176, 98, 75, 12,228,125, 68,163,139,224,136,219, 44,218, 69,118,166,118,228, 75,
+244,230,210,114, 29,202,223,202,119, 78,189,149,106,109,203,246,222, 29,252,210, 73, 20, 51,105,131,135, 46,234,178, 94, 96,165,
+ 36,181,  2,219,174,131, 50,182,161, 92, 79, 70, 54,213,225, 90,250, 38,204,205,187, 56, 14,103, 77,112,238,194,  7, 39,174,162,
+243,107,127,110, 57, 19, 68,196, 61,180,206,171,137,125,238, 11, 51,216,190, 16,202,212, 74, 69,117, 60,  9, 69,130, 18, 18,131,
+ 64, 10,129,147,138,185,109,216, 90,214,156,218,217,226,166, 66, 49, 78, 20,149,113,148, 30,206, 88,195, 15, 76,197,178,149, 88,
+141, 28,219, 44,102, 33, 16, 49,182,203,208,215, 87,187,192,102,217,132, 64,208,154, 46, 16,235,103,203,237,189,212,145,134,209,
+ 25,152, 55,156,105, 28,199, 82,203, 36,149, 92, 40,151, 60, 52, 43,195, 76, 62,190,107, 61,168, 46, 80,155, 38,146, 81, 34, 24,
+  9, 65,130,160,178,134,157, 89,117,176, 18, 35,123, 32,196,182,157, 99, 45, 88, 65,157,  8, 94,172,150,156, 41,103,161,159,189,
+172, 96,119, 30,214,228,213,238,211,214,145,183,194, 54,237,115,135, 51,246,125,114, 35, 46, 11,252,212,  3, 69,170, 37,119, 23,
+  3,102,214,145,227,200,165, 68,  9,129,104, 12,235,153, 10, 36,135, 77,195,102, 99,120,112,231, 34, 44,103,241, 61, 93,  8, 60,
+117,134,212,  5,199,134, 33, 33,184,113,152,147,106,129,208,146, 65, 34, 25, 72,193, 64,  8,106,235,185,176,177,160,180, 13,207,
+ 45, 97,167, 41,169, 61,236, 44, 13, 59,149,167, 49,112,174, 10,231,176,144, 32,241, 36, 54,136, 62, 13,156,197,154,134, 25,  1,
+ 48,233, 77, 29, 70, 94,157, 13,142,168,172, 67,229,109,177,  8,235,120, 50,134, 19,235,100,227, 34, 76, 46, 45,203,215,117,156,
+ 87, 92,133,179, 23,128,116, 14, 89,213,108,204, 74, 46, 84,158, 90,  8, 94,150,154, 60,151,172, 24,199,245,197,132, 34, 73, 16,
+206, 82,232, 20, 39, 37,167,151,115, 78,217,154,239,206, 27, 42, 37,176,198,225,165,192,213, 53,190,113,120,107,240,175,133, 68,
+204, 69,208,168, 45, 59, 33,151, 87,121,252, 63,200,142,135, 98, 79, 39, 83, 45,  0,  0,  0,  0, 73, 69, 78, 68,174, 66, 96,130,
+  0};
+
diff --git a/source/blender/editors/gpencil/gpencil_paint.c b/source/blender/editors/gpencil/gpencil_paint.c
index 28a54b20277..169443d855f 100644
--- a/source/blender/editors/gpencil/gpencil_paint.c
+++ b/source/blender/editors/gpencil/gpencil_paint.c
@@ -1615,7 +1615,12 @@ static int gpencil_area_exists(bContext *C, ScrArea *satest)
 static int gpencil_draw_modal (bContext *C, wmOperator *op, wmEvent *event)
 {
 	tGPsdata *p= op->customdata;
-	int estate = OPERATOR_PASS_THROUGH; /* default exit state - not handled, so let others have a share of the pie */
+	//int estate = OPERATOR_PASS_THROUGH; /* default exit state - not handled, so let others have a share of the pie */
+	/* currently, grease pencil conflicts with such operators as undo and set object mode
+	   which makes behavior of operator totally unpredictable and crash for some cases.
+	   the only way to solve this proper is to ger rid of pointers to data which can
+	   chage stored in operator custom data (sergey) */
+	int estate = OPERATOR_RUNNING_MODAL;
 	
 	// if (event->type == NDOF_MOTION)
 	//	return OPERATOR_PASS_THROUGH;
@@ -1722,13 +1727,18 @@ static int gpencil_draw_modal (bContext *C, wmOperator *op, wmEvent *event)
 		/* standard undo/redo shouldn't be allowed to execute or else it causes crashes, so catch it here */
 		// FIXME: this is a hardcoded hotkey that can't be changed
 		// TODO: catch redo as well, but how?
-		if (event->type == ZKEY) {
+		if (event->type == ZKEY && event->val == KM_RELEASE) {
 			/* oskey = cmd key on macs as they seem to use cmd-z for undo as well? */
 			if ((event->ctrl) || (event->oskey)) {
 				/* just delete last stroke, which will look like undo to the end user */
 				//printf("caught attempted undo event... deleting last stroke \n");
 				gpencil_frame_delete_laststroke(p->gpl, p->gpf);
-				
+				/* undoing the last line can free p->gpf
+				 * note, could do this in a bit more of an elegant way then a search but it at least prevents a crash */
+				if(BLI_findindex(&p->gpl->frames, p->gpf) == -1) {
+					p->gpf= NULL;
+				}
+
 				/* event handled, so force refresh */
 				ED_region_tag_redraw(p->ar); /* just active area for now, since doing whole screen is too slow */
 				estate = OPERATOR_RUNNING_MODAL; 
diff --git a/source/blender/editors/include/ED_object.h b/source/blender/editors/include/ED_object.h
index 28d0a9520b2..c646ec55506 100644
--- a/source/blender/editors/include/ED_object.h
+++ b/source/blender/editors/include/ED_object.h
@@ -108,7 +108,7 @@ int ED_object_add_generic_get_opts(struct bContext *C, struct wmOperator *op, fl
 struct Object *ED_object_add_type(struct bContext *C, int type, float *loc, float *rot, int enter_editmode, unsigned int layer);
 
 void ED_object_single_users(struct Main *bmain, struct Scene *scene, int full);
-
+void ED_object_single_user(struct Scene *scene, struct Object *ob);
 
 /* object motion paths */
 void ED_objects_clear_paths(struct bContext *C);
diff --git a/source/blender/editors/interface/interface_intern.h b/source/blender/editors/interface/interface_intern.h
index 9b47e103f29..c7a1d860a63 100644
--- a/source/blender/editors/interface/interface_intern.h
+++ b/source/blender/editors/interface/interface_intern.h
@@ -214,7 +214,7 @@ struct uiBut {
 
 	BIFIconID icon;
 	char lock;
-	char dt;
+	char dt; /* drawtype: UI_EMBOSS, UI_EMBOSSN ... etc, copied from the block */
 	char changed; /* could be made into a single flag */
 	unsigned char unit_type; /* so buttons can support unit systems which are not RNA */
 	short modifier_key;
@@ -307,7 +307,8 @@ struct uiBlock {
 	void *drawextra_arg2;
 
 	int flag;
-	char direction, dt;
+	char direction;
+	char dt; /* drawtype: UI_EMBOSS, UI_EMBOSSN ... etc, copied to buttons */
 	short auto_open;
 	double auto_open_last;
 
diff --git a/source/blender/editors/interface/interface_layout.c b/source/blender/editors/interface/interface_layout.c
index 85cc944f03b..4810b3fdf54 100644
--- a/source/blender/editors/interface/interface_layout.c
+++ b/source/blender/editors/interface/interface_layout.c
@@ -367,7 +367,7 @@ static void ui_item_array(uiLayout *layout, uiBlock *block, const char *name, in
 		unit= UI_UNIT_X*0.75;
 		butw= unit;
 		buth= unit;
-		
+
 		if(ptr->type == &RNA_Armature) {
 			bArmature *arm= (bArmature *)ptr->data;
 			layer_used= arm->layer_used;
@@ -379,7 +379,7 @@ static void ui_item_array(uiLayout *layout, uiBlock *block, const char *name, in
 			for(a=0; a<colbuts; a++) {
 				if(layer_used & (1<<(a+b*colbuts))) icon= ICON_LAYER_USED;
 				else icon= ICON_BLANK1;
-					
+
 				but= uiDefAutoButR(block, ptr, prop, a+b*colbuts, "", icon, x + butw*a, y+buth, butw, buth);
 				if(subtype == PROP_LAYER_MEMBER)
 					uiButSetFunc(but, ui_layer_but_cb, but, SET_INT_IN_POINTER(a+b*colbuts));
@@ -387,7 +387,7 @@ static void ui_item_array(uiLayout *layout, uiBlock *block, const char *name, in
 			for(a=0; a<colbuts; a++) {
 				if(layer_used & (1<<(a+len/2+b*colbuts))) icon= ICON_LAYER_USED;
 				else icon= ICON_BLANK1;
-				
+
 				but= uiDefAutoButR(block, ptr, prop, a+len/2+b*colbuts, "", icon, x + butw*a, y, butw, buth);
 				if(subtype == PROP_LAYER_MEMBER)
 					uiButSetFunc(but, ui_layer_but_cb, but, SET_INT_IN_POINTER(a+len/2+b*colbuts));
@@ -422,35 +422,46 @@ static void ui_item_array(uiLayout *layout, uiBlock *block, const char *name, in
 		uiDefButR_prop(block, BUT_NORMAL, 0, name, x, y, UI_UNIT_X*3, UI_UNIT_Y*3, ptr, prop, 0, 0, 0, -1, -1, NULL);
 	}
 	else {
-		if(ELEM(subtype, PROP_COLOR, PROP_COLOR_GAMMA) && !expand)
+		/* note, this block of code is a bit arbitrary and has just been made
+		 * to work with common cases, but may need to be re-worked */
+
+		/* special case, boolean array in a menu, this could be used in a more generic way too */
+		if(ELEM(subtype, PROP_COLOR, PROP_COLOR_GAMMA) && !expand) {
 			uiDefAutoButR(block, ptr, prop, -1, "", ICON_NONE, 0, 0, w, UI_UNIT_Y);
+		}
+		else {
+			int *boolarr= NULL;
 
-		if(!ELEM(subtype, PROP_COLOR, PROP_COLOR_GAMMA) || expand) {
-			/* layout for known array subtypes */
-			char str[3];
+			/* even if 'expand' is fale, expanding anyway */
 
-			for(a=0; a<len; a++) {
-				str[0]= RNA_property_array_item_char(prop, a);
+			/* layout for known array subtypes */
+			char str[3]= {'\0'};
 
-				if(str[0]) {
-					if (icon_only) {
-						str[0] = '\0';
-					}
-					else if(type == PROP_BOOLEAN) {
-						str[1]= '\0';
-					}
-					else {
-						str[1]= ':';
-						str[2]= '\0';
-					}
+			if(!icon_only) {
+				if(type != PROP_BOOLEAN) {
+					str[1]= ':';
 				}
+			}
+
+			/* show checkboxes for rna on a non-emboss block (menu for eg) */
+			if(type == PROP_BOOLEAN && ELEM(layout->root->block->dt, UI_EMBOSSN, UI_EMBOSSP)) {
+				boolarr= MEM_callocN(sizeof(int)*len, "ui_item_array");
+				RNA_property_boolean_get_array(ptr, prop, boolarr);
+			}
 
+			for(a=0; a<len; a++) {
+				if(!icon_only) str[0]= RNA_property_array_item_char(prop, a);
+				if(boolarr) icon= boolarr[a] ? ICON_CHECKBOX_HLT: ICON_CHECKBOX_DEHLT;
 				but= uiDefAutoButR(block, ptr, prop, a, str, icon, 0, 0, w, UI_UNIT_Y);
 				if(slider && but->type==NUM)
 					but->type= NUMSLI;
 				if(toggle && but->type==OPTION)
 					but->type= TOG;
 			}
+
+			if(boolarr) {
+				MEM_freeN(boolarr);
+			}
 		}
 	}
 
@@ -951,13 +962,14 @@ void uiItemFullR(uiLayout *layout, PointerRNA *ptr, PropertyRNA *prop, int index
 	uiBut *but;
 	PropertyType type;
 	char namestr[UI_MAX_NAME_STR];
-	int len, w, h, slider, toggle, expand, icon_only, no_bg;
+	int len, is_array, w, h, slider, toggle, expand, icon_only, no_bg;
 
 	uiBlockSetCurLayout(block, layout);
 
 	/* retrieve info */
 	type= RNA_property_type(prop);
-	len= RNA_property_array_length(ptr, prop);
+	is_array= RNA_property_array_check(prop);
+	len= (is_array) ? RNA_property_array_length(ptr, prop) : 0;
 
 	/* set name and icon */
 	if(!name)
@@ -967,14 +979,16 @@ void uiItemFullR(uiLayout *layout, PointerRNA *ptr, PropertyRNA *prop, int index
 	
 	if(ELEM4(type, PROP_INT, PROP_FLOAT, PROP_STRING, PROP_POINTER))
 		name= ui_item_name_add_colon(name, namestr);
-	else if(type == PROP_BOOLEAN && len && index == RNA_NO_INDEX)
+	else if(type == PROP_BOOLEAN && is_array && index == RNA_NO_INDEX)
 		name= ui_item_name_add_colon(name, namestr);
 	else if(type == PROP_ENUM && index != RNA_ENUM_VALUE)
 		name= ui_item_name_add_colon(name, namestr);
 
 	if(layout->root->type == UI_LAYOUT_MENU) {
-		if(type == PROP_BOOLEAN)
-			icon= (RNA_property_boolean_get(ptr, prop))? ICON_CHECKBOX_HLT: ICON_CHECKBOX_DEHLT;
+		if(type == PROP_BOOLEAN && ((is_array == FALSE) || (index != RNA_NO_INDEX))) {
+			if(is_array) icon= (RNA_property_boolean_get_index(ptr, prop, index)) ? ICON_CHECKBOX_HLT: ICON_CHECKBOX_DEHLT;
+			else         icon= (RNA_property_boolean_get(ptr, prop)) ? ICON_CHECKBOX_HLT: ICON_CHECKBOX_DEHLT;
+		}
 		else if(type == PROP_ENUM && index == RNA_ENUM_VALUE) {
 			int enum_value= RNA_property_enum_get(ptr, prop);
 			if(RNA_property_flag(prop) & PROP_ENUM_FLAG) {
@@ -999,7 +1013,7 @@ void uiItemFullR(uiLayout *layout, PointerRNA *ptr, PropertyRNA *prop, int index
 		uiBlockSetEmboss(block, UI_EMBOSSN);
 	
 	/* array property */
-	if(index == RNA_NO_INDEX && len > 0)
+	if(index == RNA_NO_INDEX && is_array)
 		ui_item_array(layout, block, name, icon, ptr, prop, len, 0, 0, w, h, expand, slider, toggle, icon_only);
 	/* enum item */
 	else if(type == PROP_ENUM && index == RNA_ENUM_VALUE) {
@@ -2745,6 +2759,25 @@ void uiLayoutOperatorButs(const bContext *C, uiLayout *layout, wmOperator *op,in
 		uiItemL(layout, "* Redo Unsupported *", ICON_NONE); // XXX, could give some nicer feedback or not show redo panel at all?
 	}
 
+	/* menu */
+	if(op->type->flag & OPTYPE_PRESET) {
+		/* XXX, no simple way to get WM_MT_operator_presets.bl_label from python! Label remains the same always! */
+		PointerRNA op_ptr;
+		uiLayout *row;
+
+		row= uiLayoutRow(layout, TRUE);
+		uiItemM(row, (bContext *)C, "WM_MT_operator_presets", NULL, ICON_NONE);
+
+		WM_operator_properties_create(&op_ptr, "WM_OT_operator_preset_add");
+		RNA_string_set(&op_ptr, "operator", op->type->idname);
+		op_ptr= uiItemFullO(row, "WM_OT_operator_preset_add", "", ICON_ZOOMIN, op_ptr.data, WM_OP_INVOKE_DEFAULT, 0);
+
+		WM_operator_properties_create(&op_ptr, "WM_OT_operator_preset_add");
+		RNA_string_set(&op_ptr, "operator", op->type->idname);
+		RNA_boolean_set(&op_ptr, "remove_active", 1);
+		op_ptr= uiItemFullO(row, "WM_OT_operator_preset_add", "", ICON_ZOOMOUT, op_ptr.data, WM_OP_INVOKE_DEFAULT, 0);
+	}
+
 	if(op->type->ui) {
 		op->layout= layout;
 		op->type->ui((bContext*)C, op);
@@ -2759,25 +2792,6 @@ void uiLayoutOperatorButs(const bContext *C, uiLayout *layout, wmOperator *op,in
 
 		RNA_pointer_create(&wm->id, op->type->srna, op->properties, &ptr);
 
-		/* menu */
-		if(op->type->flag & OPTYPE_PRESET) {
-			/* XXX, no simple way to get WM_MT_operator_presets.bl_label from python! Label remains the same always! */
-			PointerRNA op_ptr;
-			uiLayout *row;
-
-			row= uiLayoutRow(layout, TRUE);
-			uiItemM(row, (bContext *)C, "WM_MT_operator_presets", NULL, ICON_NONE);
-
-			WM_operator_properties_create(&op_ptr, "WM_OT_operator_preset_add");
-			RNA_string_set(&op_ptr, "operator", op->type->idname);
-			op_ptr= uiItemFullO(row, "WM_OT_operator_preset_add", "", ICON_ZOOMIN, op_ptr.data, WM_OP_INVOKE_DEFAULT, 0);
-
-			WM_operator_properties_create(&op_ptr, "WM_OT_operator_preset_add");
-			RNA_string_set(&op_ptr, "operator", op->type->idname);
-			RNA_boolean_set(&op_ptr, "remove_active", 1);
-			op_ptr= uiItemFullO(row, "WM_OT_operator_preset_add", "", ICON_ZOOMOUT, op_ptr.data, WM_OP_INVOKE_DEFAULT, 0);
-		}
-
 		/* main draw call */
 		empty= uiDefAutoButsRNA(layout, &ptr, check_prop, label_align) == 0;
 
diff --git a/source/blender/editors/interface/interface_regions.c b/source/blender/editors/interface/interface_regions.c
index f7460e77030..8bce27e366b 100644
--- a/source/blender/editors/interface/interface_regions.c
+++ b/source/blender/editors/interface/interface_regions.c
@@ -1188,7 +1188,7 @@ static void ui_block_position(wmWindow *window, ARegion *butregion, uiBut *but,
 	uiBut *bt;
 	uiSafetyRct *saferct;
 	rctf butrct;
-	float aspect;
+	/*float aspect;*/ /*UNUSED*/
 	int xsize, ysize, xof=0, yof=0, center;
 	short dir1= 0, dir2=0;
 	
@@ -1223,7 +1223,7 @@ static void ui_block_position(wmWindow *window, ARegion *butregion, uiBut *but,
 		}
 	}
 	
-	aspect= (float)(block->maxx - block->minx + 4);
+	/*aspect= (float)(block->maxx - block->minx + 4);*/ /*UNUSED*/
 	ui_block_to_window_fl(butregion, but->block, &block->minx, &block->miny);
 	ui_block_to_window_fl(butregion, but->block, &block->maxx, &block->maxy);
 
@@ -1232,7 +1232,7 @@ static void ui_block_position(wmWindow *window, ARegion *butregion, uiBut *but,
 	
 	xsize= block->maxx - block->minx+4; // 4 for shadow
 	ysize= block->maxy - block->miny+4;
-	aspect/= (float)xsize;
+	/*aspect/= (float)xsize;*/ /*UNUSED*/
 
 	if(but) {
 		int left=0, right=0, top=0, down=0;
diff --git a/source/blender/editors/interface/interface_templates.c b/source/blender/editors/interface/interface_templates.c
index 0f5bc5479a0..690d0fe4d6b 100644
--- a/source/blender/editors/interface/interface_templates.c
+++ b/source/blender/editors/interface/interface_templates.c
@@ -39,6 +39,7 @@
 
 #include "BLI_string.h"
 #include "BLI_utildefines.h"
+#include "BLI_ghash.h"
 
 #include "BKE_animsys.h"
 #include "BKE_colortools.h"
@@ -53,6 +54,7 @@
 #include "BKE_displist.h"
 
 #include "ED_screen.h"
+#include "ED_object.h"
 #include "ED_render.h"
 
 #include "RNA_access.h"
@@ -275,18 +277,28 @@ static void template_id_cb(bContext *C, void *arg_litem, void *arg_event)
 			break;
 		case UI_ID_ALONE:
 			if(id) {
+				const int do_scene_obj= (GS(id->name) == ID_OB) &&
+				                        (template->ptr.type == &RNA_SceneObjects);
+
 				/* make copy */
-				if(id_copy(id, &newid, 0) && newid) {
-					/* copy animation actions too */
-					BKE_copy_animdata_id_action(id);
-					/* us is 1 by convention, but RNA_property_pointer_set
-					   will also incremement it, so set it to zero */
-					newid->us= 0;
-
-					/* assign copy */
-					RNA_id_pointer_create(newid, &idptr);
-					RNA_property_pointer_set(&template->ptr, template->prop, idptr);
-					RNA_property_update(C, &template->ptr, template->prop);
+				if(do_scene_obj) {
+					Scene *scene= CTX_data_scene(C);
+					ED_object_single_user(scene, (struct Object *)id);
+					WM_event_add_notifier(C, NC_SCENE|ND_OB_ACTIVE, scene);
+				}
+				else {
+					if(id_copy(id, &newid, 0) && newid) {
+						/* copy animation actions too */
+						BKE_copy_animdata_id_action(id);
+						/* us is 1 by convention, but RNA_property_pointer_set
+						   will also incremement it, so set it to zero */
+						newid->us= 0;
+
+						/* assign copy */
+						RNA_id_pointer_create(newid, &idptr);
+						RNA_property_pointer_set(&template->ptr, template->prop, idptr);
+						RNA_property_update(C, &template->ptr, template->prop);
+					}
 				}
 			}
 			break;
@@ -404,10 +416,7 @@ static void template_ID(bContext *C, uiLayout *layout, TemplateID *template, Str
 
 			sprintf(str, "%d", id->us);
 
-			if(id->us<10)
-				but= uiDefBut(block, BUT, 0, str, 0,0,UI_UNIT_X,UI_UNIT_Y, NULL, 0, 0, 0, 0, "Displays number of users of this data. Click to make a single-user copy.");
-			else
-				but= uiDefBut(block, BUT, 0, str, 0,0,UI_UNIT_X+10,UI_UNIT_Y, NULL, 0, 0, 0, 0, "Displays number of users of this data. Click to make a single-user copy.");
+			but= uiDefBut(block, BUT, 0, str, 0,0,UI_UNIT_X + ((id->us < 10) ? 0:10), UI_UNIT_Y, NULL, 0, 0, 0, 0, "Displays number of users of this data. Click to make a single-user copy.");
 
 			uiButSetNFunc(but, template_id_cb, MEM_dupallocN(template), SET_INT_IN_POINTER(UI_ID_ALONE));
 			if(!id_copy(id, NULL, 1 /* test only */) || (idfrom && idfrom->lib) || !editable)
@@ -2107,7 +2116,7 @@ static void list_item_row(bContext *C, uiLayout *layout, PointerRNA *ptr, Pointe
 	}
 	else if(itemptr->type == &RNA_ShapeKey) {
 		Object *ob= (Object*)activeptr->data;
-		Key *key= (Key*)itemptr->data;
+		Key *key= (Key*)itemptr->id.data;
 
 		split= uiLayoutSplit(sub, 0.75f, 0);
 
@@ -2319,10 +2328,11 @@ static void operator_call_cb(bContext *C, void *UNUSED(arg1), void *arg2)
 
 static void operator_search_cb(const bContext *C, void *UNUSED(arg), const char *str, uiSearchItems *items)
 {
-	wmOperatorType *ot = WM_operatortype_first();
-	
-	for(; ot; ot= ot->next) {
-		
+	GHashIterator *iter= WM_operatortype_iter();
+
+	for( ; !BLI_ghashIterator_isDone(iter); BLI_ghashIterator_step(iter)) {
+		wmOperatorType *ot= BLI_ghashIterator_getValue(iter);
+
 		if(BLI_strcasestr(ot->name, str)) {
 			if(WM_operator_poll((bContext*)C, ot)) {
 				char name[256];
@@ -2342,6 +2352,7 @@ static void operator_search_cb(const bContext *C, void *UNUSED(arg), const char
 			}
 		}
 	}
+	BLI_ghashIterator_free(iter);
 }
 
 void uiTemplateOperatorSearch(uiLayout *layout)
diff --git a/source/blender/editors/interface/interface_utils.c b/source/blender/editors/interface/interface_utils.c
index f660dbb9edd..a3f56192cb5 100644
--- a/source/blender/editors/interface/interface_utils.c
+++ b/source/blender/editors/interface/interface_utils.c
@@ -143,7 +143,7 @@ int uiDefAutoButsRNA(uiLayout *layout, PointerRNA *ptr, int (*check_prop)(Proper
 
 		if(label_align != '\0') {
 			PropertyType type = RNA_property_type(prop);
-			int is_boolean = (type == PROP_BOOLEAN && !RNA_property_array_check(ptr, prop));
+			int is_boolean = (type == PROP_BOOLEAN && !RNA_property_array_check(prop));
 
 			name= RNA_property_ui_name(prop);
 
diff --git a/source/blender/editors/interface/resources.c b/source/blender/editors/interface/resources.c
index f3db6ad11ae..e71f709f89b 100644
--- a/source/blender/editors/interface/resources.c
+++ b/source/blender/editors/interface/resources.c
@@ -1557,7 +1557,7 @@ void init_userdef_do_versions(void)
 		U.autokey_flag &= ~AUTOKEY_FLAG_ONLYKEYINGSET;
 	}
 
-	if (bmain->versionfile < 258 || (bmain->versionfile == 258 && bmain->subversionfile < 1)) {
+	if (bmain->versionfile < 258 || (bmain->versionfile == 258 && bmain->subversionfile < 2)) {
 		bTheme *btheme;
 		for(btheme= U.themes.first; btheme; btheme= btheme->next) {
 			btheme->tnode.noodle_curving = 5;
diff --git a/source/blender/editors/mesh/editmesh.c b/source/blender/editors/mesh/editmesh.c
index ec08bfccda3..4377fb03632 100644
--- a/source/blender/editors/mesh/editmesh.c
+++ b/source/blender/editors/mesh/editmesh.c
@@ -1449,9 +1449,8 @@ static int mesh_separate_material(wmOperator *op, Main *bmain, Scene *scene, Bas
 		/* select the material */
 		EM_select_by_material(em, curr_mat);
 		/* and now separate */
-		if(0==mesh_separate_selected(op, bmain, scene, editbase)) {
-			BKE_mesh_end_editmesh(me, em);
-			return 0;
+		if(em->totfacesel > 0) {
+			mesh_separate_selected(op, bmain, scene, editbase);
 		}
 	}
 
diff --git a/source/blender/editors/mesh/editmesh_mods.c b/source/blender/editors/mesh/editmesh_mods.c
index 9497370a4fa..eb6854d2548 100644
--- a/source/blender/editors/mesh/editmesh_mods.c
+++ b/source/blender/editors/mesh/editmesh_mods.c
@@ -1697,7 +1697,7 @@ void EM_mesh_copy_face_layer(EditMesh *em, wmOperator *op, short type)
 
 
 /* ctrl+c in mesh editmode */
-static void mesh_copy_menu(EditMesh *em, wmOperator *op)
+static void UNUSED_FUNCTION(mesh_copy_menu)(EditMesh *em, wmOperator *op)
 {
 	EditSelection *ese;
 	int ret;
diff --git a/source/blender/editors/mesh/editmesh_tools.c b/source/blender/editors/mesh/editmesh_tools.c
index bfae101d38e..9ff2923f733 100644
--- a/source/blender/editors/mesh/editmesh_tools.c
+++ b/source/blender/editors/mesh/editmesh_tools.c
@@ -3895,7 +3895,7 @@ void MESH_OT_edge_rotate(wmOperatorType *ot)
 
   /* XXX old bevel not ported yet */
 
-static void bevel_menu(EditMesh *em)
+static void UNUSED_FUNCTION(bevel_menu)(EditMesh *em)
 {
 	BME_Mesh *bm;
 	BME_TransData_Head *td;
diff --git a/source/blender/editors/object/object_add.c b/source/blender/editors/object/object_add.c
index fdb1b9dc549..2e44d4031c8 100644
--- a/source/blender/editors/object/object_add.c
+++ b/source/blender/editors/object/object_add.c
@@ -183,7 +183,7 @@ void ED_object_add_generic_props(wmOperatorType *ot, int do_editmode)
 	}
 	
 	RNA_def_float_vector_xyz(ot->srna, "location", 3, NULL, -FLT_MAX, FLT_MAX, "Location", "Location for the newly added object", -FLT_MAX, FLT_MAX);
-	RNA_def_float_rotation(ot->srna, "rotation", 3, NULL, -FLT_MAX, FLT_MAX, "Rotation", "Rotation for the newly added object", -FLT_MAX, FLT_MAX);
+	RNA_def_float_rotation(ot->srna, "rotation", 3, NULL, -FLT_MAX, FLT_MAX, "Rotation", "Rotation for the newly added object", -M_PI * 2.0f, M_PI * 2.0f);
 	
 	prop = RNA_def_boolean_layer_member(ot->srna, "layers", 20, NULL, "Layer", "");
 	RNA_def_property_flag(prop, PROP_HIDDEN);
diff --git a/source/blender/editors/object/object_edit.c b/source/blender/editors/object/object_edit.c
index 142c849eb7b..f0d1164f951 100644
--- a/source/blender/editors/object/object_edit.c
+++ b/source/blender/editors/object/object_edit.c
@@ -723,7 +723,7 @@ static void spot_interactive(Object *ob, int mode)
 }
 #endif
 
-static void special_editmenu(Scene *scene, View3D *v3d)
+static void UNUSED_FUNCTION(special_editmenu)(Scene *scene, View3D *v3d)
 {
 // XXX	static short numcuts= 2;
 	Object *ob= OBACT;
@@ -1345,7 +1345,7 @@ static void copy_attr(Main *bmain, Scene *scene, View3D *v3d, short event)
 	DAG_ids_flush_update(bmain, 0);
 }
 
-static void copy_attr_menu(Main *bmain, Scene *scene, View3D *v3d)
+static void UNUSED_FUNCTION(copy_attr_menu)(Main *bmain, Scene *scene, View3D *v3d)
 {
 	Object *ob;
 	short event;
@@ -1618,7 +1618,7 @@ void OBJECT_OT_shade_smooth(wmOperatorType *ot)
 
 /* ********************** */
 
-static void image_aspect(Scene *scene, View3D *v3d)
+static void UNUSED_FUNCTION(image_aspect)(Scene *scene, View3D *v3d)
 {
 	/* all selected objects with an image map: scale in image aspect */
 	Base *base;
@@ -1693,7 +1693,7 @@ static int vergbaseco(const void *a1, const void *a2)
 }
 
 
-static void auto_timeoffs(Scene *scene, View3D *v3d)
+static void UNUSED_FUNCTION(auto_timeoffs)(Scene *scene, View3D *v3d)
 {
 	Base *base, **basesort, **bs;
 	float start, delta;
@@ -1734,7 +1734,7 @@ static void auto_timeoffs(Scene *scene, View3D *v3d)
 
 }
 
-static void ofs_timeoffs(Scene *scene, View3D *v3d)
+static void UNUSED_FUNCTION(ofs_timeoffs)(Scene *scene, View3D *v3d)
 {
 	float offset=0.0f;
 
@@ -1753,7 +1753,7 @@ static void ofs_timeoffs(Scene *scene, View3D *v3d)
 }
 
 
-static void rand_timeoffs(Scene *scene, View3D *v3d)
+static void UNUSED_FUNCTION(rand_timeoffs)(Scene *scene, View3D *v3d)
 {
 	Base *base;
 	float rand_ofs=0.0f;
diff --git a/source/blender/editors/object/object_relations.c b/source/blender/editors/object/object_relations.c
index 0fb7cf8b640..225e6e73563 100644
--- a/source/blender/editors/object/object_relations.c
+++ b/source/blender/editors/object/object_relations.c
@@ -1402,6 +1402,20 @@ static void single_object_users(Scene *scene, View3D *v3d, int flag)
 	set_sca_new_poins();
 }
 
+/* not an especially efficient function, only added so the single user
+ * button can be functional.*/
+void ED_object_single_user(Scene *scene, Object *ob)
+{
+	Base *base;
+
+	for(base= FIRSTBASE; base; base= base->next) {
+		if(base->object == ob)  base->flag |=  OB_DONE;
+		else					base->flag &= ~OB_DONE;
+	}
+
+	single_object_users(scene, NULL, OB_DONE);
+}
+
 static void new_id_matar(Material **matar, int totcol)
 {
 	ID *id;
diff --git a/source/blender/editors/render/render_update.c b/source/blender/editors/render/render_update.c
index 6548bdb37a9..8910f101b01 100644
--- a/source/blender/editors/render/render_update.c
+++ b/source/blender/editors/render/render_update.c
@@ -60,6 +60,7 @@
 
 #include "RE_engine.h"
 
+#include "ED_node.h"
 #include "ED_render.h"
 
 #include "render_intern.h"	// own include
@@ -214,6 +215,8 @@ static void texture_changed(Main *bmain, Tex *tex)
 	Material *ma;
 	Lamp *la;
 	World *wo;
+	Scene *scene;
+	bNode *node;
 
 	/* icons */
 	BKE_icon_changed(BKE_icon_getid(&tex->id));
@@ -247,6 +250,16 @@ static void texture_changed(Main *bmain, Tex *tex)
 
 		BKE_icon_changed(BKE_icon_getid(&wo->id));
 	}
+
+	/* find compositing nodes */
+	for(scene=bmain->scene.first; scene; scene=scene->id.next) {
+		if(scene->use_nodes && scene->nodetree) {
+			for(node=scene->nodetree->nodes.first; node; node=node->next) {
+				if(node->id == &tex->id)
+					ED_node_changed_update(&scene->id, node);
+			}
+		}
+	}
 }
 
 static void lamp_changed(Main *bmain, Lamp *la)
diff --git a/source/blender/editors/space_console/console_ops.c b/source/blender/editors/space_console/console_ops.c
index 3effea296d7..4707baa279b 100644
--- a/source/blender/editors/space_console/console_ops.c
+++ b/source/blender/editors/space_console/console_ops.c
@@ -675,7 +675,12 @@ static int scrollback_append_exec(bContext *C, wmOperator *op)
 	
 	console_scrollback_limit(sc);
 
-	console_textview_update_rect(sc, ar);
+	/* 'ar' can be null depending on the operator that runs
+	 * rendering with invoke default for eg causes this */
+	if(ar) {
+		console_textview_update_rect(sc, ar);
+	}
+
 	ED_area_tag_redraw(CTX_wm_area(C));
 	
 	return OPERATOR_FINISHED;
diff --git a/source/blender/editors/space_file/file_ops.c b/source/blender/editors/space_file/file_ops.c
index d4253495e97..4dd97c63d40 100644
--- a/source/blender/editors/space_file/file_ops.c
+++ b/source/blender/editors/space_file/file_ops.c
@@ -1159,6 +1159,13 @@ int file_filename_exec(bContext *C, wmOperator *UNUSED(unused))
 	return OPERATOR_FINISHED;
 }
 
+/* TODO, directory operator is non-functional while a library is loaded
+ * until this is properly supported just disable it. */
+static int file_directory_poll(bContext *C)
+{
+	return ED_operator_file_active(C) && filelist_lib(CTX_wm_space_file(C)->files) == NULL;
+}
+
 void FILE_OT_directory(struct wmOperatorType *ot)
 {
 	/* identifiers */
@@ -1169,7 +1176,7 @@ void FILE_OT_directory(struct wmOperatorType *ot)
 	/* api callbacks */
 	ot->invoke= file_directory_invoke;
 	ot->exec= file_directory_exec;
-	ot->poll= ED_operator_file_active; /* <- important, handler is on window level */
+	ot->poll= file_directory_poll; /* <- important, handler is on window level */
 }
 
 void FILE_OT_refresh(struct wmOperatorType *ot)
diff --git a/source/blender/editors/space_file/filelist.c b/source/blender/editors/space_file/filelist.c
index 6736230e84f..d8be312cf39 100644
--- a/source/blender/editors/space_file/filelist.c
+++ b/source/blender/editors/space_file/filelist.c
@@ -602,28 +602,6 @@ short filelist_changed(struct FileList* filelist)
 	return filelist->changed;
 }
 
-static struct ImBuf * filelist_loadimage(struct FileList* filelist, int index)
-{
-	ImBuf *imb = NULL;
-	int fidx = 0;
-	
-	if ( (index < 0) || (index >= filelist->numfiltered) ) {
-		return NULL;
-	}
-	fidx = filelist->fidx[index];
-	imb = filelist->filelist[fidx].image;
-	if (!imb)
-	{
-		if ( (filelist->filelist[fidx].flags & IMAGEFILE) || (filelist->filelist[fidx].flags & MOVIEFILE) ) {
-			imb = IMB_thumb_read(filelist->filelist[fidx].path, THB_NORMAL);
-		} 
-		if (imb) {
-			filelist->filelist[fidx].image = imb;
-		} 
-	}
-	return imb;
-}
-
 struct ImBuf * filelist_getimage(struct FileList* filelist, int index)
 {
 	ImBuf* ibuf = NULL;
diff --git a/source/blender/editors/space_nla/nla_edit.c b/source/blender/editors/space_nla/nla_edit.c
index 77c91b28a63..af99087b0b8 100644
--- a/source/blender/editors/space_nla/nla_edit.c
+++ b/source/blender/editors/space_nla/nla_edit.c
@@ -951,7 +951,7 @@ static int nlaedit_bake_exec (bContext *C, wmOperator *UNUSED(op))
 	return OPERATOR_FINISHED;
 }
 
-static void NLA_OT_bake (wmOperatorType *ot)
+void NLA_OT_bake (wmOperatorType *ot)
 {
 	/* identifiers */
 	ot->name= "Bake Strips";
diff --git a/source/blender/editors/space_node/node_edit.c b/source/blender/editors/space_node/node_edit.c
index 848b037e1cb..274983fd316 100644
--- a/source/blender/editors/space_node/node_edit.c
+++ b/source/blender/editors/space_node/node_edit.c
@@ -1703,7 +1703,7 @@ void NODE_OT_link_viewer(wmOperatorType *ot)
 
 
 /* return 0, nothing done */
-static int node_mouse_groupheader(SpaceNode *snode)
+static int UNUSED_FUNCTION(node_mouse_groupheader)(SpaceNode *snode)
 {
 	bNode *gnode;
 	float mx=0, my=0;
@@ -2018,7 +2018,7 @@ void snode_autoconnect(SpaceNode *snode, int allow_multiple, int replace)
 }
 
 /* can be called from menus too, but they should do own undopush and redraws */
-bNode *node_add_node(SpaceNode *snode, Scene *scene, int type, float locx, float locy)
+bNode *node_add_node(SpaceNode *snode, Main *bmain, Scene *scene, int type, float locx, float locy)
 {
 	bNode *node= NULL, *gnode;
 	
@@ -2033,7 +2033,7 @@ bNode *node_add_node(SpaceNode *snode, Scene *scene, int type, float locx, float
 			return NULL;
 		}
 		else {
-			bNodeTree *ngroup= BLI_findlink(&G.main->nodetree, type-NODE_GROUP_MENU);
+			bNodeTree *ngroup= BLI_findlink(&bmain->nodetree, type-NODE_GROUP_MENU);
 			if(ngroup)
 				node= nodeAddNodeType(snode->edittree, NODE_GROUP, ngroup, NULL);
 		}
@@ -2054,7 +2054,7 @@ bNode *node_add_node(SpaceNode *snode, Scene *scene, int type, float locx, float
 		}
 
 		node_tree_verify_groups(snode->nodetree);
-		ED_node_set_active(G.main, snode->edittree, node);
+		ED_node_set_active(bmain, snode->edittree, node);
 		
 		if(snode->nodetree->type==NTREE_COMPOSIT) {
 			if(ELEM4(node->type, CMP_NODE_R_LAYERS, CMP_NODE_COMPOSITE, CMP_NODE_DEFOCUS, CMP_NODE_OUTPUT_FILE))
@@ -3069,10 +3069,10 @@ static int node_mute_exec(bContext *C, wmOperator *UNUSED(op))
 
 	for(node= snode->edittree->nodes.first; node; node= node->next) {
 		if(node->flag & SELECT) {
-			if(node->inputs.first && node->outputs.first) {
+			/* Be able to mute in-/output nodes as well.  - DingTo
+			if(node->inputs.first && node->outputs.first) { */
 				node->flag ^= NODE_MUTED;
 				snode_tag_changed(snode, node);
-			}
 		}
 	}
 	
@@ -3283,6 +3283,7 @@ void NODE_OT_show_cyclic_dependencies(wmOperatorType *ot)
 
 static int node_add_file_exec(bContext *C, wmOperator *op)
 {
+	Main *bmain= CTX_data_main(C);
 	Scene *scene= CTX_data_scene(C);
 	SpaceNode *snode= CTX_wm_space_node(C);
 	bNode *node;
@@ -3323,7 +3324,7 @@ static int node_add_file_exec(bContext *C, wmOperator *op)
 
 	ED_preview_kill_jobs(C);
 	
-	node = node_add_node(snode, scene, ntype, snode->mx, snode->my);
+	node = node_add_node(snode, bmain, scene, ntype, snode->mx, snode->my);
 	
 	if (!node) {
 		BKE_report(op->reports, RPT_WARNING, "Could not add an image node.");
diff --git a/source/blender/editors/space_node/node_header.c b/source/blender/editors/space_node/node_header.c
index 15b1847ecf1..9f1029d58a0 100644
--- a/source/blender/editors/space_node/node_header.c
+++ b/source/blender/editors/space_node/node_header.c
@@ -64,6 +64,8 @@
 
 static void do_node_add(bContext *C, void *UNUSED(arg), int event)
 {
+	Main *bmain= CTX_data_main(C);
+	Scene *scene= CTX_data_scene(C);
 	SpaceNode *snode= CTX_wm_space_node(C);
 	ScrArea *sa= CTX_wm_area(C);
 	ARegion *ar;
@@ -87,7 +89,7 @@ static void do_node_add(bContext *C, void *UNUSED(arg), int event)
 		else node->flag &= ~NODE_TEST;
 	}
 	
-	node= node_add_node(snode, CTX_data_scene(C), event, snode->mx, snode->my);
+	node= node_add_node(snode, bmain, scene, event, snode->mx, snode->my);
 	
 	/* select previous selection before autoconnect */
 	for(node= snode->edittree->nodes.first; node; node= node->next) {
diff --git a/source/blender/editors/space_node/node_intern.h b/source/blender/editors/space_node/node_intern.h
index d30322d469f..2939676d051 100644
--- a/source/blender/editors/space_node/node_intern.h
+++ b/source/blender/editors/space_node/node_intern.h
@@ -43,6 +43,7 @@ struct wmWindowManager;
 struct bNode;
 struct bNodeSocket;
 struct bNodeLink;
+struct Main;
 
 /* temp data to pass on to modal */
 typedef struct bNodeLinkDrag
@@ -97,7 +98,7 @@ void node_tree_from_ID(ID *id, bNodeTree **ntree, bNodeTree **edittree, int *tre
 void snode_notify(bContext *C, SpaceNode *snode);
 void snode_dag_update(bContext *C, SpaceNode *snode);
 bNode *next_node(bNodeTree *ntree);
-bNode *node_add_node(SpaceNode *snode, Scene *scene, int type, float locx, float locy);
+bNode *node_add_node(SpaceNode *snode, struct Main *bmain, Scene *scene, int type, float locx, float locy);
 void snode_set_context(SpaceNode *snode, Scene *scene);
 void snode_make_group_editable(SpaceNode *snode, bNode *gnode);
 void node_deselectall(SpaceNode *snode);
diff --git a/source/blender/editors/space_node/node_select.c b/source/blender/editors/space_node/node_select.c
index 857405aff4e..c76f4d1ef36 100644
--- a/source/blender/editors/space_node/node_select.c
+++ b/source/blender/editors/space_node/node_select.c
@@ -38,6 +38,7 @@
 
 #include "BKE_context.h"
 #include "BKE_global.h"
+#include "BKE_main.h"
 
 #include "BLI_rect.h"
 #include "BLI_utildefines.h"
@@ -72,7 +73,7 @@ static bNode *node_under_mouse(bNodeTree *ntree, int mx, int my)
 
 /* ****** Click Select ****** */
  
-static bNode *node_mouse_select(SpaceNode *snode, ARegion *ar, const int mval[2], short extend)
+static bNode *node_mouse_select(Main *bmain, SpaceNode *snode, ARegion *ar, const int mval[2], short extend)
 {
 	bNode *node;
 	float mx, my;
@@ -94,7 +95,7 @@ static bNode *node_mouse_select(SpaceNode *snode, ARegion *ar, const int mval[2]
 		else
 			node->flag ^= SELECT;
 			
-		ED_node_set_active(G.main, snode->edittree, node);
+		ED_node_set_active(bmain, snode->edittree, node);
 	}
 
 	return node;
@@ -102,6 +103,7 @@ static bNode *node_mouse_select(SpaceNode *snode, ARegion *ar, const int mval[2]
 
 static int node_select_exec(bContext *C, wmOperator *op)
 {
+	Main *bmain= CTX_data_main(C);
 	SpaceNode *snode= CTX_wm_space_node(C);
 	ARegion *ar= CTX_wm_region(C);
 	int mval[2];
@@ -115,7 +117,7 @@ static int node_select_exec(bContext *C, wmOperator *op)
 	extend = RNA_boolean_get(op->ptr, "extend");
 	
 	/* perform the select */
-	node= node_mouse_select(snode, ar, mval, extend);
+	node= node_mouse_select(bmain, snode, ar, mval, extend);
 	
 	/* send notifiers */
 	WM_event_add_notifier(C, NC_NODE|NA_SELECTED, NULL);
diff --git a/source/blender/editors/space_outliner/CMakeLists.txt b/source/blender/editors/space_outliner/CMakeLists.txt
index 4194d463e10..d969a80a678 100644
--- a/source/blender/editors/space_outliner/CMakeLists.txt
+++ b/source/blender/editors/space_outliner/CMakeLists.txt
@@ -37,8 +37,12 @@ set(INC_SYS
 )
 
 set(SRC
-	outliner.c
+	outliner_draw.c
+	outliner_edit.c
 	outliner_ops.c
+	outliner_select.c
+	outliner_tools.c
+	outliner_tree.c
 	space_outliner.c
 
 	outliner_intern.h
diff --git a/source/blender/editors/space_outliner/outliner.c b/source/blender/editors/space_outliner/outliner.c
deleted file mode 100644
index 93dc96cf9c0..00000000000
--- a/source/blender/editors/space_outliner/outliner.c
+++ /dev/null
@@ -1,5792 +0,0 @@
-/*
- * $Id$
- *
- * ***** BEGIN GPL LICENSE BLOCK *****
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version. 
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * The Original Code is Copyright (C) 2004 Blender Foundation.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
- *
- * ***** END GPL LICENSE BLOCK *****
- */
-
-/** \file blender/editors/space_outliner/outliner.c
- *  \ingroup spoutliner
- */
-
-
-#include <math.h>
-#include <string.h>
-#include <stdlib.h>
-#include <stddef.h>
-
-#include "MEM_guardedalloc.h"
-
-#include "DNA_anim_types.h"
-#include "DNA_armature_types.h"
-#include "DNA_constraint_types.h"
-#include "DNA_camera_types.h"
-#include "DNA_group_types.h"
-#include "DNA_key_types.h"
-#include "DNA_lamp_types.h"
-#include "DNA_material_types.h"
-#include "DNA_mesh_types.h"
-#include "DNA_meta_types.h"
-#include "DNA_particle_types.h"
-#include "DNA_scene_types.h"
-#include "DNA_world_types.h"
-#include "DNA_sequence_types.h"
-#include "DNA_object_types.h"
-
-#include "BLI_blenlib.h"
-#include "BLI_utildefines.h"
-#include "BLI_math_base.h"
-
-#if defined WIN32 && !defined _LIBC
-# include "BLI_fnmatch.h" /* use fnmatch included in blenlib */
-#else
-#  ifndef _GNU_SOURCE
-#    define _GNU_SOURCE
-#  endif
-# include <fnmatch.h>
-#endif
-
-
-#include "BKE_animsys.h"
-#include "BKE_context.h"
-#include "BKE_deform.h"
-#include "BKE_depsgraph.h"
-#include "BKE_fcurve.h"
-#include "BKE_global.h"
-#include "BKE_group.h"
-#include "BKE_library.h"
-#include "BKE_main.h"
-#include "BKE_modifier.h"
-#include "BKE_report.h"
-#include "BKE_scene.h"
-#include "BKE_sequencer.h"
-
-#include "ED_armature.h"
-#include "ED_object.h"
-#include "ED_screen.h"
-#include "ED_util.h"
-
-#include "WM_api.h"
-#include "WM_types.h"
-
-#include "BIF_gl.h"
-#include "BIF_glutil.h"
-
-#include "UI_interface.h"
-#include "UI_interface_icons.h"
-#include "UI_resources.h"
-#include "UI_view2d.h"
-
-#include "RNA_access.h"
-#include "RNA_define.h"
-
-#include "ED_keyframing.h"
-
-#include "outliner_intern.h"
-
-
-#define OL_Y_OFFSET	2
-
-#define OL_TOG_RESTRICT_VIEWX	(UI_UNIT_X*3)
-#define OL_TOG_RESTRICT_SELECTX	(UI_UNIT_X*2)
-#define OL_TOG_RESTRICT_RENDERX	UI_UNIT_X
-
-#define OL_TOGW OL_TOG_RESTRICT_VIEWX
-
-#define OL_RNA_COLX			(UI_UNIT_X*15)
-#define OL_RNA_COL_SIZEX	(UI_UNIT_X*7.5)
-#define OL_RNA_COL_SPACEX	(UI_UNIT_X*2.5)
-
-#define TS_CHUNK	128
-
-#define TREESTORE(a) ((a)?soops->treestore->data+(a)->store_index:NULL)
-
-/* ************* XXX **************** */
-
-static void error(const char *UNUSED(arg), ...) {}
-
-/* ********************************** */
-
-
-/* ******************** PROTOTYPES ***************** */
-static void outliner_draw_tree_element(bContext *C, uiBlock *block, Scene *scene, ARegion *ar, SpaceOops *soops, TreeElement *te, int startx, int *starty);
-static void outliner_do_object_operation(bContext *C, Scene *scene, SpaceOops *soops, ListBase *lb, 
-										 void (*operation_cb)(bContext *C, Scene *scene, TreeElement *, TreeStoreElem *, TreeStoreElem *));
-
-static int group_select_flag(Group *gr);
-
-/* ******************** PERSISTANT DATA ***************** */
-
-static void outliner_storage_cleanup(SpaceOops *soops)
-{
-	TreeStore *ts= soops->treestore;
-	
-	if(ts) {
-		TreeStoreElem *tselem;
-		int a, unused= 0;
-		
-		/* each element used once, for ID blocks with more users to have each a treestore */
-		for(a=0, tselem= ts->data; a<ts->usedelem; a++, tselem++) tselem->used= 0;
-
-		/* cleanup only after reading file or undo step, and always for
-		 * RNA datablocks view in order to save memory */
-		if(soops->storeflag & SO_TREESTORE_CLEANUP) {
-			
-			for(a=0, tselem= ts->data; a<ts->usedelem; a++, tselem++) {
-				if(tselem->id==NULL) unused++;
-			}
-
-			if(unused) {
-				if(ts->usedelem == unused) {
-					MEM_freeN(ts->data);
-					ts->data= NULL;
-					ts->usedelem= ts->totelem= 0;
-				}
-				else {
-					TreeStoreElem *tsnewar, *tsnew;
-					
-					tsnew=tsnewar= MEM_mallocN((ts->usedelem-unused)*sizeof(TreeStoreElem), "new tselem");
-					for(a=0, tselem= ts->data; a<ts->usedelem; a++, tselem++) {
-						if(tselem->id) {
-							*tsnew= *tselem;
-							tsnew++;
-						}
-					}
-					MEM_freeN(ts->data);
-					ts->data= tsnewar;
-					ts->usedelem-= unused;
-					ts->totelem= ts->usedelem;
-				}
-			}
-		}
-	}
-}
-
-static void check_persistant(SpaceOops *soops, TreeElement *te, ID *id, short type, short nr)
-{
-	TreeStore *ts;
-	TreeStoreElem *tselem;
-	int a;
-	
-	/* case 1; no TreeStore */
-	if(soops->treestore==NULL) {
-		soops->treestore= MEM_callocN(sizeof(TreeStore), "treestore");
-	}
-	ts= soops->treestore;
-	
-	/* check if 'te' is in treestore */
-	tselem= ts->data;
-	for(a=0; a<ts->usedelem; a++, tselem++) {
-		if(tselem->id==id && tselem->used==0) {
-			if((type==0 && tselem->type==0) ||(tselem->type==type && tselem->nr==nr)) {
-				te->store_index= a;
-				tselem->used= 1;
-				return;
-			}
-		}
-	}
-	
-	/* add 1 element to treestore */
-	if(ts->usedelem==ts->totelem) {
-		TreeStoreElem *tsnew;
-		
-		tsnew= MEM_mallocN((ts->totelem+TS_CHUNK)*sizeof(TreeStoreElem), "treestore data");
-		if(ts->data) {
-			memcpy(tsnew, ts->data, ts->totelem*sizeof(TreeStoreElem));
-			MEM_freeN(ts->data);
-		}
-		ts->data= tsnew;
-		ts->totelem+= TS_CHUNK;
-	}
-	
-	tselem= ts->data+ts->usedelem;
-	
-	tselem->type= type;
-	if(type) tselem->nr= nr; // we're picky! :)
-	else tselem->nr= 0;
-	tselem->id= id;
-	tselem->used = 0;
-	tselem->flag= TSE_CLOSED;
-	te->store_index= ts->usedelem;
-	
-	ts->usedelem++;
-}
-
-/* ******************** TREE MANAGEMENT ****************** */
-
-void outliner_free_tree(ListBase *lb)
-{
-	
-	while(lb->first) {
-		TreeElement *te= lb->first;
-		
-		outliner_free_tree(&te->subtree);
-		BLI_remlink(lb, te);
-
-		if(te->flag & TE_FREE_NAME) MEM_freeN((void *)te->name);
-		MEM_freeN(te);
-	}
-}
-
-static void outliner_height(SpaceOops *soops, ListBase *lb, int *h)
-{
-	TreeElement *te= lb->first;
-	while(te) {
-		TreeStoreElem *tselem= TREESTORE(te);
-		if((tselem->flag & TSE_CLOSED)==0) 
-			outliner_height(soops, &te->subtree, h);
-		(*h) += UI_UNIT_Y;
-		te= te->next;
-	}
-}
-
-#if 0  // XXX this is currently disabled until te->xend is set correctly
-static void outliner_width(SpaceOops *soops, ListBase *lb, int *w)
-{
-	TreeElement *te= lb->first;
-	while(te) {
-//		TreeStoreElem *tselem= TREESTORE(te);
-		
-		// XXX fixme... te->xend is not set yet
-		if(tselem->flag & TSE_CLOSED) {
-			if (te->xend > *w)
-				*w = te->xend;
-		}
-		outliner_width(soops, &te->subtree, w);
-		te= te->next;
-	}
-}
-#endif
-
-static void outliner_rna_width(SpaceOops *soops, ListBase *lb, int *w, int startx)
-{
-	TreeElement *te= lb->first;
-	while(te) {
-		TreeStoreElem *tselem= TREESTORE(te);
-			// XXX fixme... (currently, we're using a fixed length of 100)!
-		/*if(te->xend) {
-			if(te->xend > *w)
-				*w = te->xend;
-		}*/
-		if(startx+100 > *w)
-			*w = startx+100;
-
-		if((tselem->flag & TSE_CLOSED)==0)
-			outliner_rna_width(soops, &te->subtree, w, startx+UI_UNIT_X);
-		te= te->next;
-	}
-}
-
-static TreeElement *outliner_find_tree_element(ListBase *lb, int store_index)
-{
-	TreeElement *te= lb->first, *tes;
-	while(te) {
-		if(te->store_index==store_index) return te;
-		tes= outliner_find_tree_element(&te->subtree, store_index);
-		if(tes) return tes;
-		te= te->next;
-	}
-	return NULL;
-}
-
-
-
-static ID *outliner_search_back(SpaceOops *soops, TreeElement *te, short idcode)
-{
-	TreeStoreElem *tselem;
-	te= te->parent;
-	
-	while(te) {
-		tselem= TREESTORE(te);
-		if(tselem->type==0 && te->idcode==idcode) return tselem->id;
-		te= te->parent;
-	}
-	return NULL;
-}
-
-struct treesort {
-	TreeElement *te;
-	ID *id;
-	const char *name;
-	short idcode;
-};
-
-static int treesort_alpha(const void *v1, const void *v2)
-{
-	const struct treesort *x1= v1, *x2= v2;
-	int comp;
-	
-	/* first put objects last (hierarchy) */
-	comp= (x1->idcode==ID_OB);
-	if(x2->idcode==ID_OB) comp+=2;
-	
-	if(comp==1) return 1;
-	else if(comp==2) return -1;
-	else if(comp==3) {
-		comp= strcmp(x1->name, x2->name);
-		
-		if( comp>0 ) return 1;
-		else if( comp<0) return -1;
-		return 0;
-	}
-	return 0;
-}
-
-/* this is nice option for later? doesnt look too useful... */
-#if 0
-static int treesort_obtype_alpha(const void *v1, const void *v2)
-{
-	const struct treesort *x1= v1, *x2= v2;
-	
-	/* first put objects last (hierarchy) */
-	if(x1->idcode==ID_OB && x2->idcode!=ID_OB) return 1;
-	else if(x2->idcode==ID_OB && x1->idcode!=ID_OB) return -1;
-	else {
-		/* 2nd we check ob type */
-		if(x1->idcode==ID_OB && x2->idcode==ID_OB) {
-			if( ((Object *)x1->id)->type > ((Object *)x2->id)->type) return 1;
-			else if( ((Object *)x1->id)->type > ((Object *)x2->id)->type) return -1;
-			else return 0;
-		}
-		else {
-			int comp= strcmp(x1->name, x2->name);
-			
-			if( comp>0 ) return 1;
-			else if( comp<0) return -1;
-			return 0;
-		}
-	}
-}
-#endif
-
-/* sort happens on each subtree individual */
-static void outliner_sort(SpaceOops *soops, ListBase *lb)
-{
-	TreeElement *te;
-	TreeStoreElem *tselem;
-	int totelem=0;
-	
-	te= lb->last;
-	if(te==NULL) return;
-	tselem= TREESTORE(te);
-	
-	/* sorting rules; only object lists or deformgroups */
-	if( (tselem->type==TSE_DEFGROUP) || (tselem->type==0 && te->idcode==ID_OB)) {
-		
-		/* count first */
-		for(te= lb->first; te; te= te->next) totelem++;
-		
-		if(totelem>1) {
-			struct treesort *tear= MEM_mallocN(totelem*sizeof(struct treesort), "tree sort array");
-			struct treesort *tp=tear;
-			int skip= 0;
-			
-			for(te= lb->first; te; te= te->next, tp++) {
-				tselem= TREESTORE(te);
-				tp->te= te;
-				tp->name= te->name;
-				tp->idcode= te->idcode;
-				if(tselem->type && tselem->type!=TSE_DEFGROUP) tp->idcode= 0;	// dont sort this
-				tp->id= tselem->id;
-			}
-			/* keep beginning of list */
-			for(tp= tear, skip=0; skip<totelem; skip++, tp++)
-				if(tp->idcode) break;
-			
-			if(skip<totelem)
-				qsort(tear+skip, totelem-skip, sizeof(struct treesort), treesort_alpha);
-			
-			lb->first=lb->last= NULL;
-			tp= tear;
-			while(totelem--) {
-				BLI_addtail(lb, tp->te);
-				tp++;
-			}
-			MEM_freeN(tear);
-		}
-	}
-	
-	for(te= lb->first; te; te= te->next) {
-		outliner_sort(soops, &te->subtree);
-	}
-}
-
-/* Prototype, see functions below */
-static TreeElement *outliner_add_element(SpaceOops *soops, ListBase *lb, void *idv, 
-										 TreeElement *parent, short type, short index);
-
-#define LOG2I(x) (int)(log(x)/M_LN2)
-
-static void outliner_add_passes(SpaceOops *soops, TreeElement *tenla, ID *id, SceneRenderLayer *srl)
-{
-	TreeStoreElem *tselem = NULL;
-	TreeElement *te = NULL;
-
-	/* log stuff is to convert bitflags (powers of 2) to small integers,
-	 * in order to not overflow short tselem->nr */
-	
-	te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_COMBINED));
-	te->name= "Combined";
-	te->directdata= &srl->passflag;
-	
-	/* save cpu cycles, but we add the first to invoke an open/close triangle */
-	tselem = TREESTORE(tenla);
-	if(tselem->flag & TSE_CLOSED)
-		return;
-	
-	te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_Z));
-	te->name= "Z";
-	te->directdata= &srl->passflag;
-	
-	te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_VECTOR));
-	te->name= "Vector";
-	te->directdata= &srl->passflag;
-	
-	te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_NORMAL));
-	te->name= "Normal";
-	te->directdata= &srl->passflag;
-	
-	te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_UV));
-	te->name= "UV";
-	te->directdata= &srl->passflag;
-	
-	te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_MIST));
-	te->name= "Mist";
-	te->directdata= &srl->passflag;
-	
-	te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_INDEXOB));
-	te->name= "Index Object";
-	te->directdata= &srl->passflag;
-	
-	te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_INDEXMA));
-	te->name= "Index Material";
-	te->directdata= &srl->passflag;
-
-	te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_RGBA));
-	te->name= "Color";
-	te->directdata= &srl->passflag;
-	
-	te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_DIFFUSE));
-	te->name= "Diffuse";
-	te->directdata= &srl->passflag;
-	
-	te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_SPEC));
-	te->name= "Specular";
-	te->directdata= &srl->passflag;
-	
-	te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_SHADOW));
-	te->name= "Shadow";
-	te->directdata= &srl->passflag;
-	
-	te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_AO));
-	te->name= "AO";
-	te->directdata= &srl->passflag;
-	
-	te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_REFLECT));
-	te->name= "Reflection";
-	te->directdata= &srl->passflag;
-	
-	te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_REFRACT));
-	te->name= "Refraction";
-	te->directdata= &srl->passflag;
-	
-	te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_INDIRECT));
-	te->name= "Indirect";
-	te->directdata= &srl->passflag;
-
-	te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_ENVIRONMENT));
-	te->name= "Environment";
-	te->directdata= &srl->passflag;
-
-	te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_EMIT));
-	te->name= "Emit";
-	te->directdata= &srl->passflag;
-}
-
-#undef LOG2I
-
-/* special handling of hierarchical non-lib data */
-static void outliner_add_bone(SpaceOops *soops, ListBase *lb, ID *id, Bone *curBone, 
-							  TreeElement *parent, int *a)
-{
-	TreeElement *te= outliner_add_element(soops, lb, id, parent, TSE_BONE, *a);
-	
-	(*a)++;
-	te->name= curBone->name;
-	te->directdata= curBone;
-	
-	for(curBone= curBone->childbase.first; curBone; curBone=curBone->next) {
-		outliner_add_bone(soops, &te->subtree, id, curBone, te, a);
-	}
-}
-
-static void outliner_add_scene_contents(SpaceOops *soops, ListBase *lb, Scene *sce, TreeElement *te)
-{
-	SceneRenderLayer *srl;
-	TreeElement *tenla= outliner_add_element(soops, lb, sce, te, TSE_R_LAYER_BASE, 0);
-	int a;
-	
-	tenla->name= "RenderLayers";
-	for(a=0, srl= sce->r.layers.first; srl; srl= srl->next, a++) {
-		TreeElement *tenlay= outliner_add_element(soops, &tenla->subtree, sce, te, TSE_R_LAYER, a);
-		tenlay->name= srl->name;
-		tenlay->directdata= &srl->passflag;
-		
-		if(srl->light_override)
-			outliner_add_element(soops, &tenlay->subtree, srl->light_override, tenlay, TSE_LINKED_LAMP, 0);
-		if(srl->mat_override)
-			outliner_add_element(soops, &tenlay->subtree, srl->mat_override, tenlay, TSE_LINKED_MAT, 0);
-		
-		outliner_add_passes(soops, tenlay, &sce->id, srl);
-	}
-	
-	outliner_add_element(soops,  lb, sce->world, te, 0, 0);
-}
-
-static TreeElement *outliner_add_element(SpaceOops *soops, ListBase *lb, void *idv, 
-										 TreeElement *parent, short type, short index)
-{
-	TreeElement *te;
-	TreeStoreElem *tselem;
-	ID *id= idv;
-	int a = 0;
-	
-	if(ELEM3(type, TSE_RNA_STRUCT, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM)) {
-		id= ((PointerRNA*)idv)->id.data;
-		if(!id) id= ((PointerRNA*)idv)->data;
-	}
-
-	if(id==NULL) return NULL;
-
-	te= MEM_callocN(sizeof(TreeElement), "tree elem");
-	/* add to the visual tree */
-	BLI_addtail(lb, te);
-	/* add to the storage */
-	check_persistant(soops, te, id, type, index);
-	tselem= TREESTORE(te);	
-	
-	te->parent= parent;
-	te->index= index;	// for data arays
-	if(ELEM3(type, TSE_SEQUENCE, TSE_SEQ_STRIP, TSE_SEQUENCE_DUP));
-	else if(ELEM3(type, TSE_RNA_STRUCT, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM));
-	else if(type==TSE_ANIM_DATA);
-	else {
-		te->name= id->name+2; // default, can be overridden by Library or non-ID data
-		te->idcode= GS(id->name);
-	}
-	
-	if(type==0) {
-
-		/* tuck pointer back in object, to construct hierarchy */
-		if(GS(id->name)==ID_OB) id->newid= (ID *)te;
-		
-		/* expand specific data always */
-		switch(GS(id->name)) {
-		case ID_LI:
-			te->name= ((Library *)id)->name;
-			break;
-		case ID_SCE:
-			outliner_add_scene_contents(soops, &te->subtree, (Scene *)id, te);
-			break;
-		case ID_OB:
-			{
-				Object *ob= (Object *)id;
-				
-				outliner_add_element(soops, &te->subtree, ob->adt, te, TSE_ANIM_DATA, 0);
-				outliner_add_element(soops, &te->subtree, ob->poselib, te, 0, 0); // XXX FIXME.. add a special type for this
-				
-				if(ob->proxy && ob->id.lib==NULL)
-					outliner_add_element(soops, &te->subtree, ob->proxy, te, TSE_PROXY, 0);
-				
-				outliner_add_element(soops, &te->subtree, ob->data, te, 0, 0);
-				
-				if(ob->pose) {
-					bArmature *arm= ob->data;
-					bPoseChannel *pchan;
-					TreeElement *ten;
-					TreeElement *tenla= outliner_add_element(soops, &te->subtree, ob, te, TSE_POSE_BASE, 0);
-					
-					tenla->name= "Pose";
-					
-					if(arm->edbo==NULL && (ob->mode & OB_MODE_POSE)) {	// channels undefined in editmode, but we want the 'tenla' pose icon itself
-						int a= 0, const_index= 1000;	/* ensure unique id for bone constraints */
-						
-						for(pchan= ob->pose->chanbase.first; pchan; pchan= pchan->next, a++) {
-							ten= outliner_add_element(soops, &tenla->subtree, ob, tenla, TSE_POSE_CHANNEL, a);
-							ten->name= pchan->name;
-							ten->directdata= pchan;
-							pchan->prev= (bPoseChannel *)ten;
-							
-							if(pchan->constraints.first) {
-								//Object *target;
-								bConstraint *con;
-								TreeElement *ten1;
-								TreeElement *tenla1= outliner_add_element(soops, &ten->subtree, ob, ten, TSE_CONSTRAINT_BASE, 0);
-								//char *str;
-								
-								tenla1->name= "Constraints";
-								for(con= pchan->constraints.first; con; con= con->next, const_index++) {
-									ten1= outliner_add_element(soops, &tenla1->subtree, ob, tenla1, TSE_CONSTRAINT, const_index);
-#if 0 /* disabled as it needs to be reworked for recoded constraints system */
-									target= get_constraint_target(con, &str);
-									if(str && str[0]) ten1->name= str;
-									else if(target) ten1->name= target->id.name+2;
-									else ten1->name= con->name;
-#endif
-									ten1->name= con->name;
-									ten1->directdata= con;
-									/* possible add all other types links? */
-								}
-							}
-						}
-						/* make hierarchy */
-						ten= tenla->subtree.first;
-						while(ten) {
-							TreeElement *nten= ten->next, *par;
-							tselem= TREESTORE(ten);
-							if(tselem->type==TSE_POSE_CHANNEL) {
-								pchan= (bPoseChannel *)ten->directdata;
-								if(pchan->parent) {
-									BLI_remlink(&tenla->subtree, ten);
-									par= (TreeElement *)pchan->parent->prev;
-									BLI_addtail(&par->subtree, ten);
-									ten->parent= par;
-								}
-							}
-							ten= nten;
-						}
-						/* restore prev pointers */
-						pchan= ob->pose->chanbase.first;
-						if(pchan) pchan->prev= NULL;
-						for(; pchan; pchan= pchan->next) {
-							if(pchan->next) pchan->next->prev= pchan;
-						}
-					}
-					
-					/* Pose Groups */
-					if(ob->pose->agroups.first) {
-						bActionGroup *agrp;
-						TreeElement *ten;
-						TreeElement *tenla= outliner_add_element(soops, &te->subtree, ob, te, TSE_POSEGRP_BASE, 0);
-						int a= 0;
-						
-						tenla->name= "Bone Groups";
-						for (agrp=ob->pose->agroups.first; agrp; agrp=agrp->next, a++) {
-							ten= outliner_add_element(soops, &tenla->subtree, ob, tenla, TSE_POSEGRP, a);
-							ten->name= agrp->name;
-							ten->directdata= agrp;
-						}
-					}
-				}
-				
-				for(a=0; a<ob->totcol; a++) 
-					outliner_add_element(soops, &te->subtree, ob->mat[a], te, 0, a);
-				
-				if(ob->constraints.first) {
-					//Object *target;
-					bConstraint *con;
-					TreeElement *ten;
-					TreeElement *tenla= outliner_add_element(soops, &te->subtree, ob, te, TSE_CONSTRAINT_BASE, 0);
-					int a= 0;
-					//char *str;
-					
-					tenla->name= "Constraints";
-					for(con= ob->constraints.first; con; con= con->next, a++) {
-						ten= outliner_add_element(soops, &tenla->subtree, ob, tenla, TSE_CONSTRAINT, a);
-#if 0 /* disabled due to constraints system targets recode... code here needs review */
-						target= get_constraint_target(con, &str);
-						if(str && str[0]) ten->name= str;
-						else if(target) ten->name= target->id.name+2;
-						else ten->name= con->name;
-#endif
-						ten->name= con->name;
-						ten->directdata= con;
-						/* possible add all other types links? */
-					}
-				}
-				
-				if(ob->modifiers.first) {
-					ModifierData *md;
-					TreeElement *temod = outliner_add_element(soops, &te->subtree, ob, te, TSE_MODIFIER_BASE, 0);
-					int index;
-
-					temod->name = "Modifiers";
-					for (index=0,md=ob->modifiers.first; md; index++,md=md->next) {
-						TreeElement *te = outliner_add_element(soops, &temod->subtree, ob, temod, TSE_MODIFIER, index);
-						te->name= md->name;
-						te->directdata = md;
-
-						if (md->type==eModifierType_Lattice) {
-							outliner_add_element(soops, &te->subtree, ((LatticeModifierData*) md)->object, te, TSE_LINKED_OB, 0);
-						} else if (md->type==eModifierType_Curve) {
-							outliner_add_element(soops, &te->subtree, ((CurveModifierData*) md)->object, te, TSE_LINKED_OB, 0);
-						} else if (md->type==eModifierType_Armature) {
-							outliner_add_element(soops, &te->subtree, ((ArmatureModifierData*) md)->object, te, TSE_LINKED_OB, 0);
-						} else if (md->type==eModifierType_Hook) {
-							outliner_add_element(soops, &te->subtree, ((HookModifierData*) md)->object, te, TSE_LINKED_OB, 0);
-						} else if (md->type==eModifierType_ParticleSystem) {
-							TreeElement *ten;
-							ParticleSystem *psys= ((ParticleSystemModifierData*) md)->psys;
-							
-							ten = outliner_add_element(soops, &te->subtree, ob, te, TSE_LINKED_PSYS, 0);
-							ten->directdata = psys;
-							ten->name = psys->part->id.name+2;
-						}
-					}
-				}
-				if(ob->defbase.first) {
-					bDeformGroup *defgroup;
-					TreeElement *ten;
-					TreeElement *tenla= outliner_add_element(soops, &te->subtree, ob, te, TSE_DEFGROUP_BASE, 0);
-					int a= 0;
-					
-					tenla->name= "Vertex Groups";
-					for (defgroup=ob->defbase.first; defgroup; defgroup=defgroup->next, a++) {
-						ten= outliner_add_element(soops, &tenla->subtree, ob, tenla, TSE_DEFGROUP, a);
-						ten->name= defgroup->name;
-						ten->directdata= defgroup;
-					}
-				}
-				
-				if(ob->dup_group)
-					outliner_add_element(soops, &te->subtree, ob->dup_group, te, 0, 0);	
-				
-			}
-			break;
-		case ID_ME:
-			{
-				Mesh *me= (Mesh *)id;
-				
-				//outliner_add_element(soops, &te->subtree, me->adt, te, TSE_ANIM_DATA, 0);
-				
-				outliner_add_element(soops, &te->subtree, me->key, te, 0, 0);
-				for(a=0; a<me->totcol; a++) 
-					outliner_add_element(soops, &te->subtree, me->mat[a], te, 0, a);
-				/* could do tfaces with image links, but the images are not grouped nicely.
-				   would require going over all tfaces, sort images in use. etc... */
-			}
-			break;
-		case ID_CU:
-			{
-				Curve *cu= (Curve *)id;
-				
-				outliner_add_element(soops, &te->subtree, cu->adt, te, TSE_ANIM_DATA, 0);
-				
-				for(a=0; a<cu->totcol; a++) 
-					outliner_add_element(soops, &te->subtree, cu->mat[a], te, 0, a);
-			}
-			break;
-		case ID_MB:
-			{
-				MetaBall *mb= (MetaBall *)id;
-				for(a=0; a<mb->totcol; a++) 
-					outliner_add_element(soops, &te->subtree, mb->mat[a], te, 0, a);
-			}
-			break;
-		case ID_MA:
-		{
-			Material *ma= (Material *)id;
-			
-			outliner_add_element(soops, &te->subtree, ma->adt, te, TSE_ANIM_DATA, 0);
-			
-			for(a=0; a<MAX_MTEX; a++) {
-				if(ma->mtex[a]) outliner_add_element(soops, &te->subtree, ma->mtex[a]->tex, te, 0, a);
-			}
-		}
-			break;
-		case ID_TE:
-			{
-				Tex *tex= (Tex *)id;
-				
-				outliner_add_element(soops, &te->subtree, tex->adt, te, TSE_ANIM_DATA, 0);
-				outliner_add_element(soops, &te->subtree, tex->ima, te, 0, 0);
-			}
-			break;
-		case ID_CA:
-			{
-				Camera *ca= (Camera *)id;
-				outliner_add_element(soops, &te->subtree, ca->adt, te, TSE_ANIM_DATA, 0);
-			}
-			break;
-		case ID_LA:
-			{
-				Lamp *la= (Lamp *)id;
-				
-				outliner_add_element(soops, &te->subtree, la->adt, te, TSE_ANIM_DATA, 0);
-				
-				for(a=0; a<MAX_MTEX; a++) {
-					if(la->mtex[a]) outliner_add_element(soops, &te->subtree, la->mtex[a]->tex, te, 0, a);
-				}
-			}
-			break;
-		case ID_WO:
-			{
-				World *wrld= (World *)id;
-				
-				outliner_add_element(soops, &te->subtree, wrld->adt, te, TSE_ANIM_DATA, 0);
-				
-				for(a=0; a<MAX_MTEX; a++) {
-					if(wrld->mtex[a]) outliner_add_element(soops, &te->subtree, wrld->mtex[a]->tex, te, 0, a);
-				}
-			}
-			break;
-		case ID_KE:
-			{
-				Key *key= (Key *)id;
-				
-				outliner_add_element(soops, &te->subtree, key->adt, te, TSE_ANIM_DATA, 0);
-			}
-			break;
-		case ID_AC:
-			{
-				// XXX do we want to be exposing the F-Curves here?
-				//bAction *act= (bAction *)id;
-			}
-			break;
-		case ID_AR:
-			{
-				bArmature *arm= (bArmature *)id;
-				int a= 0;
-				
-				if(arm->edbo) {
-					EditBone *ebone;
-					TreeElement *ten;
-					
-					for (ebone = arm->edbo->first; ebone; ebone=ebone->next, a++) {
-						ten= outliner_add_element(soops, &te->subtree, id, te, TSE_EBONE, a);
-						ten->directdata= ebone;
-						ten->name= ebone->name;
-						ebone->temp= ten;
-					}
-					/* make hierarchy */
-					ten= te->subtree.first;
-					while(ten) {
-						TreeElement *nten= ten->next, *par;
-						ebone= (EditBone *)ten->directdata;
-						if(ebone->parent) {
-							BLI_remlink(&te->subtree, ten);
-							par= ebone->parent->temp;
-							BLI_addtail(&par->subtree, ten);
-							ten->parent= par;
-						}
-						ten= nten;
-					}
-				}
-				else {
-					/* do not extend Armature when we have posemode */
-					tselem= TREESTORE(te->parent);
-					if( GS(tselem->id->name)==ID_OB && ((Object *)tselem->id)->mode & OB_MODE_POSE);
-					else {
-						Bone *curBone;
-						for (curBone=arm->bonebase.first; curBone; curBone=curBone->next){
-							outliner_add_bone(soops, &te->subtree, id, curBone, te, &a);
-						}
-					}
-				}
-			}
-			break;
-		}
-	}
-	else if(type==TSE_ANIM_DATA) {
-		AnimData *adt= (AnimData *)idv;
-		
-		/* this element's info */
-		te->name= "Animation";
-		
-		/* Action */
-		outliner_add_element(soops, &te->subtree, adt->action, te, 0, 0);
-		
-		/* Drivers */
-		if (adt->drivers.first) {
-			TreeElement *ted= outliner_add_element(soops, &te->subtree, adt, te, TSE_DRIVER_BASE, 0);
-			ID *lastadded= NULL;
-			FCurve *fcu;
-			
-			ted->name= "Drivers";
-		
-			for (fcu= adt->drivers.first; fcu; fcu= fcu->next) {
-				if (fcu->driver && fcu->driver->variables.first)  {
-					ChannelDriver *driver= fcu->driver;
-					DriverVar *dvar;
-					
-					for (dvar= driver->variables.first; dvar; dvar= dvar->next) {
-						/* loop over all targets used here */
-						DRIVER_TARGETS_USED_LOOPER(dvar) 
-						{
-							if (lastadded != dtar->id) {
-								// XXX this lastadded check is rather lame, and also fails quite badly...
-								outliner_add_element(soops, &ted->subtree, dtar->id, ted, TSE_LINKED_OB, 0);
-								lastadded= dtar->id;
-							}
-						}
-						DRIVER_TARGETS_LOOPER_END
-					}
-				}
-			}
-		}
-		
-		/* NLA Data */
-		if (adt->nla_tracks.first) {
-			TreeElement *tenla= outliner_add_element(soops, &te->subtree, adt, te, TSE_NLA, 0);
-			NlaTrack *nlt;
-			int a= 0;
-			
-			tenla->name= "NLA Tracks";
-			
-			for (nlt= adt->nla_tracks.first; nlt; nlt= nlt->next) {
-				TreeElement *tenlt= outliner_add_element(soops, &tenla->subtree, nlt, tenla, TSE_NLA_TRACK, a);
-				NlaStrip *strip;
-				TreeElement *ten;
-				int b= 0;
-				
-				tenlt->name= nlt->name;
-				
-				for (strip=nlt->strips.first; strip; strip=strip->next, b++) {
-					ten= outliner_add_element(soops, &tenlt->subtree, strip->act, tenlt, TSE_NLA_ACTION, b);
-					if(ten) ten->directdata= strip;
-				}
-			}
-		}
-	}
-	else if(type==TSE_SEQUENCE) {
-		Sequence *seq= (Sequence*) idv;
-		Sequence *p;
-
-		/*
-		 * The idcode is a little hack, but the outliner
-		 * only check te->idcode if te->type is equal to zero,
-		 * so this is "safe".
-		 */
-		te->idcode= seq->type;
-		te->directdata= seq;
-
-		if(seq->type<7) {
-			/*
-			 * This work like the sequence.
-			 * If the sequence have a name (not default name)
-			 * show it, in other case put the filename.
-			 */
-			if(strcmp(seq->name, "SQ"))
-				te->name= seq->name;
-			else {
-				if((seq->strip) && (seq->strip->stripdata))
-					te->name= seq->strip->stripdata->name;
-				else
-					te->name= "SQ None";
-			}
-
-			if(seq->type==SEQ_META) {
-				te->name= "Meta Strip";
-				p= seq->seqbase.first;
-				while(p) {
-					outliner_add_element(soops, &te->subtree, (void*)p, te, TSE_SEQUENCE, index);
-					p= p->next;
-				}
-			}
-			else
-				outliner_add_element(soops, &te->subtree, (void*)seq->strip, te, TSE_SEQ_STRIP, index);
-		}
-		else
-			te->name= "Effect";
-	}
-	else if(type==TSE_SEQ_STRIP) {
-		Strip *strip= (Strip *)idv;
-
-		if(strip->dir)
-			te->name= strip->dir;
-		else
-			te->name= "Strip None";
-		te->directdata= strip;
-	}
-	else if(type==TSE_SEQUENCE_DUP) {
-		Sequence *seq= (Sequence*)idv;
-
-		te->idcode= seq->type;
-		te->directdata= seq;
-		te->name= seq->strip->stripdata->name;
-	}
-	else if(ELEM3(type, TSE_RNA_STRUCT, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM)) {
-		PointerRNA pptr, propptr, *ptr= (PointerRNA*)idv;
-		PropertyRNA *prop, *iterprop;
-		PropertyType proptype;
-		int a, tot;
-
-		/* we do lazy build, for speed and to avoid infinite recusion */
-
-		if(ptr->data == NULL) {
-			te->name= "(empty)";
-		}
-		else if(type == TSE_RNA_STRUCT) {
-			/* struct */
-			te->name= RNA_struct_name_get_alloc(ptr, NULL, 0);
-
-			if(te->name)
-				te->flag |= TE_FREE_NAME;
-			else
-				te->name= (char*)RNA_struct_ui_name(ptr->type);
-
-			iterprop= RNA_struct_iterator_property(ptr->type);
-			tot= RNA_property_collection_length(ptr, iterprop);
-
-			/* auto open these cases */
-			if(!parent || (RNA_property_type(parent->directdata)) == PROP_POINTER)
-				if(!tselem->used)
-					tselem->flag &= ~TSE_CLOSED;
-
-			if(!(tselem->flag & TSE_CLOSED)) {
-				for(a=0; a<tot; a++)
-					outliner_add_element(soops, &te->subtree, (void*)ptr, te, TSE_RNA_PROPERTY, a);
-			}
-			else if(tot)
-				te->flag |= TE_LAZY_CLOSED;
-
-			te->rnaptr= *ptr;
-		}
-		else if(type == TSE_RNA_PROPERTY) {
-			/* property */
-			iterprop= RNA_struct_iterator_property(ptr->type);
-			RNA_property_collection_lookup_int(ptr, iterprop, index, &propptr);
-
-			prop= propptr.data;
-			proptype= RNA_property_type(prop);
-
-			te->name= (char*)RNA_property_ui_name(prop);
-			te->directdata= prop;
-			te->rnaptr= *ptr;
-
-			if(proptype == PROP_POINTER) {
-				pptr= RNA_property_pointer_get(ptr, prop);
-
-				if(pptr.data) {
-					if(!(tselem->flag & TSE_CLOSED))
-						outliner_add_element(soops, &te->subtree, (void*)&pptr, te, TSE_RNA_STRUCT, -1);
-					else
-						te->flag |= TE_LAZY_CLOSED;
-				}
-			}
-			else if(proptype == PROP_COLLECTION) {
-				tot= RNA_property_collection_length(ptr, prop);
-
-				if(!(tselem->flag & TSE_CLOSED)) {
-					for(a=0; a<tot; a++) {
-						RNA_property_collection_lookup_int(ptr, prop, a, &pptr);
-						outliner_add_element(soops, &te->subtree, (void*)&pptr, te, TSE_RNA_STRUCT, -1);
-					}
-				}
-				else if(tot)
-					te->flag |= TE_LAZY_CLOSED;
-			}
-			else if(ELEM3(proptype, PROP_BOOLEAN, PROP_INT, PROP_FLOAT)) {
-				tot= RNA_property_array_length(ptr, prop);
-
-				if(!(tselem->flag & TSE_CLOSED)) {
-					for(a=0; a<tot; a++)
-						outliner_add_element(soops, &te->subtree, (void*)ptr, te, TSE_RNA_ARRAY_ELEM, a);
-				}
-				else if(tot)
-					te->flag |= TE_LAZY_CLOSED;
-			}
-		}
-		else if(type == TSE_RNA_ARRAY_ELEM) {
-			char c;
-
-			prop= parent->directdata;
-
-			te->directdata= prop;
-			te->rnaptr= *ptr;
-			te->index= index;
-
-			c= RNA_property_array_item_char(prop, index);
-
-			te->name= MEM_callocN(sizeof(char)*20, "OutlinerRNAArrayName");
-			if(c) sprintf((char *)te->name, "  %c", c);
-			else sprintf((char *)te->name, "  %d", index+1);
-			te->flag |= TE_FREE_NAME;
-		}
-	}
-	else if(type == TSE_KEYMAP) {
-		wmKeyMap *km= (wmKeyMap *)idv;
-		wmKeyMapItem *kmi;
-		char opname[OP_MAX_TYPENAME];
-		
-		te->directdata= idv;
-		te->name= km->idname;
-		
-		if(!(tselem->flag & TSE_CLOSED)) {
-			a= 0;
-			
-			for (kmi= km->items.first; kmi; kmi= kmi->next, a++) {
-				const char *key= WM_key_event_string(kmi->type);
-				
-				if(key[0]) {
-					wmOperatorType *ot= NULL;
-					
-					if(kmi->propvalue);
-					else ot= WM_operatortype_find(kmi->idname, 0);
-					
-					if(ot || kmi->propvalue) {
-						TreeElement *ten= outliner_add_element(soops, &te->subtree, kmi, te, TSE_KEYMAP_ITEM, a);
-						
-						ten->directdata= kmi;
-						
-						if(kmi->propvalue) {
-							ten->name= "Modal map, not yet";
-						}
-						else {
-							WM_operator_py_idname(opname, ot->idname);
-							ten->name= BLI_strdup(opname);
-							ten->flag |= TE_FREE_NAME;
-						}
-					}
-				}
-			}
-		}
-		else 
-			te->flag |= TE_LAZY_CLOSED;
-	}
-
-	return te;
-}
-
-static void outliner_make_hierarchy(SpaceOops *soops, ListBase *lb)
-{
-	TreeElement *te, *ten, *tep;
-	TreeStoreElem *tselem;
-
-	/* build hierarchy */
-	// XXX also, set extents here...
-	te= lb->first;
-	while(te) {
-		ten= te->next;
-		tselem= TREESTORE(te);
-		
-		if(tselem->type==0 && te->idcode==ID_OB) {
-			Object *ob= (Object *)tselem->id;
-			if(ob->parent && ob->parent->id.newid) {
-				BLI_remlink(lb, te);
-				tep= (TreeElement *)ob->parent->id.newid;
-				BLI_addtail(&tep->subtree, te);
-				// set correct parent pointers
-				for(te=tep->subtree.first; te; te= te->next) te->parent= tep;
-			}
-		}
-		te= ten;
-	}
-}
-
-/* Helped function to put duplicate sequence in the same tree. */
-static int need_add_seq_dup(Sequence *seq)
-{
-	Sequence *p;
-
-	if((!seq->strip) || (!seq->strip->stripdata) || (!seq->strip->stripdata->name))
-		return(1);
-
-	/*
-	 * First check backward, if we found a duplicate
-	 * sequence before this, don't need it, just return.
-	 */
-	p= seq->prev;
-	while(p) {
-		if((!p->strip) || (!p->strip->stripdata) || (!p->strip->stripdata->name)) {
-			p= p->prev;
-			continue;
-		}
-
-		if(!strcmp(p->strip->stripdata->name, seq->strip->stripdata->name))
-			return(2);
-		p= p->prev;
-	}
-
-	p= seq->next;
-	while(p) {
-		if((!p->strip) || (!p->strip->stripdata) || (!p->strip->stripdata->name)) {
-			p= p->next;
-			continue;
-		}
-
-		if(!strcmp(p->strip->stripdata->name, seq->strip->stripdata->name))
-			return(0);
-		p= p->next;
-	}
-	return(1);
-}
-
-static void add_seq_dup(SpaceOops *soops, Sequence *seq, TreeElement *te, short index)
-{
-	TreeElement *ch;
-	Sequence *p;
-
-	p= seq;
-	while(p) {
-		if((!p->strip) || (!p->strip->stripdata) || (!p->strip->stripdata->name)) {
-			p= p->next;
-			continue;
-		}
-
-		if(!strcmp(p->strip->stripdata->name, seq->strip->stripdata->name))
-			ch= outliner_add_element(soops, &te->subtree, (void*)p, te, TSE_SEQUENCE, index);
-		p= p->next;
-	}
-}
-
-static int outliner_filter_has_name(TreeElement *te, const char *name, int flags)
-{
-#if 0
-	int found= 0;
-	
-	/* determine if match */
-	if (flags & SO_FIND_CASE_SENSITIVE) {
-		if (flags & SO_FIND_COMPLETE)
-			found= strcmp(te->name, name) == 0;
-		else
-			found= strstr(te->name, name) != NULL;
-	}
-	else {
-		if (flags & SO_FIND_COMPLETE)
-			found= BLI_strcasecmp(te->name, name) == 0;
-		else
-			found= BLI_strcasestr(te->name, name) != NULL;
-	}
-#else
-	
-	int fn_flag= 0;
-	int found= 0;
-	
-	if ((flags & SO_FIND_CASE_SENSITIVE) == 0)
-		fn_flag |= FNM_CASEFOLD;
-
-	if (flags & SO_FIND_COMPLETE) {
-		found= fnmatch(name, te->name, fn_flag)==0;
-	}
-	else {
-		char fn_name[sizeof(((struct SpaceOops *)NULL)->search_string) + 2];
-		sprintf(fn_name, "*%s*", name);
-		found= fnmatch(fn_name, te->name, fn_flag)==0;
-	}
-	return found;
-#endif
-}
-
-static int outliner_filter_tree(SpaceOops *soops, ListBase *lb)
-{
-	TreeElement *te, *ten;
-	TreeStoreElem *tselem;
-	
-	/* although we don't have any search string, we return TRUE 
-	 * since the entire tree is ok then...
-	 */
-	if (soops->search_string[0]==0) 
-		return 1;
-
-	for (te= lb->first; te; te= ten) {
-		ten= te->next;
-		
-		if (0==outliner_filter_has_name(te, soops->search_string, soops->search_flags)) {
-			/* item isn't something we're looking for, but...
-			 * 	- if the subtree is expanded, check if there are any matches that can be easily found
-			 *		so that searching for "cu" in the default scene will still match the Cube
-			 *	- otherwise, we can't see within the subtree and the item doesn't match,
-			 *		so these can be safely ignored (i.e. the subtree can get freed)
-			 */
-			tselem= TREESTORE(te);
-			
-			if ((tselem->flag & TSE_CLOSED) || outliner_filter_tree(soops, &te->subtree)==0) { 
-				outliner_free_tree(&te->subtree);
-				BLI_remlink(lb, te);
-				
-				if(te->flag & TE_FREE_NAME) MEM_freeN((void *)te->name);
-				MEM_freeN(te);
-			}
-		}
-		else {
-			/* filter subtree too */
-			outliner_filter_tree(soops, &te->subtree);
-		}
-	}
-	
-	/* if there are still items in the list, that means that there were still some matches */
-	return (lb->first != NULL);
-}
-
-
-static void outliner_build_tree(Main *mainvar, Scene *scene, SpaceOops *soops)
-{
-	Base *base;
-	Object *ob;
-	TreeElement *te=NULL, *ten;
-	TreeStoreElem *tselem;
-	int show_opened= (soops->treestore==NULL); /* on first view, we open scenes */
-
-	if(soops->tree.first && (soops->storeflag & SO_TREESTORE_REDRAW))
-		return;
-
-	outliner_free_tree(&soops->tree);
-	outliner_storage_cleanup(soops);
-	
-	/* clear ob id.new flags */
-	for(ob= mainvar->object.first; ob; ob= ob->id.next) ob->id.newid= NULL;
-	
-	/* options */
-	if(soops->outlinevis == SO_LIBRARIES) {
-		Library *lib;
-		
-		for(lib= mainvar->library.first; lib; lib= lib->id.next) {
-			ten= outliner_add_element(soops, &soops->tree, lib, NULL, 0, 0);
-			lib->id.newid= (ID *)ten;
-		}
-		/* make hierarchy */
-		ten= soops->tree.first;
-		while(ten) {
-			TreeElement *nten= ten->next, *par;
-			tselem= TREESTORE(ten);
-			lib= (Library *)tselem->id;
-			if(lib->parent) {
-				BLI_remlink(&soops->tree, ten);
-				par= (TreeElement *)lib->parent->id.newid;
-				BLI_addtail(&par->subtree, ten);
-				ten->parent= par;
-			}
-			ten= nten;
-		}
-		/* restore newid pointers */
-		for(lib= mainvar->library.first; lib; lib= lib->id.next)
-			lib->id.newid= NULL;
-		
-	}
-	else if(soops->outlinevis == SO_ALL_SCENES) {
-		Scene *sce;
-		for(sce= mainvar->scene.first; sce; sce= sce->id.next) {
-			te= outliner_add_element(soops, &soops->tree, sce, NULL, 0, 0);
-			tselem= TREESTORE(te);
-			if(sce==scene && show_opened) 
-				tselem->flag &= ~TSE_CLOSED;
-			
-			for(base= sce->base.first; base; base= base->next) {
-				ten= outliner_add_element(soops, &te->subtree, base->object, te, 0, 0);
-				ten->directdata= base;
-			}
-			outliner_make_hierarchy(soops, &te->subtree);
-			/* clear id.newid, to prevent objects be inserted in wrong scenes (parent in other scene) */
-			for(base= sce->base.first; base; base= base->next) base->object->id.newid= NULL;
-		}
-	}
-	else if(soops->outlinevis == SO_CUR_SCENE) {
-		
-		outliner_add_scene_contents(soops, &soops->tree, scene, NULL);
-		
-		for(base= scene->base.first; base; base= base->next) {
-			ten= outliner_add_element(soops, &soops->tree, base->object, NULL, 0, 0);
-			ten->directdata= base;
-		}
-		outliner_make_hierarchy(soops, &soops->tree);
-	}
-	else if(soops->outlinevis == SO_VISIBLE) {
-		for(base= scene->base.first; base; base= base->next) {
-			if(base->lay & scene->lay)
-				outliner_add_element(soops, &soops->tree, base->object, NULL, 0, 0);
-		}
-		outliner_make_hierarchy(soops, &soops->tree);
-	}
-	else if(soops->outlinevis == SO_GROUPS) {
-		Group *group;
-		GroupObject *go;
-		
-		for(group= mainvar->group.first; group; group= group->id.next) {
-			if(group->gobject.first) {
-				te= outliner_add_element(soops, &soops->tree, group, NULL, 0, 0);
-				
-				for(go= group->gobject.first; go; go= go->next) {
-					ten= outliner_add_element(soops, &te->subtree, go->ob, te, 0, 0);
-					ten->directdata= NULL; /* eh, why? */
-				}
-				outliner_make_hierarchy(soops, &te->subtree);
-				/* clear id.newid, to prevent objects be inserted in wrong scenes (parent in other scene) */
-				for(go= group->gobject.first; go; go= go->next) go->ob->id.newid= NULL;
-			}
-		}
-	}
-	else if(soops->outlinevis == SO_SAME_TYPE) {
-		Object *ob= OBACT;
-		if(ob) {
-			for(base= scene->base.first; base; base= base->next) {
-				if(base->object->type==ob->type) {
-					ten= outliner_add_element(soops, &soops->tree, base->object, NULL, 0, 0);
-					ten->directdata= base;
-				}
-			}
-			outliner_make_hierarchy(soops, &soops->tree);
-		}
-	}
-	else if(soops->outlinevis == SO_SELECTED) {
-		for(base= scene->base.first; base; base= base->next) {
-			if(base->lay & scene->lay) {
-				if(base==BASACT || (base->flag & SELECT)) {
-					ten= outliner_add_element(soops, &soops->tree, base->object, NULL, 0, 0);
-					ten->directdata= base;
-				}
-			}
-		}
-		outliner_make_hierarchy(soops, &soops->tree);
-	}
-	else if(soops->outlinevis==SO_SEQUENCE) {
-		Sequence *seq;
-		Editing *ed= seq_give_editing(scene, FALSE);
-		int op;
-
-		if(ed==NULL)
-			return;
-
-		seq= ed->seqbasep->first;
-		if(!seq)
-			return;
-
-		while(seq) {
-			op= need_add_seq_dup(seq);
-			if(op==1)
-				ten= outliner_add_element(soops, &soops->tree, (void*)seq, NULL, TSE_SEQUENCE, 0);
-			else if(op==0) {
-				ten= outliner_add_element(soops, &soops->tree, (void*)seq, NULL, TSE_SEQUENCE_DUP, 0);
-				add_seq_dup(soops, seq, ten, 0);
-			}
-			seq= seq->next;
-		}
-	}
-	else if(soops->outlinevis==SO_DATABLOCKS) {
-		PointerRNA mainptr;
-
-		RNA_main_pointer_create(mainvar, &mainptr);
-
-		ten= outliner_add_element(soops, &soops->tree, (void*)&mainptr, NULL, TSE_RNA_STRUCT, -1);
-
-		if(show_opened)  {
-			tselem= TREESTORE(ten);
-			tselem->flag &= ~TSE_CLOSED;
-		}
-	}
-	else if(soops->outlinevis==SO_USERDEF) {
-		PointerRNA userdefptr;
-
-		RNA_pointer_create(NULL, &RNA_UserPreferences, &U, &userdefptr);
-
-		ten= outliner_add_element(soops, &soops->tree, (void*)&userdefptr, NULL, TSE_RNA_STRUCT, -1);
-
-		if(show_opened)  {
-			tselem= TREESTORE(ten);
-			tselem->flag &= ~TSE_CLOSED;
-		}
-	}
-	else if(soops->outlinevis==SO_KEYMAP) {
-		wmWindowManager *wm= mainvar->wm.first;
-		wmKeyMap *km;
-		
-		for(km= wm->defaultconf->keymaps.first; km; km= km->next) {
-			ten= outliner_add_element(soops, &soops->tree, (void*)km, NULL, TSE_KEYMAP, 0);
-		}
-	}
-	else {
-		ten= outliner_add_element(soops, &soops->tree, OBACT, NULL, 0, 0);
-		if(ten) ten->directdata= BASACT;
-	}
-
-	outliner_sort(soops, &soops->tree);
-	outliner_filter_tree(soops, &soops->tree);
-}
-
-/* **************** INTERACTIVE ************* */
-
-
-static int outliner_scroll_page_exec(bContext *C, wmOperator *op)
-{
-	ARegion *ar= CTX_wm_region(C);
-	int dy= ar->v2d.mask.ymax - ar->v2d.mask.ymin;
-	int up= 0;
-	
-	if(RNA_boolean_get(op->ptr, "up"))
-		up= 1;
-
-	if(up == 0) dy= -dy;
-	ar->v2d.cur.ymin+= dy;
-	ar->v2d.cur.ymax+= dy;
-	
-	ED_region_tag_redraw(ar);
-	
-	return OPERATOR_FINISHED;
-}
-
-
-void OUTLINER_OT_scroll_page(wmOperatorType *ot)
-{
-	/* identifiers */
-	ot->name= "Scroll Page";
-	ot->idname= "OUTLINER_OT_scroll_page";
-	ot->description= "Scroll page up or down";
-	
-	/* callbacks */
-	ot->exec= outliner_scroll_page_exec;
-	ot->poll= ED_operator_outliner_active;
-	
-	/* properties */
-	RNA_def_boolean(ot->srna, "up", 0, "Up", "Scroll up one page.");
-}
-
-
-static int outliner_count_levels(SpaceOops *soops, ListBase *lb, int curlevel)
-{
-	TreeElement *te;
-	int level=curlevel, lev;
-	
-	for(te= lb->first; te; te= te->next) {
-		
-		lev= outliner_count_levels(soops, &te->subtree, curlevel+1);
-		if(lev>level) level= lev;
-	}
-	return level;
-}
-
-static int outliner_has_one_flag(SpaceOops *soops, ListBase *lb, short flag, short curlevel)
-{
-	TreeElement *te;
-	TreeStoreElem *tselem;
-	int level;
-	
-	for(te= lb->first; te; te= te->next) {
-		tselem= TREESTORE(te);
-		if(tselem->flag & flag) return curlevel;
-		
-		level= outliner_has_one_flag(soops, &te->subtree, flag, curlevel+1);
-		if(level) return level;
-	}
-	return 0;
-}
-
-static void outliner_set_flag(SpaceOops *soops, ListBase *lb, short flag, short set)
-{
-	TreeElement *te;
-	TreeStoreElem *tselem;
-	
-	for(te= lb->first; te; te= te->next) {
-		tselem= TREESTORE(te);
-		if(set==0) tselem->flag &= ~flag;
-		else tselem->flag |= flag;
-		outliner_set_flag(soops, &te->subtree, flag, set);
-	}
-}
-
-/* --- */
-
-/* same check needed for both object operation and restrict column button func
- * return 0 when in edit mode (cannot restrict view or select)
- * otherwise return 1 */
-static int common_restrict_check(bContext *C, Object *ob)
-{
-	/* Don't allow hide an object in edit mode,
-	 * check the bug #22153 and #21609, #23977
-	 */
-	Object *obedit= CTX_data_edit_object(C);
-	if (obedit && obedit == ob) {
-		/* found object is hidden, reset */
-		if (ob->restrictflag & OB_RESTRICT_VIEW)
-			ob->restrictflag &= ~OB_RESTRICT_VIEW;
-		/* found object is unselectable, reset */
-		if (ob->restrictflag & OB_RESTRICT_SELECT)
-			ob->restrictflag &= ~OB_RESTRICT_SELECT;
-		return 0;
-	}
-	
-	return 1;
-}
-
-static void object_toggle_visibility_cb(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
-{
-	Base *base= (Base *)te->directdata;
-	Object *ob = (Object *)tselem->id;
-	
-	/* add check for edit mode */
-	if(!common_restrict_check(C, ob)) return;
-	
-	if(base || (base= object_in_scene(ob, scene))) {
-		if((base->object->restrictflag ^= OB_RESTRICT_VIEW)) {
-			ED_base_object_select(base, BA_DESELECT);
-		}
-	}
-}
-
-static int outliner_toggle_visibility_exec(bContext *C, wmOperator *UNUSED(op))
-{
-	SpaceOops *soops= CTX_wm_space_outliner(C);
-	Scene *scene= CTX_data_scene(C);
-	ARegion *ar= CTX_wm_region(C);
-	
-	outliner_do_object_operation(C, scene, soops, &soops->tree, object_toggle_visibility_cb);
-	
-	WM_event_add_notifier(C, NC_SCENE|ND_OB_VISIBLE, scene);
-	ED_region_tag_redraw(ar);
-	
-	return OPERATOR_FINISHED;
-}
-
-void OUTLINER_OT_visibility_toggle(wmOperatorType *ot)
-{
-	/* identifiers */
-	ot->name= "Toggle Visibility";
-	ot->idname= "OUTLINER_OT_visibility_toggle";
-	ot->description= "Toggle the visibility of selected items";
-	
-	/* callbacks */
-	ot->exec= outliner_toggle_visibility_exec;
-	ot->poll= ED_operator_outliner_active_no_editobject;
-	
-	ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
-}
-
-/* --- */
-
-static void object_toggle_selectability_cb(bContext *UNUSED(C), Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
-{
-	Base *base= (Base *)te->directdata;
-	
-	if(base==NULL) base= object_in_scene((Object *)tselem->id, scene);
-	if(base) {
-		base->object->restrictflag^=OB_RESTRICT_SELECT;
-	}
-}
-
-static int outliner_toggle_selectability_exec(bContext *C, wmOperator *UNUSED(op))
-{
-	SpaceOops *soops= CTX_wm_space_outliner(C);
-	Scene *scene= CTX_data_scene(C);
-	ARegion *ar= CTX_wm_region(C);
-	
-	outliner_do_object_operation(C, scene, soops, &soops->tree, object_toggle_selectability_cb);
-	
-	WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
-	ED_region_tag_redraw(ar);
-	
-	return OPERATOR_FINISHED;
-}
-
-void OUTLINER_OT_selectability_toggle(wmOperatorType *ot)
-{
-	/* identifiers */
-	ot->name= "Toggle Selectability";
-	ot->idname= "OUTLINER_OT_selectability_toggle";
-	ot->description= "Toggle the selectability";
-	
-	/* callbacks */
-	ot->exec= outliner_toggle_selectability_exec;
-	ot->poll= ED_operator_outliner_active_no_editobject;
-	
-	ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
-}
-
-static void object_toggle_renderability_cb(bContext *UNUSED(C), Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
-{
-	Base *base= (Base *)te->directdata;
-	
-	if(base==NULL) base= object_in_scene((Object *)tselem->id, scene);
-	if(base) {
-		base->object->restrictflag^=OB_RESTRICT_RENDER;
-	}
-}
-
-static int outliner_toggle_renderability_exec(bContext *C, wmOperator *UNUSED(op))
-{
-	SpaceOops *soops= CTX_wm_space_outliner(C);
-	Scene *scene= CTX_data_scene(C);
-	ARegion *ar= CTX_wm_region(C);
-	
-	outliner_do_object_operation(C, scene, soops, &soops->tree, object_toggle_renderability_cb);
-	
-	ED_region_tag_redraw(ar);
-	
-	return OPERATOR_FINISHED;
-}
-
-void OUTLINER_OT_renderability_toggle(wmOperatorType *ot)
-{
-	/* identifiers */
-	ot->name= "Toggle Renderability";
-	ot->idname= "OUTLINER_OT_renderability_toggle";
-	ot->description= "Toggle the renderability of selected items";
-	
-	/* callbacks */
-	ot->exec= outliner_toggle_renderability_exec;
-	ot->poll= ED_operator_outliner_active;
-	
-	ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
-}
-
-/* --- */
-
-static int outliner_toggle_expanded_exec(bContext *C, wmOperator *UNUSED(op))
-{
-	SpaceOops *soops= CTX_wm_space_outliner(C);
-	ARegion *ar= CTX_wm_region(C);
-	
-	if (outliner_has_one_flag(soops, &soops->tree, TSE_CLOSED, 1))
-		outliner_set_flag(soops, &soops->tree, TSE_CLOSED, 0);
-	else 
-		outliner_set_flag(soops, &soops->tree, TSE_CLOSED, 1);
-	
-	ED_region_tag_redraw(ar);
-	
-	return OPERATOR_FINISHED;
-}
-
-void OUTLINER_OT_expanded_toggle(wmOperatorType *ot)
-{
-	/* identifiers */
-	ot->name= "Expand/Collapse All";
-	ot->idname= "OUTLINER_OT_expanded_toggle";
-	ot->description= "Expand/Collapse all items";
-	
-	/* callbacks */
-	ot->exec= outliner_toggle_expanded_exec;
-	ot->poll= ED_operator_outliner_active;
-	
-	/* no undo or registry, UI option */
-}
-
-/* --- */
-
-static int outliner_toggle_selected_exec(bContext *C, wmOperator *UNUSED(op))
-{
-	SpaceOops *soops= CTX_wm_space_outliner(C);
-	ARegion *ar= CTX_wm_region(C);
-	Scene *scene= CTX_data_scene(C);
-	
-	if (outliner_has_one_flag(soops, &soops->tree, TSE_SELECTED, 1))
-		outliner_set_flag(soops, &soops->tree, TSE_SELECTED, 0);
-	else 
-		outliner_set_flag(soops, &soops->tree, TSE_SELECTED, 1);
-	
-	soops->storeflag |= SO_TREESTORE_REDRAW;
-	
-	WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
-	ED_region_tag_redraw(ar);
-	
-	return OPERATOR_FINISHED;
-}
-
-void OUTLINER_OT_selected_toggle(wmOperatorType *ot)
-{
-	/* identifiers */
-	ot->name= "Toggle Selected";
-	ot->idname= "OUTLINER_OT_selected_toggle";
-	ot->description= "Toggle the Outliner selection of items";
-	
-	/* callbacks */
-	ot->exec= outliner_toggle_selected_exec;
-	ot->poll= ED_operator_outliner_active;
-	
-	/* no undo or registry, UI option */
-}
-
-/* --- */
-
-/* helper function for Show/Hide one level operator */
-static void outliner_openclose_level(SpaceOops *soops, ListBase *lb, int curlevel, int level, int open)
-{
-	TreeElement *te;
-	TreeStoreElem *tselem;
-	
-	for(te= lb->first; te; te= te->next) {
-		tselem= TREESTORE(te);
-		
-		if(open) {
-			if(curlevel<=level) tselem->flag &= ~TSE_CLOSED;
-		}
-		else {
-			if(curlevel>=level) tselem->flag |= TSE_CLOSED;
-		}
-		
-		outliner_openclose_level(soops, &te->subtree, curlevel+1, level, open);
-	}
-}
-
-static int outliner_one_level_exec(bContext *C, wmOperator *op)
-{
-	SpaceOops *soops= CTX_wm_space_outliner(C);
-	ARegion *ar= CTX_wm_region(C);
-	int add= RNA_boolean_get(op->ptr, "open");
-	int level;
-	
-	level= outliner_has_one_flag(soops, &soops->tree, TSE_CLOSED, 1);
-	if(add==1) {
-		if(level) outliner_openclose_level(soops, &soops->tree, 1, level, 1);
-	}
-	else {
-		if(level==0) level= outliner_count_levels(soops, &soops->tree, 0);
-		if(level) outliner_openclose_level(soops, &soops->tree, 1, level-1, 0);
-	}
-	
-	ED_region_tag_redraw(ar);
-	
-	return OPERATOR_FINISHED;
-}
-
-void OUTLINER_OT_show_one_level(wmOperatorType *ot)
-{
-	/* identifiers */
-	ot->name= "Show/Hide One Level";
-	ot->idname= "OUTLINER_OT_show_one_level";
-	ot->description= "Expand/collapse all entries by one level";
-	
-	/* callbacks */
-	ot->exec= outliner_one_level_exec;
-	ot->poll= ED_operator_outliner_active;
-	
-	/* no undo or registry, UI option */
-	
-	/* properties */
-	RNA_def_boolean(ot->srna, "open", 1, "Open", "Expand all entries one level deep.");
-}
-
-/* This is not used anywhere at the moment */
-#if 0
-/* return 1 when levels were opened */
-static int outliner_open_back(SpaceOops *soops, TreeElement *te)
-{
-	TreeStoreElem *tselem;
-	int retval= 0;
-	
-	for (te= te->parent; te; te= te->parent) {
-		tselem= TREESTORE(te);
-		if (tselem->flag & TSE_CLOSED) { 
-			tselem->flag &= ~TSE_CLOSED;
-			retval= 1;
-		}
-	}
-	return retval;
-}
-
-static void outliner_open_reveal(SpaceOops *soops, ListBase *lb, TreeElement *teFind, int *found)
-{
-	TreeElement *te;
-	TreeStoreElem *tselem;
-	
-	for (te= lb->first; te; te= te->next) {
-		/* check if this tree-element was the one we're seeking */
-		if (te == teFind) {
-			*found= 1;
-			return;
-		}
-		
-		/* try to see if sub-tree contains it then */
-		outliner_open_reveal(soops, &te->subtree, teFind, found);
-		if (*found) {
-			tselem= TREESTORE(te);
-			if (tselem->flag & TSE_CLOSED) 
-				tselem->flag &= ~TSE_CLOSED;
-			return;
-		}
-	}
-}
-#endif
-
-// XXX just use View2D ops for this?
-static void outliner_page_up_down(Scene *UNUSED(scene), ARegion *ar, SpaceOops *soops, int up)
-{
-	int dy= ar->v2d.mask.ymax-ar->v2d.mask.ymin;
-	
-	if(up == -1) dy= -dy;
-	ar->v2d.cur.ymin+= dy;
-	ar->v2d.cur.ymax+= dy;
-	
-	soops->storeflag |= SO_TREESTORE_REDRAW;
-}
-
-/* **** do clicks on items ******* */
-
-static int tree_element_active_renderlayer(bContext *C, TreeElement *te, TreeStoreElem *tselem, int set)
-{
-	Scene *sce;
-	
-	/* paranoia check */
-	if(te->idcode!=ID_SCE)
-		return 0;
-	sce= (Scene *)tselem->id;
-	
-	if(set) {
-		sce->r.actlay= tselem->nr;
-		WM_event_add_notifier(C, NC_SCENE|ND_RENDER_OPTIONS, sce);
-	}
-	else {
-		return sce->r.actlay==tselem->nr;
-	}
-	return 0;
-}
-
-static void tree_element_set_active_object(bContext *C, Scene *scene, SpaceOops *soops, TreeElement *te, int set)
-{
-	TreeStoreElem *tselem= TREESTORE(te);
-	Scene *sce;
-	Base *base;
-	Object *ob= NULL;
-	
-	/* if id is not object, we search back */
-	if(te->idcode==ID_OB) ob= (Object *)tselem->id;
-	else {
-		ob= (Object *)outliner_search_back(soops, te, ID_OB);
-		if(ob==OBACT) return;
-	}
-	if(ob==NULL) return;
-	
-	sce= (Scene *)outliner_search_back(soops, te, ID_SCE);
-	if(sce && scene != sce) {
-		ED_screen_set_scene(C, sce);
-	}
-	
-	/* find associated base in current scene */
-	base= object_in_scene(ob, scene);
-
-	if(base) {
-		if(set==2) {
-			/* swap select */
-			if(base->flag & SELECT)
-				ED_base_object_select(base, BA_DESELECT);
-			else 
-				ED_base_object_select(base, BA_SELECT);
-		}
-		else {
-			/* deleselect all */
-			scene_deselect_all(scene);
-			ED_base_object_select(base, BA_SELECT);
-		}
-		if(C) {
-			ED_base_object_activate(C, base); /* adds notifier */
-			WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
-		}
-	}
-	
-	if(ob!=scene->obedit) 
-		ED_object_exit_editmode(C, EM_FREEDATA|EM_FREEUNDO|EM_WAITCURSOR|EM_DO_UNDO);
-}
-
-static int tree_element_active_material(bContext *C, Scene *scene, SpaceOops *soops, TreeElement *te, int set)
-{
-	TreeElement *tes;
-	Object *ob;
-	
-	/* we search for the object parent */
-	ob= (Object *)outliner_search_back(soops, te, ID_OB);
-	// note: ob->matbits can be NULL when a local object points to a library mesh.
-	if(ob==NULL || ob!=OBACT || ob->matbits==NULL) return 0;	// just paranoia
-	
-	/* searching in ob mat array? */
-	tes= te->parent;
-	if(tes->idcode==ID_OB) {
-		if(set) {
-			ob->actcol= te->index+1;
-			ob->matbits[te->index]= 1;	// make ob material active too
-			ob->colbits |= (1<<te->index);
-		}
-		else {
-			if(ob->actcol == te->index+1) 
-				if(ob->matbits[te->index]) return 1;
-		}
-	}
-	/* or we search for obdata material */
-	else {
-		if(set) {
-			ob->actcol= te->index+1;
-			ob->matbits[te->index]= 0;	// make obdata material active too
-			ob->colbits &= ~(1<<te->index);
-		}
-		else {
-			if(ob->actcol == te->index+1)
-				if(ob->matbits[te->index]==0) return 1;
-		}
-	}
-	if(set) {
-		WM_event_add_notifier(C, NC_MATERIAL|ND_SHADING, NULL);
-	}
-	return 0;
-}
-
-static int tree_element_active_texture(bContext *C, Scene *scene, SpaceOops *soops, TreeElement *te, int set)
-{
-	TreeElement *tep;
-	TreeStoreElem /* *tselem,*/ *tselemp;
-	Object *ob=OBACT;
-	SpaceButs *sbuts=NULL;
-	
-	if(ob==NULL) return 0; // no active object
-	
-	/*tselem= TREESTORE(te);*/ /*UNUSED*/
-	
-	/* find buttons area (note, this is undefined really still, needs recode in blender) */
-	/* XXX removed finding sbuts */
-	
-	/* where is texture linked to? */
-	tep= te->parent;
-	tselemp= TREESTORE(tep);
-	
-	if(tep->idcode==ID_WO) {
-		World *wrld= (World *)tselemp->id;
-
-		if(set) {
-			if(sbuts) {
-				// XXX sbuts->tabo= TAB_SHADING_TEX;	// hack from header_buttonswin.c
-				// XXX sbuts->texfrom= 1;
-			}
-// XXX			extern_set_butspace(F6KEY, 0);	// force shading buttons texture
-			wrld->texact= te->index;
-		}
-		else if(tselemp->id == (ID *)(scene->world)) {
-			if(wrld->texact==te->index) return 1;
-		}
-	}
-	else if(tep->idcode==ID_LA) {
-		Lamp *la= (Lamp *)tselemp->id;
-		if(set) {
-			if(sbuts) {
-				// XXX sbuts->tabo= TAB_SHADING_TEX;	// hack from header_buttonswin.c
-				// XXX sbuts->texfrom= 2;
-			}
-// XXX			extern_set_butspace(F6KEY, 0);	// force shading buttons texture
-			la->texact= te->index;
-		}
-		else {
-			if(tselemp->id == ob->data) {
-				if(la->texact==te->index) return 1;
-			}
-		}
-	}
-	else if(tep->idcode==ID_MA) {
-		Material *ma= (Material *)tselemp->id;
-		if(set) {
-			if(sbuts) {
-				//sbuts->tabo= TAB_SHADING_TEX;	// hack from header_buttonswin.c
-				// XXX sbuts->texfrom= 0;
-			}
-// XXX			extern_set_butspace(F6KEY, 0);	// force shading buttons texture
-			ma->texact= (char)te->index;
-			
-			/* also set active material */
-			ob->actcol= tep->index+1;
-		}
-		else if(tep->flag & TE_ACTIVE) {	// this is active material
-			if(ma->texact==te->index) return 1;
-		}
-	}
-	
-	if(set)
-		WM_event_add_notifier(C, NC_TEXTURE, NULL);
-
-	return 0;
-}
-
-
-static int tree_element_active_lamp(bContext *UNUSED(C), Scene *scene, SpaceOops *soops, TreeElement *te, int set)
-{
-	Object *ob;
-	
-	/* we search for the object parent */
-	ob= (Object *)outliner_search_back(soops, te, ID_OB);
-	if(ob==NULL || ob!=OBACT) return 0;	// just paranoia
-	
-	if(set) {
-// XXX		extern_set_butspace(F5KEY, 0);
-	}
-	else return 1;
-	
-	return 0;
-}
-
-static int tree_element_active_camera(bContext *UNUSED(C), Scene *scene, SpaceOops *soops, TreeElement *te, int set)
-{
-	Object *ob= (Object *)outliner_search_back(soops, te, ID_OB);
-
-	if(set)
-		return 0;
-
-	return scene->camera == ob;
-}
-
-static int tree_element_active_world(bContext *C, Scene *scene, SpaceOops *soops, TreeElement *te, int set)
-{
-	TreeElement *tep;
-	TreeStoreElem *tselem=NULL;
-	Scene *sce=NULL;
-	
-	tep= te->parent;
-	if(tep) {
-		tselem= TREESTORE(tep);
-		sce= (Scene *)tselem->id;
-	}
-	
-	if(set) {	// make new scene active
-		if(sce && scene != sce) {
-			ED_screen_set_scene(C, sce);
-		}
-	}
-	
-	if(tep==NULL || tselem->id == (ID *)scene) {
-		if(set) {
-// XXX			extern_set_butspace(F8KEY, 0);
-		}
-		else {
-			return 1;
-		}
-	}
-	return 0;
-}
-
-static int tree_element_active_defgroup(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *tselem, int set)
-{
-	Object *ob;
-	
-	/* id in tselem is object */
-	ob= (Object *)tselem->id;
-	if(set) {
-		ob->actdef= te->index+1;
-		DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
-		WM_event_add_notifier(C, NC_OBJECT|ND_TRANSFORM, ob);
-	}
-	else {
-		if(ob==OBACT)
-			if(ob->actdef== te->index+1) return 1;
-	}
-	return 0;
-}
-
-static int tree_element_active_posegroup(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *tselem, int set)
-{
-	Object *ob= (Object *)tselem->id;
-	
-	if(set) {
-		if (ob->pose) {
-			ob->pose->active_group= te->index+1;
-			WM_event_add_notifier(C, NC_OBJECT|ND_DRAW, ob);
-		}
-	}
-	else {
-		if(ob==OBACT && ob->pose) {
-			if (ob->pose->active_group== te->index+1) return 1;
-		}
-	}
-	return 0;
-}
-
-static int tree_element_active_posechannel(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *tselem, int set)
-{
-	Object *ob= (Object *)tselem->id;
-	bArmature *arm= ob->data;
-	bPoseChannel *pchan= te->directdata;
-	
-	if(set) {
-		if(!(pchan->bone->flag & BONE_HIDDEN_P)) {
-			
-			if(set==2) ED_pose_deselectall(ob, 2);	// 2 = clear active tag
-			else ED_pose_deselectall(ob, 0);	// 0 = deselect 
-			
-			if(set==2 && (pchan->bone->flag & BONE_SELECTED)) {
-				pchan->bone->flag &= ~BONE_SELECTED;
-			} else {
-				pchan->bone->flag |= BONE_SELECTED;
-				arm->act_bone= pchan->bone;
-			}
-			
-			WM_event_add_notifier(C, NC_OBJECT|ND_BONE_ACTIVE, ob);
-
-		}
-	}
-	else {
-		if(ob==OBACT && ob->pose) {
-			if (pchan->bone->flag & BONE_SELECTED) return 1;
-		}
-	}
-	return 0;
-}
-
-static int tree_element_active_bone(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *tselem, int set)
-{
-	bArmature *arm= (bArmature *)tselem->id;
-	Bone *bone= te->directdata;
-	
-	if(set) {
-		if(!(bone->flag & BONE_HIDDEN_P)) {
-			if(set==2) ED_pose_deselectall(OBACT, 2);	// 2 is clear active tag
-			else ED_pose_deselectall(OBACT, 0);
-			
-			if(set==2 && (bone->flag & BONE_SELECTED)) {
-				bone->flag &= ~BONE_SELECTED;
-			} else {
-				bone->flag |= BONE_SELECTED;
-				arm->act_bone= bone;
-			}
-			
-			WM_event_add_notifier(C, NC_OBJECT|ND_BONE_ACTIVE, OBACT);
-		}
-	}
-	else {
-		Object *ob= OBACT;
-		
-		if(ob && ob->data==arm) {
-			if (bone->flag & BONE_SELECTED) return 1;
-		}
-	}
-	return 0;
-}
-
-
-/* ebones only draw in editmode armature */
-static void tree_element_active_ebone__sel(bContext *C, Scene *scene, bArmature *arm, EditBone *ebone, short sel)
-{
-	if(sel) {
-		ebone->flag |= BONE_SELECTED|BONE_ROOTSEL|BONE_TIPSEL;
-		arm->act_edbone= ebone;
-		// flush to parent?
-		if(ebone->parent && (ebone->flag & BONE_CONNECTED)) ebone->parent->flag |= BONE_TIPSEL;
-	}
-	else {
-		ebone->flag &= ~(BONE_SELECTED|BONE_ROOTSEL|BONE_TIPSEL);
-		// flush to parent?
-		if(ebone->parent && (ebone->flag & BONE_CONNECTED)) ebone->parent->flag &= ~BONE_TIPSEL;
-	}
-
-	WM_event_add_notifier(C, NC_OBJECT|ND_BONE_ACTIVE, scene->obedit);
-}
-static int tree_element_active_ebone(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tselem), int set)
-{
-	bArmature *arm= scene->obedit->data;
-	EditBone *ebone= te->directdata;
-
-	if(set==1) {
-		if(!(ebone->flag & BONE_HIDDEN_A)) {
-			ED_armature_deselect_all(scene->obedit, 0);	// deselect
-			tree_element_active_ebone__sel(C, scene, arm, ebone, TRUE);
-			return 1;
-		}
-	}
-	else if (set==2) {
-		if(!(ebone->flag & BONE_HIDDEN_A)) {
-			if(!(ebone->flag & BONE_SELECTED)) {
-				tree_element_active_ebone__sel(C, scene, arm, ebone, TRUE);
-				return 1;
-			}
-			else {
-				/* entirely selected, so de-select */
-				tree_element_active_ebone__sel(C, scene, arm, ebone, FALSE);
-				return 0;
-			}
-		}
-	}
-	else if (ebone->flag & BONE_SELECTED) {
-		return 1;
-	}
-	return 0;
-}
-
-static int tree_element_active_modifier(bContext *C, TreeElement *UNUSED(te), TreeStoreElem *tselem, int set)
-{
-	if(set) {
-		Object *ob= (Object *)tselem->id;
-		
-		WM_event_add_notifier(C, NC_OBJECT|ND_MODIFIER, ob);
-
-// XXX		extern_set_butspace(F9KEY, 0);
-	}
-	
-	return 0;
-}
-
-static int tree_element_active_psys(bContext *C, Scene *UNUSED(scene), TreeElement *UNUSED(te), TreeStoreElem *tselem, int set)
-{
-	if(set) {
-		Object *ob= (Object *)tselem->id;
-		
-		WM_event_add_notifier(C, NC_OBJECT|ND_PARTICLE|NA_EDITED, ob);
-		
-// XXX		extern_set_butspace(F7KEY, 0);
-	}
-	
-	return 0;
-}
-
-static int tree_element_active_constraint(bContext *C, TreeElement *UNUSED(te), TreeStoreElem *tselem, int set)
-{
-	if(set) {
-		Object *ob= (Object *)tselem->id;
-		
-		WM_event_add_notifier(C, NC_OBJECT|ND_CONSTRAINT, ob);
-// XXX		extern_set_butspace(F7KEY, 0);
-	}
-	
-	return 0;
-}
-
-static int tree_element_active_text(bContext *UNUSED(C), Scene *UNUSED(scene), SpaceOops *UNUSED(soops), TreeElement *UNUSED(te), int UNUSED(set))
-{
-	// XXX removed
-	return 0;
-}
-
-/* generic call for ID data check or make/check active in UI */
-static int tree_element_active(bContext *C, Scene *scene, SpaceOops *soops, TreeElement *te, int set)
-{
-
-	switch(te->idcode) {
-		case ID_MA:
-			return tree_element_active_material(C, scene, soops, te, set);
-		case ID_WO:
-			return tree_element_active_world(C, scene, soops, te, set);
-		case ID_LA:
-			return tree_element_active_lamp(C, scene, soops, te, set);
-		case ID_TE:
-			return tree_element_active_texture(C, scene, soops, te, set);
-		case ID_TXT:
-			return tree_element_active_text(C, scene, soops, te, set);
-		case ID_CA:
-			return tree_element_active_camera(C, scene, soops, te, set);
-	}
-	return 0;
-}
-
-static int tree_element_active_pose(bContext *C, Scene *scene, TreeElement *UNUSED(te), TreeStoreElem *tselem, int set)
-{
-	Object *ob= (Object *)tselem->id;
-	Base *base= object_in_scene(ob, scene);
-	
-	if(set) {
-		if(scene->obedit) 
-			ED_object_exit_editmode(C, EM_FREEDATA|EM_FREEUNDO|EM_WAITCURSOR|EM_DO_UNDO);
-		
-		if(ob->mode & OB_MODE_POSE) 
-			ED_armature_exit_posemode(C, base);
-		else 
-			ED_armature_enter_posemode(C, base);
-	}
-	else {
-		if(ob->mode & OB_MODE_POSE) return 1;
-	}
-	return 0;
-}
-
-static int tree_element_active_sequence(TreeElement *te, TreeStoreElem *UNUSED(tselem), int set)
-{
-	Sequence *seq= (Sequence*) te->directdata;
-
-	if(set) {
-// XXX		select_single_seq(seq, 1);
-	}
-	else {
-		if(seq->flag & SELECT)
-			return(1);
-	}
-	return(0);
-}
-
-static int tree_element_active_sequence_dup(Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tselem), int set)
-{
-	Sequence *seq, *p;
-	Editing *ed= seq_give_editing(scene, FALSE);
-
-	seq= (Sequence*)te->directdata;
-	if(set==0) {
-		if(seq->flag & SELECT)
-			return(1);
-		return(0);
-	}
-
-// XXX	select_single_seq(seq, 1);
-	p= ed->seqbasep->first;
-	while(p) {
-		if((!p->strip) || (!p->strip->stripdata) || (!p->strip->stripdata->name)) {
-			p= p->next;
-			continue;
-		}
-
-//		if(!strcmp(p->strip->stripdata->name, seq->strip->stripdata->name))
-// XXX			select_single_seq(p, 0);
-		p= p->next;
-	}
-	return(0);
-}
-
-static int tree_element_active_keymap_item(bContext *UNUSED(C), TreeElement *te, TreeStoreElem *UNUSED(tselem), int set)
-{
-	wmKeyMapItem *kmi= te->directdata;
-	
-	if(set==0) {
-		if(kmi->flag & KMI_INACTIVE) return 0;
-		return 1;
-	}
-	else {
-		kmi->flag ^= KMI_INACTIVE;
-	}
-	return 0;
-}
-
-
-/* generic call for non-id data to make/check active in UI */
-/* Context can be NULL when set==0 */
-static int tree_element_type_active(bContext *C, Scene *scene, SpaceOops *soops, TreeElement *te, TreeStoreElem *tselem, int set)
-{
-	switch(tselem->type) {
-		case TSE_DEFGROUP:
-			return tree_element_active_defgroup(C, scene, te, tselem, set);
-		case TSE_BONE:
-			return tree_element_active_bone(C, scene, te, tselem, set);
-		case TSE_EBONE:
-			return tree_element_active_ebone(C, scene, te, tselem, set);
-		case TSE_MODIFIER:
-			return tree_element_active_modifier(C, te, tselem, set);
-		case TSE_LINKED_OB:
-			if(set) tree_element_set_active_object(C, scene, soops, te, set);
-			else if(tselem->id==(ID *)OBACT) return 1;
-			break;
-		case TSE_LINKED_PSYS:
-			return tree_element_active_psys(C, scene, te, tselem, set);
-		case TSE_POSE_BASE:
-			return tree_element_active_pose(C, scene, te, tselem, set);
-		case TSE_POSE_CHANNEL:
-			return tree_element_active_posechannel(C, scene, te, tselem, set);
-		case TSE_CONSTRAINT:
-			return tree_element_active_constraint(C, te, tselem, set);
-		case TSE_R_LAYER:
-			return tree_element_active_renderlayer(C, te, tselem, set);
-		case TSE_POSEGRP:
-			return tree_element_active_posegroup(C, scene, te, tselem, set);
-		case TSE_SEQUENCE:
-			return tree_element_active_sequence(te, tselem, set);
-		case TSE_SEQUENCE_DUP:
-			return tree_element_active_sequence_dup(scene, te, tselem, set);
-		case TSE_KEYMAP_ITEM:
-			return tree_element_active_keymap_item(C, te, tselem, set);
-			
-	}
-	return 0;
-}
-
-static int do_outliner_item_activate(bContext *C, Scene *scene, ARegion *ar, SpaceOops *soops, TreeElement *te, int extend, const float mval[2])
-{
-	
-	if(mval[1]>te->ys && mval[1]<te->ys+UI_UNIT_Y) {
-		TreeStoreElem *tselem= TREESTORE(te);
-		int openclose= 0;
-
-		/* open close icon */
-		if((te->flag & TE_ICONROW)==0) {				// hidden icon, no open/close
-			if( mval[0]>te->xs && mval[0]<te->xs+UI_UNIT_X) 
-				openclose= 1;
-		}
-
-		if(openclose) {
-			/* all below close/open? */
-			if(extend) {
-				tselem->flag &= ~TSE_CLOSED;
-				outliner_set_flag(soops, &te->subtree, TSE_CLOSED, !outliner_has_one_flag(soops, &te->subtree, TSE_CLOSED, 1));
-			}
-			else {
-				if(tselem->flag & TSE_CLOSED) tselem->flag &= ~TSE_CLOSED;
-				else tselem->flag |= TSE_CLOSED;
-				
-			}
-
-			return 1;
-		}
-		/* name and first icon */
-		else if(mval[0]>te->xs+UI_UNIT_X && mval[0]<te->xend) {
-			
-			/* always makes active object */
-			if(tselem->type!=TSE_SEQUENCE && tselem->type!=TSE_SEQ_STRIP && tselem->type!=TSE_SEQUENCE_DUP)
-				tree_element_set_active_object(C, scene, soops, te, 1 + (extend!=0 && tselem->type==0));
-			
-			if(tselem->type==0) { // the lib blocks
-				/* editmode? */
-				if(te->idcode==ID_SCE) {
-					if(scene!=(Scene *)tselem->id) {
-						ED_screen_set_scene(C, (Scene *)tselem->id);
-					}
-				}
-				else if(te->idcode==ID_GR) {
-					Group *gr= (Group *)tselem->id;
-					GroupObject *gob;
-
-					if(extend) {
-						int sel= BA_SELECT;
-						for(gob= gr->gobject.first; gob; gob= gob->next) {
-							if(gob->ob->flag & SELECT) {
-								sel= BA_DESELECT;
-								break;
-							}
-						}
-
-						for(gob= gr->gobject.first; gob; gob= gob->next) {
-							ED_base_object_select(object_in_scene(gob->ob, scene), sel);
-						}
-					}
-					else {
-						scene_deselect_all(scene);
-
-						for(gob= gr->gobject.first; gob; gob= gob->next) {
-							if((gob->ob->flag & SELECT) == 0)
-								ED_base_object_select(object_in_scene(gob->ob, scene), BA_SELECT);
-						}
-					}
-
-					WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
-				}
-				else if(ELEM5(te->idcode, ID_ME, ID_CU, ID_MB, ID_LT, ID_AR)) {
-					WM_operator_name_call(C, "OBJECT_OT_editmode_toggle", WM_OP_INVOKE_REGION_WIN, NULL);
-				} else {	// rest of types
-					tree_element_active(C, scene, soops, te, 1);
-				}
-				
-			}
-			else tree_element_type_active(C, scene, soops, te, tselem, 1+(extend!=0));
-
-			return 1;
-		}
-	}
-	
-	for(te= te->subtree.first; te; te= te->next) {
-		if(do_outliner_item_activate(C, scene, ar, soops, te, extend, mval)) return 1;
-	}
-	return 0;
-}
-
-/* event can enterkey, then it opens/closes */
-static int outliner_item_activate(bContext *C, wmOperator *op, wmEvent *event)
-{
-	Scene *scene= CTX_data_scene(C);
-	ARegion *ar= CTX_wm_region(C);
-	SpaceOops *soops= CTX_wm_space_outliner(C);
-	TreeElement *te;
-	float fmval[2];
-	int extend= RNA_boolean_get(op->ptr, "extend");
-
-	UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1], fmval, fmval+1);
-
-	if(!ELEM3(soops->outlinevis, SO_DATABLOCKS, SO_USERDEF, SO_KEYMAP) && !(soops->flag & SO_HIDE_RESTRICTCOLS) && fmval[0] > ar->v2d.cur.xmax - OL_TOG_RESTRICT_VIEWX)
-		return OPERATOR_CANCELLED;
-
-	for(te= soops->tree.first; te; te= te->next) {
-		if(do_outliner_item_activate(C, scene, ar, soops, te, extend, fmval)) break;
-	}
-	
-	if(te) {
-		ED_undo_push(C, "Outliner click event");
-	}
-	else {
-		short selecting= -1;
-		int row;
-		
-		/* get row number - 100 here is just a dummy value since we don't need the column */
-		UI_view2d_listview_view_to_cell(&ar->v2d, 1000, UI_UNIT_Y, 0.0f, OL_Y_OFFSET, 
-						fmval[0], fmval[1], NULL, &row);
-		
-		/* select relevant row */
-		outliner_select(soops, &soops->tree, &row, &selecting);
-		
-		soops->storeflag |= SO_TREESTORE_REDRAW;
-		
-		ED_undo_push(C, "Outliner selection event");
-	}
-	
-	ED_region_tag_redraw(ar);
-
-	return OPERATOR_FINISHED;
-}
-
-void OUTLINER_OT_item_activate(wmOperatorType *ot)
-{
-	ot->name= "Activate Item";
-	ot->idname= "OUTLINER_OT_item_activate";
-	ot->description= "Handle mouse clicks to activate/select items";
-	
-	ot->invoke= outliner_item_activate;
-	
-	ot->poll= ED_operator_outliner_active;
-	
-	RNA_def_boolean(ot->srna, "extend", 1, "Extend", "Extend selection for activation.");
-}
-
-/* *********** */
-
-static int do_outliner_item_openclose(bContext *C, SpaceOops *soops, TreeElement *te, int all, const float mval[2])
-{
-	
-	if(mval[1]>te->ys && mval[1]<te->ys+UI_UNIT_Y) {
-		TreeStoreElem *tselem= TREESTORE(te);
-
-		/* all below close/open? */
-		if(all) {
-			tselem->flag &= ~TSE_CLOSED;
-			outliner_set_flag(soops, &te->subtree, TSE_CLOSED, !outliner_has_one_flag(soops, &te->subtree, TSE_CLOSED, 1));
-		}
-		else {
-			if(tselem->flag & TSE_CLOSED) tselem->flag &= ~TSE_CLOSED;
-			else tselem->flag |= TSE_CLOSED;
-		}
-
-		return 1;
-	}
-	
-	for(te= te->subtree.first; te; te= te->next) {
-		if(do_outliner_item_openclose(C, soops, te, all, mval)) 
-			return 1;
-	}
-	return 0;
-	
-}
-
-/* event can enterkey, then it opens/closes */
-static int outliner_item_openclose(bContext *C, wmOperator *op, wmEvent *event)
-{
-	ARegion *ar= CTX_wm_region(C);
-	SpaceOops *soops= CTX_wm_space_outliner(C);
-	TreeElement *te;
-	float fmval[2];
-	int all= RNA_boolean_get(op->ptr, "all");
-	
-	UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1], fmval, fmval+1);
-	
-	for(te= soops->tree.first; te; te= te->next) {
-		if(do_outliner_item_openclose(C, soops, te, all, fmval)) 
-			break;
-	}
-
-	ED_region_tag_redraw(ar);
-	
-	return OPERATOR_FINISHED;
-}
-
-void OUTLINER_OT_item_openclose(wmOperatorType *ot)
-{
-	ot->name= "Open/Close Item";
-	ot->idname= "OUTLINER_OT_item_openclose";
-	ot->description= "Toggle whether item under cursor is enabled or closed";
-	
-	ot->invoke= outliner_item_openclose;
-	
-	ot->poll= ED_operator_outliner_active;
-	
-	RNA_def_boolean(ot->srna, "all", 1, "All", "Close or open all items.");
-
-}
-
-
-/* ********************************************** */
-
-static int do_outliner_item_rename(bContext *C, ARegion *ar, SpaceOops *soops, TreeElement *te, const float mval[2])
-{
-	
-	if(mval[1]>te->ys && mval[1]<te->ys+UI_UNIT_Y) {
-		TreeStoreElem *tselem= TREESTORE(te);
-		
-		/* name and first icon */
-		if(mval[0]>te->xs+UI_UNIT_X && mval[0]<te->xend) {
-			
-			/* can't rename rna datablocks entries */
-			if(ELEM3(tselem->type, TSE_RNA_STRUCT, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM))
-			   ;
-			else if(ELEM10(tselem->type, TSE_ANIM_DATA, TSE_NLA, TSE_DEFGROUP_BASE, TSE_CONSTRAINT_BASE, TSE_MODIFIER_BASE, TSE_SCRIPT_BASE, TSE_POSE_BASE, TSE_POSEGRP_BASE, TSE_R_LAYER_BASE, TSE_R_PASS)) 
-					error("Cannot edit builtin name");
-			else if(ELEM3(tselem->type, TSE_SEQUENCE, TSE_SEQ_STRIP, TSE_SEQUENCE_DUP))
-				error("Cannot edit sequence name");
-			else if(tselem->id->lib) {
-				// XXX						error_libdata();
-			} 
-			else if(te->idcode == ID_LI && te->parent) {
-				error("Cannot edit the path of an indirectly linked library");
-			} 
-			else {
-				tselem->flag |= TSE_TEXTBUT;
-				ED_region_tag_redraw(ar);
-			}
-		}
-		return 1;
-	}
-	
-	for(te= te->subtree.first; te; te= te->next) {
-		if(do_outliner_item_rename(C, ar, soops, te, mval)) return 1;
-	}
-	return 0;
-}
-
-static int outliner_item_rename(bContext *C, wmOperator *UNUSED(op), wmEvent *event)
-{
-	ARegion *ar= CTX_wm_region(C);
-	SpaceOops *soops= CTX_wm_space_outliner(C);
-	TreeElement *te;
-	float fmval[2];
-	
-	UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1], fmval, fmval+1);
-	
-	for(te= soops->tree.first; te; te= te->next) {
-		if(do_outliner_item_rename(C, ar, soops, te, fmval)) break;
-	}
-	
-	return OPERATOR_FINISHED;
-}
-
-
-void OUTLINER_OT_item_rename(wmOperatorType *ot)
-{
-	ot->name= "Rename Item";
-	ot->idname= "OUTLINER_OT_item_rename";
-	ot->description= "Rename item under cursor";
-	
-	ot->invoke= outliner_item_rename;
-	
-	ot->poll= ED_operator_outliner_active;
-}
-
-static TreeElement *outliner_find_id(SpaceOops *soops, ListBase *lb, ID *id)
-{
-	TreeElement *te, *tes;
-	TreeStoreElem *tselem;
-	
-	for(te= lb->first; te; te= te->next) {
-		tselem= TREESTORE(te);
-		if(tselem->type==0) {
-			if(tselem->id==id) return te;
-			/* only deeper on scene or object */
-			if( te->idcode==ID_OB || te->idcode==ID_SCE || (soops->outlinevis == SO_GROUPS && te->idcode==ID_GR)) {
-				tes= outliner_find_id(soops, &te->subtree, id);
-				if(tes) return tes;
-			}
-		}
-	}
-	return NULL;
-}
-
-static int outliner_show_active_exec(bContext *C, wmOperator *UNUSED(op))
-{
-	SpaceOops *so= CTX_wm_space_outliner(C);
-	Scene *scene= CTX_data_scene(C);
-	ARegion *ar= CTX_wm_region(C);
-	View2D *v2d= &ar->v2d;
-	
-	TreeElement *te;
-	int xdelta, ytop;
-	
-	// TODO: make this get this info from context instead...
-	if (OBACT == NULL) 
-		return OPERATOR_CANCELLED;
-	
-	te= outliner_find_id(so, &so->tree, (ID *)OBACT);
-	if (te) {
-		/* make te->ys center of view */
-		ytop= (int)(te->ys + (v2d->mask.ymax - v2d->mask.ymin)/2);
-		if (ytop>0) ytop= 0;
-		
-		v2d->cur.ymax= (float)ytop;
-		v2d->cur.ymin= (float)(ytop-(v2d->mask.ymax - v2d->mask.ymin));
-		
-		/* make te->xs ==> te->xend center of view */
-		xdelta = (int)(te->xs - v2d->cur.xmin);
-		v2d->cur.xmin += xdelta;
-		v2d->cur.xmax += xdelta;
-		
-		so->storeflag |= SO_TREESTORE_REDRAW;
-	}
-	
-	ED_region_tag_redraw(ar);
-	
-	return OPERATOR_FINISHED;
-}
-
-void OUTLINER_OT_show_active(wmOperatorType *ot)
-{
-	/* identifiers */
-	ot->name= "Show Active";
-	ot->idname= "OUTLINER_OT_show_active";
-	ot->description= "Adjust the view so that the active Object is shown centered";
-	
-	/* callbacks */
-	ot->exec= outliner_show_active_exec;
-	ot->poll= ED_operator_outliner_active;
-}
-
-/* tse is not in the treestore, we use its contents to find a match */
-static TreeElement *outliner_find_tse(SpaceOops *soops, TreeStoreElem *tse)
-{
-	TreeStore *ts= soops->treestore;
-	TreeStoreElem *tselem;
-	int a;
-	
-	if(tse->id==NULL) return NULL;
-	
-	/* check if 'tse' is in treestore */
-	tselem= ts->data;
-	for(a=0; a<ts->usedelem; a++, tselem++) {
-		if((tse->type==0 && tselem->type==0) || (tselem->type==tse->type && tselem->nr==tse->nr)) {
-			if(tselem->id==tse->id) {
-				break;
-			}
-		}
-	}
-	if(tselem) 
-		return outliner_find_tree_element(&soops->tree, a);
-	
-	return NULL;
-}
-
-
-/* Called to find an item based on name.
- */
-#if 0
-
-/* recursive helper for function below */
-static void outliner_set_coordinates_element(SpaceOops *soops, TreeElement *te, int startx, int *starty)
-{
-	TreeStoreElem *tselem= TREESTORE(te);
-	
-	/* store coord and continue, we need coordinates for elements outside view too */
-	te->xs= (float)startx;
-	te->ys= (float)(*starty);
-	*starty-= UI_UNIT_Y;
-	
-	if((tselem->flag & TSE_CLOSED)==0) {
-		TreeElement *ten;
-		for(ten= te->subtree.first; ten; ten= ten->next) {
-			outliner_set_coordinates_element(soops, ten, startx+UI_UNIT_X, starty);
-		}
-	}
-	
-}
-
-/* to retrieve coordinates with redrawing the entire tree */
-static void outliner_set_coordinates(ARegion *ar, SpaceOops *soops)
-{
-	TreeElement *te;
-	int starty= (int)(ar->v2d.tot.ymax)-UI_UNIT_Y;
-	int startx= 0;
-	
-	for(te= soops->tree.first; te; te= te->next) {
-		outliner_set_coordinates_element(soops, te, startx, &starty);
-	}
-}
-
-/* find next element that has this name */
-static TreeElement *outliner_find_named(SpaceOops *soops, ListBase *lb, char *name, int flags, TreeElement *prev, int *prevFound)
-{
-	TreeElement *te, *tes;
-	
-	for (te= lb->first; te; te= te->next) {
-		int found = outliner_filter_has_name(te, name, flags);
-		
-		if(found) {
-			/* name is right, but is element the previous one? */
-			if (prev) {
-				if ((te != prev) && (*prevFound)) 
-					return te;
-				if (te == prev) {
-					*prevFound = 1;
-				}
-			}
-			else
-				return te;
-		}
-		
-		tes= outliner_find_named(soops, &te->subtree, name, flags, prev, prevFound);
-		if(tes) return tes;
-	}
-
-	/* nothing valid found */
-	return NULL;
-}
-
-static void outliner_find_panel(Scene *UNUSED(scene), ARegion *ar, SpaceOops *soops, int again, int flags) 
-{
-	TreeElement *te= NULL;
-	TreeElement *last_find;
-	TreeStoreElem *tselem;
-	int ytop, xdelta, prevFound=0;
-	char name[32];
-	
-	/* get last found tree-element based on stored search_tse */
-	last_find= outliner_find_tse(soops, &soops->search_tse);
-	
-	/* determine which type of search to do */
-	if (again && last_find) {
-		/* no popup panel - previous + user wanted to search for next after previous */		
-		BLI_strncpy(name, soops->search_string, sizeof(name));
-		flags= soops->search_flags;
-		
-		/* try to find matching element */
-		te= outliner_find_named(soops, &soops->tree, name, flags, last_find, &prevFound);
-		if (te==NULL) {
-			/* no more matches after previous, start from beginning again */
-			prevFound= 1;
-			te= outliner_find_named(soops, &soops->tree, name, flags, last_find, &prevFound);
-		}
-	}
-	else {
-		/* pop up panel - no previous, or user didn't want search after previous */
-		strcpy(name, "");
-// XXX		if (sbutton(name, 0, sizeof(name)-1, "Find: ") && name[0]) {
-//			te= outliner_find_named(soops, &soops->tree, name, flags, NULL, &prevFound);
-//		}
-//		else return; /* XXX RETURN! XXX */
-	}
-
-	/* do selection and reveal */
-	if (te) {
-		tselem= TREESTORE(te);
-		if (tselem) {
-			/* expand branches so that it will be visible, we need to get correct coordinates */
-			if( outliner_open_back(soops, te))
-				outliner_set_coordinates(ar, soops);
-			
-			/* deselect all visible, and select found element */
-			outliner_set_flag(soops, &soops->tree, TSE_SELECTED, 0);
-			tselem->flag |= TSE_SELECTED;
-			
-			/* make te->ys center of view */
-			ytop= (int)(te->ys + (ar->v2d.mask.ymax-ar->v2d.mask.ymin)/2);
-			if(ytop>0) ytop= 0;
-			ar->v2d.cur.ymax= (float)ytop;
-			ar->v2d.cur.ymin= (float)(ytop-(ar->v2d.mask.ymax-ar->v2d.mask.ymin));
-			
-			/* make te->xs ==> te->xend center of view */
-			xdelta = (int)(te->xs - ar->v2d.cur.xmin);
-			ar->v2d.cur.xmin += xdelta;
-			ar->v2d.cur.xmax += xdelta;
-			
-			/* store selection */
-			soops->search_tse= *tselem;
-			
-			BLI_strncpy(soops->search_string, name, 33);
-			soops->search_flags= flags;
-			
-			/* redraw */
-			soops->storeflag |= SO_TREESTORE_REDRAW;
-		}
-	}
-	else {
-		/* no tree-element found */
-		error("Not found: %s", name);
-	}
-}
-#endif
-
-/* helper function for tree_element_shwo_hierarchy() - recursively checks whether subtrees have any objects*/
-static int subtree_has_objects(SpaceOops *soops, ListBase *lb)
-{
-	TreeElement *te;
-	TreeStoreElem *tselem;
-	
-	for(te= lb->first; te; te= te->next) {
-		tselem= TREESTORE(te);
-		if(tselem->type==0 && te->idcode==ID_OB) return 1;
-		if( subtree_has_objects(soops, &te->subtree)) return 1;
-	}
-	return 0;
-}
-
-/* recursive helper function for Show Hierarchy operator */
-static void tree_element_show_hierarchy(Scene *scene, SpaceOops *soops, ListBase *lb)
-{
-	TreeElement *te;
-	TreeStoreElem *tselem;
-
-	/* open all object elems, close others */
-	for(te= lb->first; te; te= te->next) {
-		tselem= TREESTORE(te);
-		
-		if(tselem->type==0) {
-			if(te->idcode==ID_SCE) {
-				if(tselem->id!=(ID *)scene) tselem->flag |= TSE_CLOSED;
-					else tselem->flag &= ~TSE_CLOSED;
-			}
-			else if(te->idcode==ID_OB) {
-				if(subtree_has_objects(soops, &te->subtree)) tselem->flag &= ~TSE_CLOSED;
-				else tselem->flag |= TSE_CLOSED;
-			}
-		}
-		else tselem->flag |= TSE_CLOSED;
-		
-		if(tselem->flag & TSE_CLOSED); else tree_element_show_hierarchy(scene, soops, &te->subtree);
-	}
-}
-
-/* show entire object level hierarchy */
-static int outliner_show_hierarchy_exec(bContext *C, wmOperator *UNUSED(op))
-{
-	SpaceOops *soops= CTX_wm_space_outliner(C);
-	ARegion *ar= CTX_wm_region(C);
-	Scene *scene= CTX_data_scene(C);
-	
-	/* recursively open/close levels */
-	tree_element_show_hierarchy(scene, soops, &soops->tree);
-	
-	ED_region_tag_redraw(ar);
-	
-	return OPERATOR_FINISHED;
-}
-
-void OUTLINER_OT_show_hierarchy(wmOperatorType *ot)
-{
-	/* identifiers */
-	ot->name= "Show Hierarchy";
-	ot->idname= "OUTLINER_OT_show_hierarchy";
-	ot->description= "Open all object entries and close all others";
-	
-	/* callbacks */
-	ot->exec= outliner_show_hierarchy_exec;
-	ot->poll= ED_operator_outliner_active; //  TODO: shouldn't be allowed in RNA views...
-	
-	/* no undo or registry, UI option */
-}
-
-void outliner_select(SpaceOops *soops, ListBase *lb, int *index, short *selecting)
-{
-	TreeElement *te;
-	TreeStoreElem *tselem;
-	
-	for (te= lb->first; te && *index >= 0; te=te->next, (*index)--) {
-		tselem= TREESTORE(te);
-		
-		/* if we've encountered the right item, set its 'Outliner' selection status */
-		if (*index == 0) {
-			/* this should be the last one, so no need to do anything with index */
-			if ((te->flag & TE_ICONROW)==0) {
-				/* -1 value means toggle testing for now... */
-				if (*selecting == -1) {
-					if (tselem->flag & TSE_SELECTED) 
-						*selecting= 0;
-					else 
-						*selecting= 1;
-				}
-				
-				/* set selection */
-				if (*selecting) 
-					tselem->flag |= TSE_SELECTED;
-				else 
-					tselem->flag &= ~TSE_SELECTED;
-			}
-		}
-		else if ((tselem->flag & TSE_CLOSED)==0) {
-			/* Only try selecting sub-elements if we haven't hit the right element yet
-			 *
-			 * Hack warning:
-			 * 	Index must be reduced before supplying it to the sub-tree to try to do
-			 * 	selection, however, we need to increment it again for the next loop to 
-			 * 	function correctly
-			 */
-			(*index)--;
-			outliner_select(soops, &te->subtree, index, selecting);
-			(*index)++;
-		}
-	}
-}
-
-/* ************ SELECTION OPERATIONS ********* */
-
-static void set_operation_types(SpaceOops *soops, ListBase *lb,
-				int *scenelevel,
-				int *objectlevel,
-				int *idlevel,
-				int *datalevel)
-{
-	TreeElement *te;
-	TreeStoreElem *tselem;
-	
-	for(te= lb->first; te; te= te->next) {
-		tselem= TREESTORE(te);
-		if(tselem->flag & TSE_SELECTED) {
-			if(tselem->type) {
-				if(*datalevel==0) 
-					*datalevel= tselem->type;
-				else if(*datalevel!=tselem->type) 
-					*datalevel= -1;
-			}
-			else {
-				int idcode= GS(tselem->id->name);
-				switch(idcode) {
-					case ID_SCE:
-						*scenelevel= 1;
-						break;
-					case ID_OB:
-						*objectlevel= 1;
-						break;
-						
-					case ID_ME: case ID_CU: case ID_MB: case ID_LT:
-					case ID_LA: case ID_AR: case ID_CA:
-					case ID_MA: case ID_TE: case ID_IP: case ID_IM:
-					case ID_SO: case ID_KE: case ID_WO: case ID_AC:
-					case ID_NLA: case ID_TXT: case ID_GR:
-						if(*idlevel==0) *idlevel= idcode;
-						else if(*idlevel!=idcode) *idlevel= -1;
-							break;
-				}
-			}
-		}
-		if((tselem->flag & TSE_CLOSED)==0) {
-			set_operation_types(soops, &te->subtree,
-								scenelevel, objectlevel, idlevel, datalevel);
-		}
-	}
-}
-
-static void unlink_material_cb(bContext *UNUSED(C), Scene *UNUSED(scene), TreeElement *te, TreeStoreElem *tsep, TreeStoreElem *UNUSED(tselem))
-{
-	Material **matar=NULL;
-	int a, totcol=0;
-	
-	if( GS(tsep->id->name)==ID_OB) {
-		Object *ob= (Object *)tsep->id;
-		totcol= ob->totcol;
-		matar= ob->mat;
-	}
-	else if( GS(tsep->id->name)==ID_ME) {
-		Mesh *me= (Mesh *)tsep->id;
-		totcol= me->totcol;
-		matar= me->mat;
-	}
-	else if( GS(tsep->id->name)==ID_CU) {
-		Curve *cu= (Curve *)tsep->id;
-		totcol= cu->totcol;
-		matar= cu->mat;
-	}
-	else if( GS(tsep->id->name)==ID_MB) {
-		MetaBall *mb= (MetaBall *)tsep->id;
-		totcol= mb->totcol;
-		matar= mb->mat;
-	}
-
-	for(a=0; a<totcol; a++) {
-		if(a==te->index && matar[a]) {
-			matar[a]->id.us--;
-			matar[a]= NULL;
-		}
-	}
-}
-
-static void unlink_texture_cb(bContext *UNUSED(C), Scene *UNUSED(scene), TreeElement *te, TreeStoreElem *tsep, TreeStoreElem *UNUSED(tselem))
-{
-	MTex **mtex= NULL;
-	int a;
-	
-	if( GS(tsep->id->name)==ID_MA) {
-		Material *ma= (Material *)tsep->id;
-		mtex= ma->mtex;
-	}
-	else if( GS(tsep->id->name)==ID_LA) {
-		Lamp *la= (Lamp *)tsep->id;
-		mtex= la->mtex;
-	}
-	else if( GS(tsep->id->name)==ID_WO) {
-		World *wrld= (World *)tsep->id;
-		mtex= wrld->mtex;
-	}
-	else return;
-	
-	for(a=0; a<MAX_MTEX; a++) {
-		if(a==te->index && mtex[a]) {
-			if(mtex[a]->tex) {
-				mtex[a]->tex->id.us--;
-				mtex[a]->tex= NULL;
-			}
-		}
-	}
-}
-
-static void unlink_group_cb(bContext *UNUSED(C), Scene *UNUSED(scene), TreeElement *UNUSED(te), TreeStoreElem *tsep, TreeStoreElem *tselem)
-{
-	Group *group= (Group *)tselem->id;
-	
-	if(tsep) {
-		if( GS(tsep->id->name)==ID_OB) {
-			Object *ob= (Object *)tsep->id;
-			ob->dup_group= NULL;
-		}
-	}
-	else {
-		unlink_group(group);
-	}
-}
-
-static void outliner_do_libdata_operation(bContext *C, Scene *scene, SpaceOops *soops, ListBase *lb, 
-										 void (*operation_cb)(bContext *C, Scene *scene, TreeElement *, TreeStoreElem *, TreeStoreElem *))
-{
-	TreeElement *te;
-	TreeStoreElem *tselem;
-	
-	for(te=lb->first; te; te= te->next) {
-		tselem= TREESTORE(te);
-		if(tselem->flag & TSE_SELECTED) {
-			if(tselem->type==0) {
-				TreeStoreElem *tsep= TREESTORE(te->parent);
-				operation_cb(C, scene, te, tsep, tselem);
-			}
-		}
-		if((tselem->flag & TSE_CLOSED)==0) {
-			outliner_do_libdata_operation(C, scene, soops, &te->subtree, operation_cb);
-		}
-	}
-}
-
-/* */
-
-static void object_select_cb(bContext *UNUSED(C), Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
-{
-	Base *base= (Base *)te->directdata;
-	
-	if(base==NULL) base= object_in_scene((Object *)tselem->id, scene);
-	if(base && ((base->object->restrictflag & OB_RESTRICT_VIEW)==0)) {
-		base->flag |= SELECT;
-		base->object->flag |= SELECT;
-	}
-}
-
-static void object_deselect_cb(bContext *UNUSED(C), Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
-{
-	Base *base= (Base *)te->directdata;
-	
-	if(base==NULL) base= object_in_scene((Object *)tselem->id, scene);
-	if(base) {
-		base->flag &= ~SELECT;
-		base->object->flag &= ~SELECT;
-	}
-}
-
-static void object_delete_cb(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
-{
-	Base *base= (Base *)te->directdata;
-	
-	if(base==NULL) 
-		base= object_in_scene((Object *)tselem->id, scene);
-	if(base) {
-		// check also library later
-		if(scene->obedit==base->object) 
-			ED_object_exit_editmode(C, EM_FREEDATA|EM_FREEUNDO|EM_WAITCURSOR|EM_DO_UNDO);
-		
-		ED_base_object_free_and_unlink(CTX_data_main(C), scene, base);
-		te->directdata= NULL;
-		tselem->id= NULL;
-	}
-
-}
-
-static void id_local_cb(bContext *UNUSED(C), Scene *UNUSED(scene), TreeElement *UNUSED(te), TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
-{
-	if(tselem->id->lib && (tselem->id->flag & LIB_EXTERN)) {
-		tselem->id->lib= NULL;
-		tselem->id->flag= LIB_LOCAL;
-		new_id(NULL, tselem->id, NULL);
-	}
-}
-
-static void group_linkobs2scene_cb(bContext *UNUSED(C), Scene *scene, TreeElement *UNUSED(te), TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
-{
-	Group *group= (Group *)tselem->id;
-	GroupObject *gob;
-	Base *base;
-	
-	for(gob=group->gobject.first; gob; gob=gob->next) {
-		base= object_in_scene(gob->ob, scene);
-		if (base) {
-			base->object->flag |= SELECT;
-			base->flag |= SELECT;
-		} else {
-			/* link to scene */
-			base= MEM_callocN( sizeof(Base), "add_base");
-			BLI_addhead(&scene->base, base);
-			base->lay= (1<<20)-1; /*v3d->lay;*/ /* would be nice to use the 3d layer but the include's not here */
-			gob->ob->flag |= SELECT;
-			base->flag = gob->ob->flag;
-			base->object= gob->ob;
-			id_lib_extern((ID *)gob->ob); /* incase these are from a linked group */
-		}
-	}
-}
-
-static void outliner_do_object_operation(bContext *C, Scene *scene_act, SpaceOops *soops, ListBase *lb, 
-										 void (*operation_cb)(bContext *C, Scene *scene, TreeElement *, TreeStoreElem *, TreeStoreElem *))
-{
-	TreeElement *te;
-	TreeStoreElem *tselem;
-	
-	for(te=lb->first; te; te= te->next) {
-		tselem= TREESTORE(te);
-		if(tselem->flag & TSE_SELECTED) {
-			if(tselem->type==0 && te->idcode==ID_OB) {
-				// when objects selected in other scenes... dunno if that should be allowed
-				Scene *scene_owner= (Scene *)outliner_search_back(soops, te, ID_SCE);
-				if(scene_owner && scene_act != scene_owner) {
-					ED_screen_set_scene(C, scene_owner);
-				}
-				/* important to use 'scene_owner' not scene_act else deleting objects can crash.
-				 * only use 'scene_act' when 'scene_owner' is NULL, which can happen when the
-				 * outliner isnt showing scenes: Visible Layer draw mode for eg. */
-				operation_cb(C, scene_owner ? scene_owner : scene_act, te, NULL, tselem);
-			}
-		}
-		if((tselem->flag & TSE_CLOSED)==0) {
-			outliner_do_object_operation(C, scene_act, soops, &te->subtree, operation_cb);
-		}
-	}
-}
-
-/* ******************************************** */
-
-static void pchan_cb(int event, TreeElement *te, TreeStoreElem *UNUSED(tselem))
-{
-	bPoseChannel *pchan= (bPoseChannel *)te->directdata;
-	
-	if(event==1)
-		pchan->bone->flag |= BONE_SELECTED;
-	else if(event==2)
-		pchan->bone->flag &= ~BONE_SELECTED;
-	else if(event==3) {
-		pchan->bone->flag |= BONE_HIDDEN_P;
-		pchan->bone->flag &= ~BONE_SELECTED;
-	}
-	else if(event==4)
-		pchan->bone->flag &= ~BONE_HIDDEN_P;
-}
-
-static void bone_cb(int event, TreeElement *te, TreeStoreElem *UNUSED(tselem))
-{
-	Bone *bone= (Bone *)te->directdata;
-	
-	if(event==1)
-		bone->flag |= BONE_SELECTED;
-	else if(event==2)
-		bone->flag &= ~BONE_SELECTED;
-	else if(event==3) {
-		bone->flag |= BONE_HIDDEN_P;
-		bone->flag &= ~BONE_SELECTED;
-	}
-	else if(event==4)
-		bone->flag &= ~BONE_HIDDEN_P;
-}
-
-static void ebone_cb(int event, TreeElement *te, TreeStoreElem *UNUSED(tselem))
-{
-	EditBone *ebone= (EditBone *)te->directdata;
-	
-	if(event==1)
-		ebone->flag |= BONE_SELECTED;
-	else if(event==2)
-		ebone->flag &= ~BONE_SELECTED;
-	else if(event==3) {
-		ebone->flag |= BONE_HIDDEN_A;
-		ebone->flag &= ~BONE_SELECTED|BONE_TIPSEL|BONE_ROOTSEL;
-	}
-	else if(event==4)
-		ebone->flag &= ~BONE_HIDDEN_A;
-}
-
-static void sequence_cb(int event, TreeElement *UNUSED(te), TreeStoreElem *UNUSED(tselem))
-{
-//	Sequence *seq= (Sequence*) te->directdata;
-	if(event==1) {
-// XXX		select_single_seq(seq, 1);
-	}
-}
-
-static void outliner_do_data_operation(SpaceOops *soops, int type, int event, ListBase *lb, 
-										 void (*operation_cb)(int, TreeElement *, TreeStoreElem *))
-{
-	TreeElement *te;
-	TreeStoreElem *tselem;
-	
-	for(te=lb->first; te; te= te->next) {
-		tselem= TREESTORE(te);
-		if(tselem->flag & TSE_SELECTED) {
-			if(tselem->type==type) {
-				operation_cb(event, te, tselem);
-			}
-		}
-		if((tselem->flag & TSE_CLOSED)==0) {
-			outliner_do_data_operation(soops, type, event, &te->subtree, operation_cb);
-		}
-	}
-}
-
-static void outliner_del(bContext *C, Scene *scene, ARegion *UNUSED(ar), SpaceOops *soops)
-{
-	
-	if(soops->outlinevis==SO_SEQUENCE)
-		;//		del_seq();
-	else {
-		outliner_do_object_operation(C, scene, soops, &soops->tree, object_delete_cb);
-		DAG_scene_sort(CTX_data_main(C), scene);
-		ED_undo_push(C, "Delete Objects");
-		WM_event_add_notifier(C, NC_SCENE|ND_OB_ACTIVE, scene);
-	}
-}
-
-/* **************************************** */
-
-static EnumPropertyItem prop_object_op_types[] = {
-	{1, "SELECT", 0, "Select", ""},
-	{2, "DESELECT", 0, "Deselect", ""},
-	{4, "DELETE", 0, "Delete", ""},
-	{6, "TOGVIS", 0, "Toggle Visible", ""},
-	{7, "TOGSEL", 0, "Toggle Selectable", ""},
-	{8, "TOGREN", 0, "Toggle Renderable", ""},
-	{0, NULL, 0, NULL, NULL}
-};
-
-static int outliner_object_operation_exec(bContext *C, wmOperator *op)
-{
-	Main *bmain= CTX_data_main(C);
-	Scene *scene= CTX_data_scene(C);
-	SpaceOops *soops= CTX_wm_space_outliner(C);
-	int event;
-	const char *str= NULL;
-	
-	/* check for invalid states */
-	if (soops == NULL)
-		return OPERATOR_CANCELLED;
-	
-	event= RNA_enum_get(op->ptr, "type");
-
-	if(event==1) {
-		Scene *sce= scene;	// to be able to delete, scenes are set...
-		outliner_do_object_operation(C, scene, soops, &soops->tree, object_select_cb);
-		if(scene != sce) {
-			ED_screen_set_scene(C, sce);
-		}
-		
-		str= "Select Objects";
-		WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
-	}
-	else if(event==2) {
-		outliner_do_object_operation(C, scene, soops, &soops->tree, object_deselect_cb);
-		str= "Deselect Objects";
-		WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
-	}
-	else if(event==4) {
-		outliner_do_object_operation(C, scene, soops, &soops->tree, object_delete_cb);
-		DAG_scene_sort(bmain, scene);
-		str= "Delete Objects";
-		WM_event_add_notifier(C, NC_SCENE|ND_OB_ACTIVE, scene);
-	}
-	else if(event==5) {	/* disabled, see above enum (ton) */
-		outliner_do_object_operation(C, scene, soops, &soops->tree, id_local_cb);
-		str= "Localized Objects";
-	}
-	else if(event==6) {
-		outliner_do_object_operation(C, scene, soops, &soops->tree, object_toggle_visibility_cb);
-		str= "Toggle Visibility";
-		WM_event_add_notifier(C, NC_SCENE|ND_OB_VISIBLE, scene);
-	}
-	else if(event==7) {
-		outliner_do_object_operation(C, scene, soops, &soops->tree, object_toggle_selectability_cb);
-		str= "Toggle Selectability";
-		WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
-	}
-	else if(event==8) {
-		outliner_do_object_operation(C, scene, soops, &soops->tree, object_toggle_renderability_cb);
-		str= "Toggle Renderability";
-		WM_event_add_notifier(C, NC_SCENE|ND_OB_RENDER, scene);
-	}
-
-	ED_undo_push(C, str);
-	
-	return OPERATOR_FINISHED;
-}
-
-
-void OUTLINER_OT_object_operation(wmOperatorType *ot)
-{
-	/* identifiers */
-	ot->name= "Outliner Object Operation";
-	ot->idname= "OUTLINER_OT_object_operation";
-	ot->description= "";
-	
-	/* callbacks */
-	ot->invoke= WM_menu_invoke;
-	ot->exec= outliner_object_operation_exec;
-	ot->poll= ED_operator_outliner_active;
-	
-	ot->flag= 0;
-
-	ot->prop= RNA_def_enum(ot->srna, "type", prop_object_op_types, 0, "Object Operation", "");
-}
-
-/* **************************************** */
-
-static EnumPropertyItem prop_group_op_types[] = {
-	{1, "UNLINK", 0, "Unlink", ""},
-	{2, "LOCAL", 0, "Make Local", ""},
-	{3, "LINK", 0, "Link Group Objects to Scene", ""},
-	{4, "TOGVIS", 0, "Toggle Visible", ""},
-	{5, "TOGSEL", 0, "Toggle Selectable", ""},
-	{6, "TOGREN", 0, "Toggle Renderable", ""},
-	{0, NULL, 0, NULL, NULL}
-};
-
-static int outliner_group_operation_exec(bContext *C, wmOperator *op)
-{
-	Scene *scene= CTX_data_scene(C);
-	SpaceOops *soops= CTX_wm_space_outliner(C);
-	int event;
-	
-	/* check for invalid states */
-	if (soops == NULL)
-		return OPERATOR_CANCELLED;
-	
-	event= RNA_enum_get(op->ptr, "type");
-	
-	if(event==1) {
-		outliner_do_libdata_operation(C, scene, soops, &soops->tree, unlink_group_cb);
-		ED_undo_push(C, "Unlink group");
-	}
-	else if(event==2) {
-		outliner_do_libdata_operation(C, scene, soops, &soops->tree, id_local_cb);
-		ED_undo_push(C, "Localized Data");
-	}
-	else if(event==3) {
-		outliner_do_libdata_operation(C, scene, soops, &soops->tree, group_linkobs2scene_cb);
-		ED_undo_push(C, "Link Group Objects to Scene");
-	}
-	
-	
-	WM_event_add_notifier(C, NC_GROUP, NULL);
-	
-	return OPERATOR_FINISHED;
-}
-
-
-void OUTLINER_OT_group_operation(wmOperatorType *ot)
-{
-	/* identifiers */
-	ot->name= "Outliner Group Operation";
-	ot->idname= "OUTLINER_OT_group_operation";
-	ot->description= "";
-	
-	/* callbacks */
-	ot->invoke= WM_menu_invoke;
-	ot->exec= outliner_group_operation_exec;
-	ot->poll= ED_operator_outliner_active;
-	
-	ot->flag= 0;
-	
-	ot->prop= RNA_def_enum(ot->srna, "type", prop_group_op_types, 0, "Group Operation", "");
-}
-
-/* **************************************** */
-
-static EnumPropertyItem prop_id_op_types[] = {
-	{1, "UNLINK", 0, "Unlink", ""},
-	{2, "LOCAL", 0, "Make Local", ""},
-	{0, NULL, 0, NULL, NULL}
-};
-
-static int outliner_id_operation_exec(bContext *C, wmOperator *op)
-{
-	Scene *scene= CTX_data_scene(C);
-	SpaceOops *soops= CTX_wm_space_outliner(C);
-	int scenelevel=0, objectlevel=0, idlevel=0, datalevel=0;
-	int event;
-	
-	/* check for invalid states */
-	if (soops == NULL)
-		return OPERATOR_CANCELLED;
-	
-	set_operation_types(soops, &soops->tree, &scenelevel, &objectlevel, &idlevel, &datalevel);
-	
-	event= RNA_enum_get(op->ptr, "type");
-	
-	if(event==1) {
-		switch(idlevel) {
-			case ID_MA:
-				outliner_do_libdata_operation(C, scene, soops, &soops->tree, unlink_material_cb);
-				ED_undo_push(C, "Unlink material");
-				break;
-			case ID_TE:
-				outliner_do_libdata_operation(C, scene, soops, &soops->tree, unlink_texture_cb);
-				ED_undo_push(C, "Unlink texture");
-				break;
-			default:
-				BKE_report(op->reports, RPT_WARNING, "Not Yet");
-		}
-	}
-	else if(event==2) {
-		outliner_do_libdata_operation(C, scene, soops, &soops->tree, id_local_cb);
-		ED_undo_push(C, "Localized Data");
-	}
-	
-	/* wrong notifier still... */
-	WM_event_add_notifier(C, NC_OBJECT, NULL);
-	
-	return OPERATOR_FINISHED;
-}
-
-
-void OUTLINER_OT_id_operation(wmOperatorType *ot)
-{
-	/* identifiers */
-	ot->name= "Outliner ID data Operation";
-	ot->idname= "OUTLINER_OT_id_operation";
-	ot->description= "";
-	
-	/* callbacks */
-	ot->invoke= WM_menu_invoke;
-	ot->exec= outliner_id_operation_exec;
-	ot->poll= ED_operator_outliner_active;
-	
-	ot->flag= 0;
-	
-	ot->prop= RNA_def_enum(ot->srna, "type", prop_id_op_types, 0, "ID data Operation", "");
-}
-
-/* **************************************** */
-
-static EnumPropertyItem prop_data_op_types[] = {
-	{1, "SELECT", 0, "Select", ""},
-	{2, "DESELECT", 0, "Deselect", ""},
-	{3, "HIDE", 0, "Hide", ""},
-	{4, "UNHIDE", 0, "Unhide", ""},
-	{0, NULL, 0, NULL, NULL}
-};
-
-static int outliner_data_operation_exec(bContext *C, wmOperator *op)
-{
-	SpaceOops *soops= CTX_wm_space_outliner(C);
-	int scenelevel=0, objectlevel=0, idlevel=0, datalevel=0;
-	int event;
-	
-	/* check for invalid states */
-	if (soops == NULL)
-		return OPERATOR_CANCELLED;
-	
-	event= RNA_enum_get(op->ptr, "type");
-	set_operation_types(soops, &soops->tree, &scenelevel, &objectlevel, &idlevel, &datalevel);
-	
-	if(datalevel==TSE_POSE_CHANNEL) {
-		if(event>0) {
-			outliner_do_data_operation(soops, datalevel, event, &soops->tree, pchan_cb);
-			WM_event_add_notifier(C, NC_OBJECT|ND_POSE, NULL);
-			ED_undo_push(C, "PoseChannel operation");
-		}
-	}
-	else if(datalevel==TSE_BONE) {
-		if(event>0) {
-			outliner_do_data_operation(soops, datalevel, event, &soops->tree, bone_cb);
-			WM_event_add_notifier(C, NC_OBJECT|ND_POSE, NULL);
-			ED_undo_push(C, "Bone operation");
-		}
-	}
-	else if(datalevel==TSE_EBONE) {
-		if(event>0) {
-			outliner_do_data_operation(soops, datalevel, event, &soops->tree, ebone_cb);
-			WM_event_add_notifier(C, NC_OBJECT|ND_POSE, NULL);
-			ED_undo_push(C, "EditBone operation");
-		}
-	}
-	else if(datalevel==TSE_SEQUENCE) {
-		if(event>0) {
-			outliner_do_data_operation(soops, datalevel, event, &soops->tree, sequence_cb);
-		}
-	}
-	
-	return OPERATOR_FINISHED;
-}
-
-
-void OUTLINER_OT_data_operation(wmOperatorType *ot)
-{
-	/* identifiers */
-	ot->name= "Outliner Data Operation";
-	ot->idname= "OUTLINER_OT_data_operation";
-	ot->description= "";
-	
-	/* callbacks */
-	ot->invoke= WM_menu_invoke;
-	ot->exec= outliner_data_operation_exec;
-	ot->poll= ED_operator_outliner_active;
-	
-	ot->flag= 0;
-	
-	ot->prop= RNA_def_enum(ot->srna, "type", prop_data_op_types, 0, "Data Operation", "");
-}
-
-
-/* ******************** */
-
-
-static int do_outliner_operation_event(bContext *C, Scene *scene, ARegion *ar, SpaceOops *soops, TreeElement *te, wmEvent *event, const float mval[2])
-{
-	
-	if(mval[1]>te->ys && mval[1]<te->ys+UI_UNIT_Y) {
-		int scenelevel=0, objectlevel=0, idlevel=0, datalevel=0;
-		TreeStoreElem *tselem= TREESTORE(te);
-		
-		/* select object that's clicked on and popup context menu */
-		if (!(tselem->flag & TSE_SELECTED)) {
-			
-			if ( outliner_has_one_flag(soops, &soops->tree, TSE_SELECTED, 1) )
-				outliner_set_flag(soops, &soops->tree, TSE_SELECTED, 0);
-			
-			tselem->flag |= TSE_SELECTED;
-			/* redraw, same as outliner_select function */
-			soops->storeflag |= SO_TREESTORE_REDRAW;
-			ED_region_tag_redraw(ar);
-		}
-		
-		set_operation_types(soops, &soops->tree, &scenelevel, &objectlevel, &idlevel, &datalevel);
-		
-		if(scenelevel) {
-			//if(objectlevel || datalevel || idlevel) error("Mixed selection");
-			//else pupmenu("Scene Operations%t|Delete");
-		}
-		else if(objectlevel) {
-			WM_operator_name_call(C, "OUTLINER_OT_object_operation", WM_OP_INVOKE_REGION_WIN, NULL);
-		}
-		else if(idlevel) {
-			if(idlevel==-1 || datalevel) error("Mixed selection");
-			else {
-				if (idlevel==ID_GR)
-					WM_operator_name_call(C, "OUTLINER_OT_group_operation", WM_OP_INVOKE_REGION_WIN, NULL);
-				else
-					WM_operator_name_call(C, "OUTLINER_OT_id_operation", WM_OP_INVOKE_REGION_WIN, NULL);
-			}
-		}
-		else if(datalevel) {
-			if(datalevel==-1) error("Mixed selection");
-			else {
-				WM_operator_name_call(C, "OUTLINER_OT_data_operation", WM_OP_INVOKE_REGION_WIN, NULL);
-			}
-		}
-		
-		return 1;
-	}
-	
-	for(te= te->subtree.first; te; te= te->next) {
-		if(do_outliner_operation_event(C, scene, ar, soops, te, event, mval)) 
-			return 1;
-	}
-	return 0;
-}
-
-
-static int outliner_operation(bContext *C, wmOperator *UNUSED(op), wmEvent *event)
-{
-	Scene *scene= CTX_data_scene(C);
-	ARegion *ar= CTX_wm_region(C);
-	SpaceOops *soops= CTX_wm_space_outliner(C);
-	TreeElement *te;
-	float fmval[2];
-	
-	UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1], fmval, fmval+1);
-	
-	for(te= soops->tree.first; te; te= te->next) {
-		if(do_outliner_operation_event(C, scene, ar, soops, te, event, fmval)) break;
-	}
-	
-	return OPERATOR_FINISHED;
-}
-
-/* Menu only! Calls other operators */
-void OUTLINER_OT_operation(wmOperatorType *ot)
-{
-	ot->name= "Execute Operation";
-	ot->idname= "OUTLINER_OT_operation";
-	ot->description= "Context menu for item operations";
-	
-	ot->invoke= outliner_operation;
-	
-	ot->poll= ED_operator_outliner_active;
-}
-
-
-
-/* ***************** ANIMATO OPERATIONS ********************************** */
-/* KeyingSet and Driver Creation - Helper functions */
-
-/* specialised poll callback for these operators to work in Datablocks view only */
-static int ed_operator_outliner_datablocks_active(bContext *C)
-{
-	ScrArea *sa= CTX_wm_area(C);
-	if ((sa) && (sa->spacetype==SPACE_OUTLINER)) {
-		SpaceOops *so= CTX_wm_space_outliner(C);
-		return (so->outlinevis == SO_DATABLOCKS);
-	}
-	return 0;
-}
-
-
-/* Helper func to extract an RNA path from selected tree element 
- * NOTE: the caller must zero-out all values of the pointers that it passes here first, as
- * this function does not do that yet 
- */
-static void tree_element_to_path(SpaceOops *soops, TreeElement *te, TreeStoreElem *tselem, 
-							ID **id, char **path, int *array_index, short *flag, short *UNUSED(groupmode))
-{
-	ListBase hierarchy = {NULL, NULL};
-	LinkData *ld;
-	TreeElement *tem, *temnext, *temsub;
-	TreeStoreElem *tse, *tsenext;
-	PointerRNA *ptr, *nextptr;
-	PropertyRNA *prop;
-	char *newpath=NULL;
-	
-	/* optimise tricks:
-	 *	- Don't do anything if the selected item is a 'struct', but arrays are allowed
-	 */
-	if (tselem->type == TSE_RNA_STRUCT)
-		return;
-	
-	/* Overview of Algorithm:
-	 * 	1. Go up the chain of parents until we find the 'root', taking note of the 
-	 *	   levels encountered in reverse-order (i.e. items are added to the start of the list
-	 *      for more convenient looping later)
-	 * 	2. Walk down the chain, adding from the first ID encountered 
-	 *	   (which will become the 'ID' for the KeyingSet Path), and build a  
-	 * 		path as we step through the chain
-	 */
-	 
-	/* step 1: flatten out hierarchy of parents into a flat chain */
-	for (tem= te->parent; tem; tem= tem->parent) {
-		ld= MEM_callocN(sizeof(LinkData), "LinkData for tree_element_to_path()");
-		ld->data= tem;
-		BLI_addhead(&hierarchy, ld);
-	}
-	
-	/* step 2: step down hierarchy building the path (NOTE: addhead in previous loop was needed so that we can loop like this) */
-	for (ld= hierarchy.first; ld; ld= ld->next) {
-		/* get data */
-		tem= (TreeElement *)ld->data;
-		tse= TREESTORE(tem);
-		ptr= &tem->rnaptr;
-		prop= tem->directdata;
-		
-		/* check if we're looking for first ID, or appending to path */
-		if (*id) {
-			/* just 'append' property to path 
-			 *	- to prevent memory leaks, we must write to newpath not path, then free old path + swap them
-			 */
-			if(tse->type == TSE_RNA_PROPERTY) {
-				if(RNA_property_type(prop) == PROP_POINTER) {
-					/* for pointer we just append property name */
-					newpath= RNA_path_append(*path, ptr, prop, 0, NULL);
-				}
-				else if(RNA_property_type(prop) == PROP_COLLECTION) {
-					char buf[128], *name;
-					
-					temnext= (TreeElement*)(ld->next->data);
-					tsenext= TREESTORE(temnext);
-					
-					nextptr= &temnext->rnaptr;
-					name= RNA_struct_name_get_alloc(nextptr, buf, sizeof(buf));
-					
-					if(name) {
-						/* if possible, use name as a key in the path */
-						newpath= RNA_path_append(*path, NULL, prop, 0, name);
-						
-						if(name != buf)
-							MEM_freeN(name);
-					}
-					else {
-						/* otherwise use index */
-						int index= 0;
-						
-						for(temsub=tem->subtree.first; temsub; temsub=temsub->next, index++)
-							if(temsub == temnext)
-								break;
-						
-						newpath= RNA_path_append(*path, NULL, prop, index, NULL);
-					}
-					
-					ld= ld->next;
-				}
-			}
-			
-			if(newpath) {
-				if (*path) MEM_freeN(*path);
-				*path= newpath;
-				newpath= NULL;
-			}
-		}
-		else {
-			/* no ID, so check if entry is RNA-struct, and if that RNA-struct is an ID datablock to extract info from */
-			if (tse->type == TSE_RNA_STRUCT) {
-				/* ptr->data not ptr->id.data seems to be the one we want, since ptr->data is sometimes the owner of this ID? */
-				if(RNA_struct_is_ID(ptr->type)) {
-					*id= (ID *)ptr->data;
-					
-					/* clear path */
-					if(*path) {
-						MEM_freeN(*path);
-						path= NULL;
-					}
-				}
-			}
-		}
-	}
-
-	/* step 3: if we've got an ID, add the current item to the path */
-	if (*id) {
-		/* add the active property to the path */
-		ptr= &te->rnaptr;
-		prop= te->directdata;
-		
-		/* array checks */
-		if (tselem->type == TSE_RNA_ARRAY_ELEM) {
-			/* item is part of an array, so must set the array_index */
-			*array_index= te->index;
-		}
-		else if (RNA_property_array_length(ptr, prop)) {
-			/* entire array was selected, so keyframe all */
-			*flag |= KSP_FLAG_WHOLE_ARRAY;
-		}
-		
-		/* path */
-		newpath= RNA_path_append(*path, NULL, prop, 0, NULL);
-		if (*path) MEM_freeN(*path);
-		*path= newpath;
-	}
-
-	/* free temp data */
-	BLI_freelistN(&hierarchy);
-}
-
-/* ***************** KEYINGSET OPERATIONS *************** */
-
-/* These operators are only available in databrowser mode for now, as
- * they depend on having RNA paths and/or hierarchies available.
- */
-enum {
-	DRIVERS_EDITMODE_ADD	= 0,
-	DRIVERS_EDITMODE_REMOVE,
-} /*eDrivers_EditModes*/;
-
-/* Utilities ---------------------------------- */ 
-
-/* Recursively iterate over tree, finding and working on selected items */
-static void do_outliner_drivers_editop(SpaceOops *soops, ListBase *tree, ReportList *reports, short mode)
-{
-	TreeElement *te;
-	TreeStoreElem *tselem;
-	
-	for (te= tree->first; te; te=te->next) {
-		tselem= TREESTORE(te);
-		
-		/* if item is selected, perform operation */
-		if (tselem->flag & TSE_SELECTED) {
-			ID *id= NULL;
-			char *path= NULL;
-			int array_index= 0;
-			short flag= 0;
-			short groupmode= KSP_GROUP_KSNAME;
-			
-			/* check if RNA-property described by this selected element is an animateable prop */
-			if (ELEM(tselem->type, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM) && RNA_property_animateable(&te->rnaptr, te->directdata)) {
-				/* get id + path + index info from the selected element */
-				tree_element_to_path(soops, te, tselem, 
-						&id, &path, &array_index, &flag, &groupmode);
-			}
-			
-			/* only if ID and path were set, should we perform any actions */
-			if (id && path) {
-				short dflags = CREATEDRIVER_WITH_DEFAULT_DVAR;
-				int arraylen = 1;
-				
-				/* array checks */
-				if (flag & KSP_FLAG_WHOLE_ARRAY) {
-					/* entire array was selected, so add drivers for all */
-					arraylen= RNA_property_array_length(&te->rnaptr, te->directdata);
-				}
-				else
-					arraylen= array_index;
-				
-				/* we should do at least one step */
-				if (arraylen == array_index)
-					arraylen++;
-				
-				/* for each array element we should affect, add driver */
-				for (; array_index < arraylen; array_index++) {
-					/* action depends on mode */
-					switch (mode) {
-						case DRIVERS_EDITMODE_ADD:
-						{
-							/* add a new driver with the information obtained (only if valid) */
-							ANIM_add_driver(reports, id, path, array_index, dflags, DRIVER_TYPE_PYTHON);
-						}
-							break;
-						case DRIVERS_EDITMODE_REMOVE:
-						{
-							/* remove driver matching the information obtained (only if valid) */
-							ANIM_remove_driver(reports, id, path, array_index, dflags);
-						}
-							break;
-					}
-				}
-				
-				/* free path, since it had to be generated */
-				MEM_freeN(path);
-			}
-			
-			
-		}
-		
-		/* go over sub-tree */
-		if ((tselem->flag & TSE_CLOSED)==0)
-			do_outliner_drivers_editop(soops, &te->subtree, reports, mode);
-	}
-}
-
-/* Add Operator ---------------------------------- */
-
-static int outliner_drivers_addsel_exec(bContext *C, wmOperator *op)
-{
-	SpaceOops *soutliner= CTX_wm_space_outliner(C);
-	
-	/* check for invalid states */
-	if (soutliner == NULL)
-		return OPERATOR_CANCELLED;
-	
-	/* recursively go into tree, adding selected items */
-	do_outliner_drivers_editop(soutliner, &soutliner->tree, op->reports, DRIVERS_EDITMODE_ADD);
-	
-	/* send notifiers */
-	WM_event_add_notifier(C, NC_ANIMATION|ND_FCURVES_ORDER, NULL); // XXX
-	
-	return OPERATOR_FINISHED;
-}
-
-void OUTLINER_OT_drivers_add_selected(wmOperatorType *ot)
-{
-	/* api callbacks */
-	ot->idname= "OUTLINER_OT_drivers_add_selected";
-	ot->name= "Add Drivers for Selected";
-	ot->description= "Add drivers to selected items";
-	
-	/* api callbacks */
-	ot->exec= outliner_drivers_addsel_exec;
-	ot->poll= ed_operator_outliner_datablocks_active;
-	
-	/* flags */
-	ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO;
-}
-
-
-/* Remove Operator ---------------------------------- */
-
-static int outliner_drivers_deletesel_exec(bContext *C, wmOperator *op)
-{
-	SpaceOops *soutliner= CTX_wm_space_outliner(C);
-	
-	/* check for invalid states */
-	if (soutliner == NULL)
-		return OPERATOR_CANCELLED;
-	
-	/* recursively go into tree, adding selected items */
-	do_outliner_drivers_editop(soutliner, &soutliner->tree, op->reports, DRIVERS_EDITMODE_REMOVE);
-	
-	/* send notifiers */
-	WM_event_add_notifier(C, ND_KEYS, NULL); // XXX
-	
-	return OPERATOR_FINISHED;
-}
-
-void OUTLINER_OT_drivers_delete_selected(wmOperatorType *ot)
-{
-	/* identifiers */
-	ot->idname= "OUTLINER_OT_drivers_delete_selected";
-	ot->name= "Delete Drivers for Selected";
-	ot->description= "Delete drivers assigned to selected items";
-	
-	/* api callbacks */
-	ot->exec= outliner_drivers_deletesel_exec;
-	ot->poll= ed_operator_outliner_datablocks_active;
-	
-	/* flags */
-	ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO;
-}
-
-/* ***************** KEYINGSET OPERATIONS *************** */
-
-/* These operators are only available in databrowser mode for now, as
- * they depend on having RNA paths and/or hierarchies available.
- */
-enum {
-	KEYINGSET_EDITMODE_ADD	= 0,
-	KEYINGSET_EDITMODE_REMOVE,
-} /*eKeyingSet_EditModes*/;
-
-/* Utilities ---------------------------------- */ 
- 
-/* find the 'active' KeyingSet, and add if not found (if adding is allowed) */
-// TODO: should this be an API func?
-static KeyingSet *verify_active_keyingset(Scene *scene, short add)
-{
-	KeyingSet *ks= NULL;
-	
-	/* sanity check */
-	if (scene == NULL)
-		return NULL;
-	
-	/* try to find one from scene */
-	if (scene->active_keyingset > 0)
-		ks= BLI_findlink(&scene->keyingsets, scene->active_keyingset-1);
-		
-	/* add if none found */
-	// XXX the default settings have yet to evolve
-	if ((add) && (ks==NULL)) {
-		ks= BKE_keyingset_add(&scene->keyingsets, NULL, KEYINGSET_ABSOLUTE, 0);
-		scene->active_keyingset= BLI_countlist(&scene->keyingsets);
-	}
-	
-	return ks;
-}
-
-/* Recursively iterate over tree, finding and working on selected items */
-static void do_outliner_keyingset_editop(SpaceOops *soops, KeyingSet *ks, ListBase *tree, short mode)
-{
-	TreeElement *te;
-	TreeStoreElem *tselem;
-	
-	for (te= tree->first; te; te=te->next) {
-		tselem= TREESTORE(te);
-		
-		/* if item is selected, perform operation */
-		if (tselem->flag & TSE_SELECTED) {
-			ID *id= NULL;
-			char *path= NULL;
-			int array_index= 0;
-			short flag= 0;
-			short groupmode= KSP_GROUP_KSNAME;
-			
-			/* check if RNA-property described by this selected element is an animateable prop */
-			if (ELEM(tselem->type, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM) && RNA_property_animateable(&te->rnaptr, te->directdata)) {
-				/* get id + path + index info from the selected element */
-				tree_element_to_path(soops, te, tselem, 
-						&id, &path, &array_index, &flag, &groupmode);
-			}
-			
-			/* only if ID and path were set, should we perform any actions */
-			if (id && path) {
-				/* action depends on mode */
-				switch (mode) {
-					case KEYINGSET_EDITMODE_ADD:
-					{
-						/* add a new path with the information obtained (only if valid) */
-						// TODO: what do we do with group name? for now, we don't supply one, and just let this use the KeyingSet name
-						BKE_keyingset_add_path(ks, id, NULL, path, array_index, flag, groupmode);
-						ks->active_path= BLI_countlist(&ks->paths);
-					}
-						break;
-					case KEYINGSET_EDITMODE_REMOVE:
-					{
-						/* find the relevant path, then remove it from the KeyingSet */
-						KS_Path *ksp= BKE_keyingset_find_path(ks, id, NULL, path, array_index, groupmode);
-						
-						if (ksp) {
-							/* free path's data */
-							BKE_keyingset_free_path(ks, ksp);
-
-							ks->active_path= 0;
-						}
-					}
-						break;
-				}
-				
-				/* free path, since it had to be generated */
-				MEM_freeN(path);
-			}
-		}
-		
-		/* go over sub-tree */
-		if ((tselem->flag & TSE_CLOSED)==0)
-			do_outliner_keyingset_editop(soops, ks, &te->subtree, mode);
-	}
-}
-
-/* Add Operator ---------------------------------- */
-
-static int outliner_keyingset_additems_exec(bContext *C, wmOperator *op)
-{
-	SpaceOops *soutliner= CTX_wm_space_outliner(C);
-	Scene *scene= CTX_data_scene(C);
-	KeyingSet *ks= verify_active_keyingset(scene, 1);
-	
-	/* check for invalid states */
-	if (ks == NULL) {
-		BKE_report(op->reports, RPT_ERROR, "Operation requires an Active Keying Set");
-		return OPERATOR_CANCELLED;
-	}
-	if (soutliner == NULL)
-		return OPERATOR_CANCELLED;
-	
-	/* recursively go into tree, adding selected items */
-	do_outliner_keyingset_editop(soutliner, ks, &soutliner->tree, KEYINGSET_EDITMODE_ADD);
-	
-	/* send notifiers */
-	WM_event_add_notifier(C, NC_SCENE|ND_KEYINGSET, NULL);
-	
-	return OPERATOR_FINISHED;
-}
-
-void OUTLINER_OT_keyingset_add_selected(wmOperatorType *ot)
-{
-	/* identifiers */
-	ot->idname= "OUTLINER_OT_keyingset_add_selected";
-	ot->name= "Keying Set Add Selected";
-	ot->description= "Add selected items (blue-grey rows) to active Keying Set";
-	
-	/* api callbacks */
-	ot->exec= outliner_keyingset_additems_exec;
-	ot->poll= ed_operator_outliner_datablocks_active;
-	
-	/* flags */
-	ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO;
-}
-
-
-/* Remove Operator ---------------------------------- */
-
-static int outliner_keyingset_removeitems_exec(bContext *C, wmOperator *UNUSED(op))
-{
-	SpaceOops *soutliner= CTX_wm_space_outliner(C);
-	Scene *scene= CTX_data_scene(C);
-	KeyingSet *ks= verify_active_keyingset(scene, 1);
-	
-	/* check for invalid states */
-	if (soutliner == NULL)
-		return OPERATOR_CANCELLED;
-	
-	/* recursively go into tree, adding selected items */
-	do_outliner_keyingset_editop(soutliner, ks, &soutliner->tree, KEYINGSET_EDITMODE_REMOVE);
-	
-	/* send notifiers */
-	WM_event_add_notifier(C, NC_SCENE|ND_KEYINGSET, NULL);
-	
-	return OPERATOR_FINISHED;
-}
-
-void OUTLINER_OT_keyingset_remove_selected(wmOperatorType *ot)
-{
-	/* identifiers */
-	ot->idname= "OUTLINER_OT_keyingset_remove_selected";
-	ot->name= "Keying Set Remove Selected";
-	ot->description = "Remove selected items (blue-grey rows) from active Keying Set";
-	
-	/* api callbacks */
-	ot->exec= outliner_keyingset_removeitems_exec;
-	ot->poll= ed_operator_outliner_datablocks_active;
-	
-	/* flags */
-	ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO;
-}
-
-/* ***************** DRAW *************** */
-
-/* make function calls a bit compacter */
-struct DrawIconArg {
-	uiBlock *block;
-	ID *id;
-	int xmax, x, y;
-	float alpha;
-};
-
-static void tselem_draw_icon_uibut(struct DrawIconArg *arg, int icon)
-{
-	/* restrict collumn clip... it has been coded by simply overdrawing, doesnt work for buttons */
-	if(arg->x >= arg->xmax) 
-		UI_icon_draw(arg->x, arg->y, icon);
-	else {
-		/* XXX investigate: button placement of icons is way different than UI_icon_draw? */
-		float ufac= UI_UNIT_X/20.0f;
-		uiBut *but= uiDefIconBut(arg->block, LABEL, 0, icon, arg->x-3.0f*ufac, arg->y, UI_UNIT_X-4.0f*ufac, UI_UNIT_Y-4.0f*ufac, NULL, 0.0, 0.0, 1.0, arg->alpha, (arg->id && arg->id->lib) ? arg->id->lib->name : "");
-		
-		if(arg->id)
-			uiButSetDragID(but, arg->id);
-	}
-
-}
-
-static void tselem_draw_icon(uiBlock *block, int xmax, float x, float y, TreeStoreElem *tselem, TreeElement *te, float alpha)
-{
-	struct DrawIconArg arg;
-	
-	/* make function calls a bit compacter */
-	arg.block= block;
-	arg.id= tselem->id;
-	arg.xmax= xmax;
-	arg.x= x;
-	arg.y= y;
-	arg.alpha= alpha;
-	
-	if(tselem->type) {
-		switch( tselem->type) {
-			case TSE_ANIM_DATA:
-				UI_icon_draw(x, y, ICON_ANIM_DATA); break; // xxx
-			case TSE_NLA:
-				UI_icon_draw(x, y, ICON_NLA); break;
-			case TSE_NLA_TRACK:
-				UI_icon_draw(x, y, ICON_NLA); break; // XXX
-			case TSE_NLA_ACTION:
-				UI_icon_draw(x, y, ICON_ACTION); break;
-			case TSE_DEFGROUP_BASE:
-				UI_icon_draw(x, y, ICON_GROUP_VERTEX); break;
-			case TSE_BONE:
-			case TSE_EBONE:
-				UI_icon_draw(x, y, ICON_BONE_DATA); break;
-			case TSE_CONSTRAINT_BASE:
-				UI_icon_draw(x, y, ICON_CONSTRAINT); break;
-			case TSE_MODIFIER_BASE:
-				UI_icon_draw(x, y, ICON_MODIFIER); break;
-			case TSE_LINKED_OB:
-				UI_icon_draw(x, y, ICON_OBJECT_DATA); break;
-			case TSE_LINKED_PSYS:
-				UI_icon_draw(x, y, ICON_PARTICLES); break;
-			case TSE_MODIFIER:
-			{
-				Object *ob= (Object *)tselem->id;
-				ModifierData *md= BLI_findlink(&ob->modifiers, tselem->nr);
-				switch(md->type) {
-					case eModifierType_Subsurf: 
-						UI_icon_draw(x, y, ICON_MOD_SUBSURF); break;
-					case eModifierType_Armature: 
-						UI_icon_draw(x, y, ICON_MOD_ARMATURE); break;
-					case eModifierType_Lattice: 
-						UI_icon_draw(x, y, ICON_MOD_LATTICE); break;
-					case eModifierType_Curve: 
-						UI_icon_draw(x, y, ICON_MOD_CURVE); break;
-					case eModifierType_Build: 
-						UI_icon_draw(x, y, ICON_MOD_BUILD); break;
-					case eModifierType_Mirror: 
-						UI_icon_draw(x, y, ICON_MOD_MIRROR); break;
-					case eModifierType_Decimate: 
-						UI_icon_draw(x, y, ICON_MOD_DECIM); break;
-					case eModifierType_Wave: 
-						UI_icon_draw(x, y, ICON_MOD_WAVE); break;
-					case eModifierType_Hook: 
-						UI_icon_draw(x, y, ICON_HOOK); break;
-					case eModifierType_Softbody: 
-						UI_icon_draw(x, y, ICON_MOD_SOFT); break;
-					case eModifierType_Boolean: 
-						UI_icon_draw(x, y, ICON_MOD_BOOLEAN); break;
-					case eModifierType_ParticleSystem: 
-						UI_icon_draw(x, y, ICON_MOD_PARTICLES); break;
-					case eModifierType_ParticleInstance:
-						UI_icon_draw(x, y, ICON_MOD_PARTICLES); break;
-					case eModifierType_EdgeSplit:
-						UI_icon_draw(x, y, ICON_MOD_EDGESPLIT); break;
-					case eModifierType_Array:
-						UI_icon_draw(x, y, ICON_MOD_ARRAY); break;
-					case eModifierType_UVProject:
-						UI_icon_draw(x, y, ICON_MOD_UVPROJECT); break;
-					case eModifierType_Displace:
-						UI_icon_draw(x, y, ICON_MOD_DISPLACE); break;
-					case eModifierType_Shrinkwrap:
-						UI_icon_draw(x, y, ICON_MOD_SHRINKWRAP); break;
-					case eModifierType_Cast:
-						UI_icon_draw(x, y, ICON_MOD_CAST); break;
-					case eModifierType_MeshDeform:
-						UI_icon_draw(x, y, ICON_MOD_MESHDEFORM); break;
-					case eModifierType_Bevel:
-						UI_icon_draw(x, y, ICON_MOD_BEVEL); break;
-					case eModifierType_Smooth:
-						UI_icon_draw(x, y, ICON_MOD_SMOOTH); break;
-					case eModifierType_SimpleDeform:
-						UI_icon_draw(x, y, ICON_MOD_SIMPLEDEFORM); break;
-					case eModifierType_Mask:
-						UI_icon_draw(x, y, ICON_MOD_MASK); break;
-					case eModifierType_Cloth:
-						UI_icon_draw(x, y, ICON_MOD_CLOTH); break;
-					case eModifierType_Explode:
-						UI_icon_draw(x, y, ICON_MOD_EXPLODE); break;
-					case eModifierType_Collision:
-						UI_icon_draw(x, y, ICON_MOD_PHYSICS); break;
-					case eModifierType_Fluidsim:
-						UI_icon_draw(x, y, ICON_MOD_FLUIDSIM); break;
-					case eModifierType_Multires:
-						UI_icon_draw(x, y, ICON_MOD_MULTIRES); break;
-					case eModifierType_Smoke:
-						UI_icon_draw(x, y, ICON_MOD_SMOKE); break;
-					case eModifierType_Solidify:
-						UI_icon_draw(x, y, ICON_MOD_SOLIDIFY); break;
-					case eModifierType_Screw:
-						UI_icon_draw(x, y, ICON_MOD_SCREW); break;
-					default:
-						UI_icon_draw(x, y, ICON_DOT); break;
-				}
-				break;
-			}
-			case TSE_SCRIPT_BASE:
-				UI_icon_draw(x, y, ICON_TEXT); break;
-			case TSE_POSE_BASE:
-				UI_icon_draw(x, y, ICON_ARMATURE_DATA); break;
-			case TSE_POSE_CHANNEL:
-				UI_icon_draw(x, y, ICON_BONE_DATA); break;
-			case TSE_PROXY:
-				UI_icon_draw(x, y, ICON_GHOST); break;
-			case TSE_R_LAYER_BASE:
-				UI_icon_draw(x, y, ICON_RENDERLAYERS); break;
-			case TSE_R_LAYER:
-				UI_icon_draw(x, y, ICON_RENDERLAYERS); break;
-			case TSE_LINKED_LAMP:
-				UI_icon_draw(x, y, ICON_LAMP_DATA); break;
-			case TSE_LINKED_MAT:
-				UI_icon_draw(x, y, ICON_MATERIAL_DATA); break;
-			case TSE_POSEGRP_BASE:
-				UI_icon_draw(x, y, ICON_VERTEXSEL); break;
-			case TSE_SEQUENCE:
-				if(te->idcode==SEQ_MOVIE)
-					UI_icon_draw(x, y, ICON_SEQUENCE);
-				else if(te->idcode==SEQ_META)
-					UI_icon_draw(x, y, ICON_DOT);
-				else if(te->idcode==SEQ_SCENE)
-					UI_icon_draw(x, y, ICON_SCENE);
-				else if(te->idcode==SEQ_SOUND)
-					UI_icon_draw(x, y, ICON_SOUND);
-				else if(te->idcode==SEQ_IMAGE)
-					UI_icon_draw(x, y, ICON_IMAGE_COL);
-				else
-					UI_icon_draw(x, y, ICON_PARTICLES);
-				break;
-			case TSE_SEQ_STRIP:
-				UI_icon_draw(x, y, ICON_LIBRARY_DATA_DIRECT);
-				break;
-			case TSE_SEQUENCE_DUP:
-				UI_icon_draw(x, y, ICON_OBJECT_DATA);
-				break;
-			case TSE_RNA_STRUCT:
-				if(RNA_struct_is_ID(te->rnaptr.type)) {
-					arg.id= (ID *)te->rnaptr.data;
-					tselem_draw_icon_uibut(&arg, RNA_struct_ui_icon(te->rnaptr.type));
-				}
-				else
-					UI_icon_draw(x, y, RNA_struct_ui_icon(te->rnaptr.type));
-				break;
-			default:
-				UI_icon_draw(x, y, ICON_DOT); break;
-		}
-	}
-	else if (GS(tselem->id->name) == ID_OB) {
-		Object *ob= (Object *)tselem->id;
-		switch (ob->type) {
-			case OB_LAMP:
-				tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_LAMP); break;
-			case OB_MESH: 
-				tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_MESH); break;
-			case OB_CAMERA: 
-				tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_CAMERA); break;
-			case OB_CURVE: 
-				tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_CURVE); break;
-			case OB_MBALL: 
-				tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_META); break;
-			case OB_LATTICE: 
-				tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_LATTICE); break;
-			case OB_ARMATURE: 
-				tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_ARMATURE); break;
-			case OB_FONT: 
-				tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_FONT); break;
-			case OB_SURF: 
-				tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_SURFACE); break;
-			case OB_EMPTY: 
-				tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_EMPTY); break;
-		
-		}
-	}
-	else {
-		switch( GS(tselem->id->name)) {
-			case ID_SCE:
-				tselem_draw_icon_uibut(&arg, ICON_SCENE_DATA); break;
-			case ID_ME:
-				tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_MESH); break;
-			case ID_CU:
-				tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_CURVE); break;
-			case ID_MB:
-				tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_META); break;
-			case ID_LT:
-				tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_LATTICE); break;
-			case ID_LA:
-			{
-				Lamp *la= (Lamp *)tselem->id;
-				
-				switch(la->type) {
-					case LA_LOCAL:
-						tselem_draw_icon_uibut(&arg, ICON_LAMP_POINT); break;
-					case LA_SUN:
-						tselem_draw_icon_uibut(&arg, ICON_LAMP_SUN); break;
-					case LA_SPOT:
-						tselem_draw_icon_uibut(&arg, ICON_LAMP_SPOT); break;
-					case LA_HEMI:
-						tselem_draw_icon_uibut(&arg, ICON_LAMP_HEMI); break;
-					case LA_AREA:
-						tselem_draw_icon_uibut(&arg, ICON_LAMP_AREA); break;
-					default:
-						tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_LAMP); break;
-				}
-				break;
-			}
-			case ID_MA:
-				tselem_draw_icon_uibut(&arg, ICON_MATERIAL_DATA); break;
-			case ID_TE:
-				tselem_draw_icon_uibut(&arg, ICON_TEXTURE_DATA); break;
-			case ID_IM:
-				tselem_draw_icon_uibut(&arg, ICON_IMAGE_DATA); break;
-			case ID_SO:
-				tselem_draw_icon_uibut(&arg, ICON_SPEAKER); break;
-			case ID_AR:
-				tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_ARMATURE); break;
-			case ID_CA:
-				tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_CAMERA); break;
-			case ID_KE:
-				tselem_draw_icon_uibut(&arg, ICON_SHAPEKEY_DATA); break;
-			case ID_WO:
-				tselem_draw_icon_uibut(&arg, ICON_WORLD_DATA); break;
-			case ID_AC:
-				tselem_draw_icon_uibut(&arg, ICON_ACTION); break;
-			case ID_NLA:
-				tselem_draw_icon_uibut(&arg, ICON_NLA); break;
-			case ID_TXT:
-				tselem_draw_icon_uibut(&arg, ICON_SCRIPT); break;
-			case ID_GR:
-				tselem_draw_icon_uibut(&arg, ICON_GROUP); break;
-			case ID_LI:
-				tselem_draw_icon_uibut(&arg, ICON_LIBRARY_DATA_DIRECT); break;
-		}
-	}
-}
-
-static void outliner_draw_iconrow(bContext *C, uiBlock *block, Scene *scene, SpaceOops *soops, ListBase *lb, int level, int xmax, int *offsx, int ys)
-{
-	TreeElement *te;
-	TreeStoreElem *tselem;
-	int active;
-
-	for(te= lb->first; te; te= te->next) {
-		
-		/* exit drawing early */
-		if((*offsx) - UI_UNIT_X > xmax)
-			break;
-
-		tselem= TREESTORE(te);
-		
-		/* object hierarchy always, further constrained on level */
-		if(level<1 || (tselem->type==0 && te->idcode==ID_OB)) {
-
-			/* active blocks get white circle */
-			if(tselem->type==0) {
-				if(te->idcode==ID_OB) active= (OBACT==(Object *)tselem->id);
-				else if(scene->obedit && scene->obedit->data==tselem->id) active= 1;	// XXX use context?
-				else active= tree_element_active(C, scene, soops, te, 0);
-			}
-			else active= tree_element_type_active(NULL, scene, soops, te, tselem, 0);
-			
-			if(active) {
-				float ufac= UI_UNIT_X/20.0f;
-
-				uiSetRoundBox(15);
-				glColor4ub(255, 255, 255, 100);
-				uiRoundBox( (float)*offsx-0.5f*ufac, (float)ys-1.0f*ufac, (float)*offsx+UI_UNIT_Y-3.0f*ufac, (float)ys+UI_UNIT_Y-3.0f*ufac, UI_UNIT_Y/2.0f-2.0f*ufac);
-				glEnable(GL_BLEND); /* roundbox disables */
-			}
-			
-			tselem_draw_icon(block, xmax, (float)*offsx, (float)ys, tselem, te, 0.5f);
-			te->xs= (float)*offsx;
-			te->ys= (float)ys;
-			te->xend= (short)*offsx+UI_UNIT_X;
-			te->flag |= TE_ICONROW;	// for click
-			
-			(*offsx) += UI_UNIT_X;
-		}
-		
-		/* this tree element always has same amount of branches, so dont draw */
-		if(tselem->type!=TSE_R_LAYER)
-			outliner_draw_iconrow(C, block, scene, soops, &te->subtree, level+1, xmax, offsx, ys);
-	}
-	
-}
-
-/* closed tree element */
-static void outliner_set_coord_tree_element(SpaceOops *soops, TreeElement *te, int startx, int *starty)
-{
-	TreeElement *ten;
-	
-	/* store coord and continue, we need coordinates for elements outside view too */
-	te->xs= (float)startx;
-	te->ys= (float)(*starty);
-	
-	for(ten= te->subtree.first; ten; ten= ten->next) {
-		outliner_set_coord_tree_element(soops, ten, startx+UI_UNIT_X, starty);
-	}	
-}
-
-
-static void outliner_draw_tree_element(bContext *C, uiBlock *block, Scene *scene, ARegion *ar, SpaceOops *soops, TreeElement *te, int startx, int *starty)
-{
-	TreeElement *ten;
-	TreeStoreElem *tselem;
-	float ufac= UI_UNIT_X/20.0f;
-	int offsx= 0, active=0; // active=1 active obj, else active data
-	
-	tselem= TREESTORE(te);
-
-	if(*starty+2*UI_UNIT_Y >= ar->v2d.cur.ymin && *starty<= ar->v2d.cur.ymax) {
-		int xmax= ar->v2d.cur.xmax;
-		
-		/* icons can be ui buts, we dont want it to overlap with restrict */
-		if((soops->flag & SO_HIDE_RESTRICTCOLS)==0)
-			xmax-= OL_TOGW+UI_UNIT_X;
-		
-		glEnable(GL_BLEND);
-
-		/* colors for active/selected data */
-		if(tselem->type==0) {
-			if(te->idcode==ID_SCE) {
-				if(tselem->id == (ID *)scene) {
-					glColor4ub(255, 255, 255, 100);
-					active= 2;
-				}
-			}
-			else if(te->idcode==ID_GR) {
-				Group *gr = (Group *)tselem->id;
-
-				if(group_select_flag(gr)) {
-					char col[4];
-					UI_GetThemeColorType4ubv(TH_SELECT, SPACE_VIEW3D, col);
-					col[3]= 100;
-					glColor4ubv((GLubyte *)col);
-
-					active= 2;
-				}
-			}
-			else if(te->idcode==ID_OB) {
-				Object *ob= (Object *)tselem->id;
-				
-				if(ob==OBACT || (ob->flag & SELECT)) {
-					char col[4]= {0, 0, 0, 0};
-					
-					/* outliner active ob: always white text, circle color now similar to view3d */
-					
-					active= 2; /* means it draws a color circle */
-					if(ob==OBACT) {
-						if(ob->flag & SELECT) {
-							UI_GetThemeColorType4ubv(TH_ACTIVE, SPACE_VIEW3D, col);
-							col[3]= 100;
-						}
-						
-						active= 1; /* means it draws white text */
-					}
-					else if(ob->flag & SELECT) {
-						UI_GetThemeColorType4ubv(TH_SELECT, SPACE_VIEW3D, col);
-						col[3]= 100;
-					}
-					
-					glColor4ubv((GLubyte *)col);
-				}
-
-			}
-			else if(scene->obedit && scene->obedit->data==tselem->id) {
-				glColor4ub(255, 255, 255, 100);
-				active= 2;
-			}
-			else {
-				if(tree_element_active(C, scene, soops, te, 0)) {
-					glColor4ub(220, 220, 255, 100);
-					active= 2;
-				}
-			}
-		}
-		else {
-			if( tree_element_type_active(NULL, scene, soops, te, tselem, 0) ) active= 2;
-			glColor4ub(220, 220, 255, 100);
-		}
-		
-		/* active circle */
-		if(active) {
-			uiSetRoundBox(15);
-			uiRoundBox( (float)startx+UI_UNIT_Y-1.5f*ufac, (float)*starty+2.0f*ufac, (float)startx+2.0f*UI_UNIT_Y-4.0f*ufac, (float)*starty+UI_UNIT_Y-1.0f*ufac, UI_UNIT_Y/2.0f-2.0f*ufac);
-			glEnable(GL_BLEND);	/* roundbox disables it */
-			
-			te->flag |= TE_ACTIVE; // for lookup in display hierarchies
-		}
-		
-		/* open/close icon, only when sublevels, except for scene */
-		if(te->subtree.first || (tselem->type==0 && te->idcode==ID_SCE) || (te->flag & TE_LAZY_CLOSED)) {
-			int icon_x;
-			if(tselem->type==0 && ELEM(te->idcode, ID_OB, ID_SCE))
-				icon_x = startx;
-			else
-				icon_x = startx+5*ufac;
-
-				// icons a bit higher
-			if(tselem->flag & TSE_CLOSED) 
-				UI_icon_draw((float)icon_x, (float)*starty+2*ufac, ICON_DISCLOSURE_TRI_RIGHT);
-			else
-				UI_icon_draw((float)icon_x, (float)*starty+2*ufac, ICON_DISCLOSURE_TRI_DOWN);
-		}
-		offsx+= UI_UNIT_X;
-		
-		/* datatype icon */
-		
-		if(!(ELEM(tselem->type, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM))) {
-			// icons a bit higher
-			tselem_draw_icon(block, xmax, (float)startx+offsx - 0.5f*ufac, (float)*starty+2.0f*ufac, tselem, te, 1.0f);
-			
-			offsx+= UI_UNIT_X;
-		}
-		else
-			offsx+= 2*ufac;
-		
-		if(tselem->type==0 && tselem->id->lib) {
-			glPixelTransferf(GL_ALPHA_SCALE, 0.5f);
-			if(tselem->id->flag & LIB_INDIRECT)
-				UI_icon_draw((float)startx+offsx, (float)*starty+2*ufac, ICON_LIBRARY_DATA_INDIRECT);
-			else
-				UI_icon_draw((float)startx+offsx, (float)*starty+2*ufac, ICON_LIBRARY_DATA_DIRECT);
-			glPixelTransferf(GL_ALPHA_SCALE, 1.0f);
-			offsx+= UI_UNIT_X;
-		}		
-		glDisable(GL_BLEND);
-
-		/* name */
-		if(active==1) UI_ThemeColor(TH_TEXT_HI);
-		else if(ELEM(tselem->type, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM)) UI_ThemeColorBlend(TH_BACK, TH_TEXT, 0.75f);
-		else UI_ThemeColor(TH_TEXT);
-		
-		UI_DrawString(startx+offsx, *starty+5*ufac, te->name);
-		
-		offsx+= (int)(UI_UNIT_X + UI_GetStringWidth(te->name));
-		
-		/* closed item, we draw the icons, not when it's a scene, or master-server list though */
-		if(tselem->flag & TSE_CLOSED) {
-			if(te->subtree.first) {
-				if(tselem->type==0 && te->idcode==ID_SCE);
-				else if(tselem->type!=TSE_R_LAYER) { /* this tree element always has same amount of branches, so dont draw */
-					int tempx= startx+offsx;
-					
-					// divider
-					UI_ThemeColorShade(TH_BACK, -40);
-					glRecti(tempx -10, *starty+4, tempx -8, *starty+UI_UNIT_Y-4);
-
-					glEnable(GL_BLEND);
-					glPixelTransferf(GL_ALPHA_SCALE, 0.5);
-
-					outliner_draw_iconrow(C, block, scene, soops, &te->subtree, 0, xmax, &tempx, *starty+2);
-
-					glPixelTransferf(GL_ALPHA_SCALE, 1.0);
-					glDisable(GL_BLEND);
-				}
-			}
-		}
-	}	
-	/* store coord and continue, we need coordinates for elements outside view too */
-	te->xs= (float)startx;
-	te->ys= (float)*starty;
-	te->xend= startx+offsx;
-		
-	if((tselem->flag & TSE_CLOSED)==0) {
-		*starty-= UI_UNIT_Y;
-		
-		for(ten= te->subtree.first; ten; ten= ten->next)
-			outliner_draw_tree_element(C, block, scene, ar, soops, ten, startx+UI_UNIT_X, starty);
-	}	
-	else {
-		for(ten= te->subtree.first; ten; ten= ten->next)
-			outliner_set_coord_tree_element(soops, te, startx, starty);
-
-		*starty-= UI_UNIT_Y;
-	}
-}
-
-static void outliner_draw_hierarchy(SpaceOops *soops, ListBase *lb, int startx, int *starty)
-{
-	TreeElement *te;
-	TreeStoreElem *tselem;
-	int y1, y2;
-	
-	if(lb->first==NULL) return;
-	
-	y1=y2= *starty; /* for vertical lines between objects */
-	for(te=lb->first; te; te= te->next) {
-		y2= *starty;
-		tselem= TREESTORE(te);
-		
-		/* horizontal line? */
-		if(tselem->type==0 && (te->idcode==ID_OB || te->idcode==ID_SCE))
-			glRecti(startx, *starty, startx+UI_UNIT_X, *starty-1);
-			
-		*starty-= UI_UNIT_Y;
-		
-		if((tselem->flag & TSE_CLOSED)==0)
-			outliner_draw_hierarchy(soops, &te->subtree, startx+UI_UNIT_X, starty);
-	}
-	
-	/* vertical line */
-	te= lb->last;
-	if(te->parent || lb->first!=lb->last) {
-		tselem= TREESTORE(te);
-		if(tselem->type==0 && te->idcode==ID_OB) {
-			
-			glRecti(startx, y1+UI_UNIT_Y, startx+1, y2);
-		}
-	}
-}
-
-static void outliner_draw_struct_marks(ARegion *ar, SpaceOops *soops, ListBase *lb, int *starty) 
-{
-	TreeElement *te;
-	TreeStoreElem *tselem;
-	
-	for(te= lb->first; te; te= te->next) {
-		tselem= TREESTORE(te);
-		
-		/* selection status */
-		if((tselem->flag & TSE_CLOSED)==0)
-			if(tselem->type == TSE_RNA_STRUCT)
-				glRecti(0, *starty+1, (int)ar->v2d.cur.xmax+V2D_SCROLL_WIDTH, *starty+UI_UNIT_Y-1);
-
-		*starty-= UI_UNIT_Y;
-		if((tselem->flag & TSE_CLOSED)==0) {
-			outliner_draw_struct_marks(ar, soops, &te->subtree, starty);
-			if(tselem->type == TSE_RNA_STRUCT)
-				fdrawline(0, (float)*starty+UI_UNIT_Y, ar->v2d.cur.xmax+V2D_SCROLL_WIDTH, (float)*starty+UI_UNIT_Y);
-		}
-	}
-}
-
-static void outliner_draw_selection(ARegion *ar, SpaceOops *soops, ListBase *lb, int *starty) 
-{
-	TreeElement *te;
-	TreeStoreElem *tselem;
-	
-	for(te= lb->first; te; te= te->next) {
-		tselem= TREESTORE(te);
-		
-		/* selection status */
-		if(tselem->flag & TSE_SELECTED) {
-			glRecti(0, *starty+1, (int)ar->v2d.cur.xmax, *starty+UI_UNIT_Y-1);
-		}
-		*starty-= UI_UNIT_Y;
-		if((tselem->flag & TSE_CLOSED)==0) outliner_draw_selection(ar, soops, &te->subtree, starty);
-	}
-}
-
-
-static void outliner_draw_tree(bContext *C, uiBlock *block, Scene *scene, ARegion *ar, SpaceOops *soops)
-{
-	TreeElement *te;
-	int starty, startx;
-	float col[4];
-		
-	glBlendFunc(GL_SRC_ALPHA,  GL_ONE_MINUS_SRC_ALPHA); // only once
-	
-	if (ELEM(soops->outlinevis, SO_DATABLOCKS, SO_USERDEF)) {
-		/* struct marks */
-		UI_ThemeColorShadeAlpha(TH_BACK, -15, -200);
-		//UI_ThemeColorShade(TH_BACK, -20);
-		starty= (int)ar->v2d.tot.ymax-UI_UNIT_Y-OL_Y_OFFSET;
-		outliner_draw_struct_marks(ar, soops, &soops->tree, &starty);
-	}
-	
-	/* always draw selection fill before hierarchy */
-	UI_GetThemeColor3fv(TH_BACK, col);
-	glColor3f(col[0]+0.06f, col[1]+0.08f, col[2]+0.10f);
-	starty= (int)ar->v2d.tot.ymax-UI_UNIT_Y-OL_Y_OFFSET;
-	outliner_draw_selection(ar, soops, &soops->tree, &starty);
-	
-	// grey hierarchy lines
-	UI_ThemeColorBlend(TH_BACK, TH_TEXT, 0.4f);
-	starty= (int)ar->v2d.tot.ymax-UI_UNIT_Y/2-OL_Y_OFFSET;
-	startx= 6;
-	outliner_draw_hierarchy(soops, &soops->tree, startx, &starty);
-	
-	// items themselves
-	starty= (int)ar->v2d.tot.ymax-UI_UNIT_Y-OL_Y_OFFSET;
-	startx= 0;
-	for(te= soops->tree.first; te; te= te->next) {
-		outliner_draw_tree_element(C, block, scene, ar, soops, te, startx, &starty);
-	}
-}
-
-
-static void outliner_back(ARegion *ar)
-{
-	int ystart;
-	
-	UI_ThemeColorShade(TH_BACK, 6);
-	ystart= (int)ar->v2d.tot.ymax;
-	ystart= UI_UNIT_Y*(ystart/(UI_UNIT_Y))-OL_Y_OFFSET;
-	
-	while(ystart+2*UI_UNIT_Y > ar->v2d.cur.ymin) {
-		glRecti(0, ystart, (int)ar->v2d.cur.xmax+V2D_SCROLL_WIDTH, ystart+UI_UNIT_Y);
-		ystart-= 2*UI_UNIT_Y;
-	}
-}
-
-static void outliner_draw_restrictcols(ARegion *ar)
-{
-	int ystart;
-	
-	/* background underneath */
-	UI_ThemeColor(TH_BACK);
-	glRecti((int)ar->v2d.cur.xmax-OL_TOGW, (int)ar->v2d.cur.ymin-V2D_SCROLL_HEIGHT-1, (int)ar->v2d.cur.xmax+V2D_SCROLL_WIDTH, (int)ar->v2d.cur.ymax);
-	
-	UI_ThemeColorShade(TH_BACK, 6);
-	ystart= (int)ar->v2d.tot.ymax;
-	ystart= UI_UNIT_Y*(ystart/(UI_UNIT_Y))-OL_Y_OFFSET;
-	
-	while(ystart+2*UI_UNIT_Y > ar->v2d.cur.ymin) {
-		glRecti((int)ar->v2d.cur.xmax-OL_TOGW, ystart, (int)ar->v2d.cur.xmax, ystart+UI_UNIT_Y);
-		ystart-= 2*UI_UNIT_Y;
-	}
-	
-	UI_ThemeColorShadeAlpha(TH_BACK, -15, -200);
-
-	/* view */
-	fdrawline(ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX,
-		ar->v2d.cur.ymax,
-		ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX,
-		ar->v2d.cur.ymin - V2D_SCROLL_HEIGHT);
-
-	/* render */
-	fdrawline(ar->v2d.cur.xmax-OL_TOG_RESTRICT_SELECTX,
-		ar->v2d.cur.ymax,
-		ar->v2d.cur.xmax-OL_TOG_RESTRICT_SELECTX,
-		ar->v2d.cur.ymin - V2D_SCROLL_HEIGHT);
-
-	/* render */
-	fdrawline(ar->v2d.cur.xmax-OL_TOG_RESTRICT_RENDERX,
-		ar->v2d.cur.ymax,
-		ar->v2d.cur.xmax-OL_TOG_RESTRICT_RENDERX,
-		ar->v2d.cur.ymin - V2D_SCROLL_HEIGHT);
-}
-
-static void restrictbutton_view_cb(bContext *C, void *poin, void *poin2)
-{
-	Scene *scene = (Scene *)poin;
-	Object *ob = (Object *)poin2;
-
-	if(!common_restrict_check(C, ob)) return;
-	
-	/* deselect objects that are invisible */
-	if (ob->restrictflag & OB_RESTRICT_VIEW) {
-		/* Ouch! There is no backwards pointer from Object to Base, 
-		 * so have to do loop to find it. */
-		ED_base_object_select(object_in_scene(ob, scene), BA_DESELECT);
-	}
-	WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
-
-}
-
-static void restrictbutton_sel_cb(bContext *C, void *poin, void *poin2)
-{
-	Scene *scene = (Scene *)poin;
-	Object *ob = (Object *)poin2;
-	
-	if(!common_restrict_check(C, ob)) return;
-	
-	/* if select restriction has just been turned on */
-	if (ob->restrictflag & OB_RESTRICT_SELECT) {
-		/* Ouch! There is no backwards pointer from Object to Base, 
-		 * so have to do loop to find it. */
-		ED_base_object_select(object_in_scene(ob, scene), BA_DESELECT);
-	}
-	WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
-
-}
-
-static void restrictbutton_rend_cb(bContext *C, void *poin, void *UNUSED(poin2))
-{
-	WM_event_add_notifier(C, NC_SCENE|ND_OB_RENDER, poin);
-}
-
-static void restrictbutton_r_lay_cb(bContext *C, void *poin, void *UNUSED(poin2))
-{
-	WM_event_add_notifier(C, NC_SCENE|ND_RENDER_OPTIONS, poin);
-}
-
-static void restrictbutton_modifier_cb(bContext *C, void *UNUSED(poin), void *poin2)
-{
-	Object *ob = (Object *)poin2;
-	
-	DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
-
-	WM_event_add_notifier(C, NC_OBJECT|ND_DRAW, ob);
-}
-
-static void restrictbutton_bone_cb(bContext *C, void *UNUSED(poin), void *poin2)
-{
-	Bone *bone= (Bone *)poin2;
-	if(bone && (bone->flag & BONE_HIDDEN_P))
-		bone->flag &= ~(BONE_SELECTED | BONE_TIPSEL | BONE_ROOTSEL);
-	WM_event_add_notifier(C, NC_OBJECT|ND_POSE, NULL);
-}
-
-static void restrictbutton_ebone_cb(bContext *C, void *UNUSED(poin), void *poin2)
-{
-	EditBone *ebone= (EditBone *)poin2;
-	if(ebone && (ebone->flag & BONE_HIDDEN_A))
-		ebone->flag &= ~(BONE_SELECTED | BONE_TIPSEL | BONE_ROOTSEL);
-
-	WM_event_add_notifier(C, NC_OBJECT|ND_POSE, NULL);
-}
-
-static int group_restrict_flag(Group *gr, int flag)
-{
-	GroupObject *gob;
-
-	for(gob= gr->gobject.first; gob; gob= gob->next) {
-		if((gob->ob->restrictflag & flag) == 0)
-			return 0;
-	}
-
-	return 1;
-}
-
-static int group_select_flag(Group *gr)
-{
-	GroupObject *gob;
-
-	for(gob= gr->gobject.first; gob; gob= gob->next)
-		if((gob->ob->flag & SELECT))
-			return 1;
-
-	return 0;
-}
-
-static void restrictbutton_gr_restrict_flag(void *poin, void *poin2, int flag)
-{	
-	Scene *scene = (Scene *)poin;		
-	GroupObject *gob;
-	Group *gr = (Group *)poin2; 	
-
-	if(group_restrict_flag(gr, flag)) {
-		for(gob= gr->gobject.first; gob; gob= gob->next) {
-			gob->ob->restrictflag &= ~flag;
-
-			if(flag==OB_RESTRICT_VIEW)
-				if(gob->ob->flag & SELECT)
-					ED_base_object_select(object_in_scene(gob->ob, scene), BA_DESELECT);
-		}
-	}
-	else {
-		for(gob= gr->gobject.first; gob; gob= gob->next) {
-			/* not in editmode */
-			if(scene->obedit!=gob->ob) {
-				gob->ob->restrictflag |= flag;
-
-				if(flag==OB_RESTRICT_VIEW)
-					if((gob->ob->flag & SELECT) == 0)
-						ED_base_object_select(object_in_scene(gob->ob, scene), BA_SELECT);
-			}
-		}
-	}
-} 
-
-static void restrictbutton_gr_restrict_view(bContext *C, void *poin, void *poin2)
-{
-	restrictbutton_gr_restrict_flag(poin, poin2, OB_RESTRICT_VIEW);
-	WM_event_add_notifier(C, NC_GROUP, NULL);
-}
-static void restrictbutton_gr_restrict_select(bContext *C, void *poin, void *poin2)
-{
-	restrictbutton_gr_restrict_flag(poin, poin2, OB_RESTRICT_SELECT);
-	WM_event_add_notifier(C, NC_GROUP, NULL);
-}
-static void restrictbutton_gr_restrict_render(bContext *C, void *poin, void *poin2)
-{
-	restrictbutton_gr_restrict_flag(poin, poin2, OB_RESTRICT_RENDER);
-	WM_event_add_notifier(C, NC_GROUP, NULL);
-}
-
-
-static void namebutton_cb(bContext *C, void *tsep, char *oldname)
-{
-	SpaceOops *soops= CTX_wm_space_outliner(C);
-	Scene *scene= CTX_data_scene(C);
-	Object *obedit= CTX_data_edit_object(C);
-	TreeStore *ts= soops->treestore;
-	TreeStoreElem *tselem= tsep;
-	
-	if(ts && tselem) {
-		TreeElement *te= outliner_find_tse(soops, tselem);
-		
-		if(tselem->type==0) {
-			test_idbutton(tselem->id->name+2);	// library.c, unique name and alpha sort
-			
-			switch(GS(tselem->id->name)) {
-				case ID_MA:
-					WM_event_add_notifier(C, NC_MATERIAL, NULL); break;
-				case ID_TE:
-					WM_event_add_notifier(C, NC_TEXTURE, NULL); break;
-				case ID_IM:
-					WM_event_add_notifier(C, NC_IMAGE, NULL); break;
-				case ID_SCE:
-					WM_event_add_notifier(C, NC_SCENE, NULL); break;
-				default:
-					WM_event_add_notifier(C, NC_ID|NA_RENAME, NULL); break;
-			}					
-			/* Check the library target exists */
-			if (te->idcode == ID_LI) {
-				char expanded[FILE_MAXDIR + FILE_MAXFILE];
-				BLI_strncpy(expanded, ((Library *)tselem->id)->name, FILE_MAXDIR + FILE_MAXFILE);
-				BLI_path_abs(expanded, G.main->name);
-				if (!BLI_exists(expanded)) {
-					error("This path does not exist, correct this before saving");
-				}
-			}
-		}
-		else {
-			switch(tselem->type) {
-			case TSE_DEFGROUP:
-				defgroup_unique_name(te->directdata, (Object *)tselem->id); //	id = object
-				break;
-			case TSE_NLA_ACTION:
-				test_idbutton(tselem->id->name+2);
-				break;
-			case TSE_EBONE:
-			{
-				bArmature *arm= (bArmature *)tselem->id;
-				if(arm->edbo) {
-					EditBone *ebone= te->directdata;
-					char newname[sizeof(ebone->name)];
-					
-					/* restore bone name */
-					BLI_strncpy(newname, ebone->name, sizeof(ebone->name));
-					BLI_strncpy(ebone->name, oldname, sizeof(ebone->name));
-					ED_armature_bone_rename(obedit->data, oldname, newname);
-					WM_event_add_notifier(C, NC_OBJECT|ND_POSE, OBACT);
-				}
-			}
-				break;
-
-			case TSE_BONE:
-				{
-					Bone *bone= te->directdata;
-					Object *ob;
-					char newname[sizeof(bone->name)];
-					
-					// always make current object active
-					tree_element_set_active_object(C, scene, soops, te, 1);
-					ob= OBACT;
-					
-					/* restore bone name */
-					BLI_strncpy(newname, bone->name, sizeof(bone->name));
-					BLI_strncpy(bone->name, oldname, sizeof(bone->name));
-					ED_armature_bone_rename(ob->data, oldname, newname);
-					WM_event_add_notifier(C, NC_OBJECT|ND_POSE, ob);
-				}
-				break;
-			case TSE_POSE_CHANNEL:
-				{
-					bPoseChannel *pchan= te->directdata;
-					Object *ob;
-					char newname[sizeof(pchan->name)];
-					
-					// always make current object active
-					tree_element_set_active_object(C, scene, soops, te, 1);
-					ob= OBACT;
-					
-					/* restore bone name */
-					BLI_strncpy(newname, pchan->name, sizeof(pchan->name));
-					BLI_strncpy(pchan->name, oldname, sizeof(pchan->name));
-					ED_armature_bone_rename(ob->data, oldname, newname);
-					WM_event_add_notifier(C, NC_OBJECT|ND_POSE, ob);
-				}
-				break;
-			case TSE_POSEGRP:
-				{
-					Object *ob= (Object *)tselem->id; // id = object
-					bActionGroup *grp= te->directdata;
-					
-					BLI_uniquename(&ob->pose->agroups, grp, "Group", '.', offsetof(bActionGroup, name), sizeof(grp->name));
-					WM_event_add_notifier(C, NC_OBJECT|ND_POSE, ob);
-				}
-				break;
-			case TSE_R_LAYER:
-				break;
-			}
-		}
-		tselem->flag &= ~TSE_TEXTBUT;
-	}
-}
-
-static void outliner_draw_restrictbuts(uiBlock *block, Scene *scene, ARegion *ar, SpaceOops *soops, ListBase *lb)
-{	
-	uiBut *bt;
-	TreeElement *te;
-	TreeStoreElem *tselem;
-	Object *ob = NULL;
-	Group  *gr = NULL;
-
-	for(te= lb->first; te; te= te->next) {
-		tselem= TREESTORE(te);
-		if(te->ys+2*UI_UNIT_Y >= ar->v2d.cur.ymin && te->ys <= ar->v2d.cur.ymax) {	
-			/* objects have toggle-able restriction flags */
-			if(tselem->type==0 && te->idcode==ID_OB) {
-				PointerRNA ptr;
-
-				ob = (Object *)tselem->id;
-				RNA_pointer_create((ID *)ob, &RNA_Object, ob, &ptr);
-				
-				uiBlockSetEmboss(block, UI_EMBOSSN);
-				bt= uiDefIconButR(block, ICONTOG, 0, ICON_RESTRICT_VIEW_OFF,
-							  (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1,
-							  &ptr, "hide", -1, 0, 0, -1, -1, NULL);
-				uiButSetFunc(bt, restrictbutton_view_cb, scene, ob);
-				
-				bt= uiDefIconButR(block, ICONTOG, 0, ICON_RESTRICT_SELECT_OFF,
-								  (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_SELECTX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1,
-								  &ptr, "hide_select", -1, 0, 0, -1, -1, NULL);
-				uiButSetFunc(bt, restrictbutton_sel_cb, scene, ob);
-				
-				bt= uiDefIconButR(block, ICONTOG, 0, ICON_RESTRICT_RENDER_OFF,
-								  (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_RENDERX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1,
-								  &ptr, "hide_render", -1, 0, 0, -1, -1, NULL);
-				uiButSetFunc(bt, restrictbutton_rend_cb, scene, ob);
-				
-				uiBlockSetEmboss(block, UI_EMBOSS);
-				
-			}
-			if(tselem->type==0 && te->idcode==ID_GR){ 
-				int restrict_bool;
-				gr = (Group *)tselem->id;
-
-				uiBlockSetEmboss(block, UI_EMBOSSN);
-
-				restrict_bool= group_restrict_flag(gr, OB_RESTRICT_VIEW);
-				bt = uiDefIconBut(block, BUT, 0, restrict_bool ? ICON_RESTRICT_VIEW_ON : ICON_RESTRICT_VIEW_OFF, (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, NULL, 0, 0, 0, 0, "Restrict/Allow visibility in the 3D View");
-				uiButSetFunc(bt, restrictbutton_gr_restrict_view, scene, gr);
-
-				restrict_bool= group_restrict_flag(gr, OB_RESTRICT_SELECT);
-				bt = uiDefIconBut(block, BUT, 0, restrict_bool ? ICON_RESTRICT_SELECT_ON : ICON_RESTRICT_SELECT_OFF, (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_SELECTX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, NULL, 0, 0, 0, 0, "Restrict/Allow selection in the 3D View");
-				uiButSetFunc(bt, restrictbutton_gr_restrict_select, scene, gr);
-
-				restrict_bool= group_restrict_flag(gr, OB_RESTRICT_RENDER);
-				bt = uiDefIconBut(block, BUT, 0, restrict_bool ? ICON_RESTRICT_RENDER_ON : ICON_RESTRICT_RENDER_OFF, (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_RENDERX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, NULL, 0, 0, 0, 0, "Restrict/Allow renderability");
-				uiButSetFunc(bt, restrictbutton_gr_restrict_render, scene, gr);
-
-				uiBlockSetEmboss(block, UI_EMBOSS);
-			}
-			/* scene render layers and passes have toggle-able flags too! */
-			else if(tselem->type==TSE_R_LAYER) {
-				uiBlockSetEmboss(block, UI_EMBOSSN);
-				
-				bt= uiDefIconButBitI(block, ICONTOGN, SCE_LAY_DISABLE, 0, ICON_CHECKBOX_HLT-1, 
-									 (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, te->directdata, 0, 0, 0, 0, "Render this RenderLayer");
-				uiButSetFunc(bt, restrictbutton_r_lay_cb, tselem->id, NULL);
-				
-				uiBlockSetEmboss(block, UI_EMBOSS);
-			}
-			else if(tselem->type==TSE_R_PASS) {
-				int *layflag= te->directdata;
-				int passflag= 1<<tselem->nr;
-				
-				uiBlockSetEmboss(block, UI_EMBOSSN);
-				
-				
-				bt= uiDefIconButBitI(block, ICONTOG, passflag, 0, ICON_CHECKBOX_HLT-1, 
-									 (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, layflag, 0, 0, 0, 0, "Render this Pass");
-				uiButSetFunc(bt, restrictbutton_r_lay_cb, tselem->id, NULL);
-				
-				layflag++;	/* is lay_xor */
-				if(ELEM8(passflag, SCE_PASS_SPEC, SCE_PASS_SHADOW, SCE_PASS_AO, SCE_PASS_REFLECT, SCE_PASS_REFRACT, SCE_PASS_INDIRECT, SCE_PASS_EMIT, SCE_PASS_ENVIRONMENT))
-					bt= uiDefIconButBitI(block, TOG, passflag, 0, (*layflag & passflag)?ICON_DOT:ICON_BLANK1, 
-									 (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_SELECTX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, layflag, 0, 0, 0, 0, "Exclude this Pass from Combined");
-				uiButSetFunc(bt, restrictbutton_r_lay_cb, tselem->id, NULL);
-				
-				uiBlockSetEmboss(block, UI_EMBOSS);
-			}
-			else if(tselem->type==TSE_MODIFIER)  {
-				ModifierData *md= (ModifierData *)te->directdata;
-				ob = (Object *)tselem->id;
-				
-				uiBlockSetEmboss(block, UI_EMBOSSN);
-				bt= uiDefIconButBitI(block, ICONTOGN, eModifierMode_Realtime, 0, ICON_RESTRICT_VIEW_OFF, 
-						(int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, &(md->mode), 0, 0, 0, 0, "Restrict/Allow visibility in the 3D View");
-				uiButSetFunc(bt, restrictbutton_modifier_cb, scene, ob);
-				
-				bt= uiDefIconButBitI(block, ICONTOGN, eModifierMode_Render, 0, ICON_RESTRICT_RENDER_OFF, 
-						(int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_RENDERX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, &(md->mode), 0, 0, 0, 0, "Restrict/Allow renderability");
-				uiButSetFunc(bt, restrictbutton_modifier_cb, scene, ob);
-			}
-			else if(tselem->type==TSE_POSE_CHANNEL)  {
-				bPoseChannel *pchan= (bPoseChannel *)te->directdata;
-				Bone *bone = pchan->bone;
-				
-				uiBlockSetEmboss(block, UI_EMBOSSN);
-				bt= uiDefIconButBitI(block, ICONTOG, BONE_HIDDEN_P, 0, ICON_RESTRICT_VIEW_OFF, 
-						(int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, &(bone->flag), 0, 0, 0, 0, "Restrict/Allow visibility in the 3D View");
-				uiButSetFunc(bt, restrictbutton_bone_cb, NULL, bone);
-				
-				bt= uiDefIconButBitI(block, ICONTOG, BONE_UNSELECTABLE, 0, ICON_RESTRICT_SELECT_OFF, 
-						(int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_SELECTX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, &(bone->flag), 0, 0, 0, 0, "Restrict/Allow selection in the 3D View");
-				uiButSetFunc(bt, restrictbutton_bone_cb, NULL, NULL);
-			}
-			else if(tselem->type==TSE_EBONE)  {
-				EditBone *ebone= (EditBone *)te->directdata;
-				
-				uiBlockSetEmboss(block, UI_EMBOSSN);
-				bt= uiDefIconButBitI(block, ICONTOG, BONE_HIDDEN_A, 0, ICON_RESTRICT_VIEW_OFF, 
-						(int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, &(ebone->flag), 0, 0, 0, 0, "Restrict/Allow visibility in the 3D View");
-				uiButSetFunc(bt, restrictbutton_ebone_cb, NULL, ebone);
-				
-				bt= uiDefIconButBitI(block, ICONTOG, BONE_UNSELECTABLE, 0, ICON_RESTRICT_SELECT_OFF, 
-						(int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_SELECTX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, &(ebone->flag), 0, 0, 0, 0, "Restrict/Allow selection in the 3D View");
-				uiButSetFunc(bt, restrictbutton_ebone_cb, NULL, NULL);
-			}
-		}
-		
-		if((tselem->flag & TSE_CLOSED)==0) outliner_draw_restrictbuts(block, scene, ar, soops, &te->subtree);
-	}
-}
-
-static void outliner_draw_rnacols(ARegion *ar, int sizex)
-{
-	View2D *v2d= &ar->v2d;
-
-	float miny = v2d->cur.ymin-V2D_SCROLL_HEIGHT;
-	if(miny<v2d->tot.ymin) miny = v2d->tot.ymin;
-
-	UI_ThemeColorShadeAlpha(TH_BACK, -15, -200);
-
-	/* draw column separator lines */
-	fdrawline((float)sizex,
-		v2d->cur.ymax,
-		(float)sizex,
-		miny);
-
-	fdrawline((float)sizex+OL_RNA_COL_SIZEX,
-		v2d->cur.ymax,
-		(float)sizex+OL_RNA_COL_SIZEX,
-		miny);
-}
-
-static void outliner_draw_rnabuts(uiBlock *block, Scene *scene, ARegion *ar, SpaceOops *soops, int sizex, ListBase *lb)
-{	
-	TreeElement *te;
-	TreeStoreElem *tselem;
-	PointerRNA *ptr;
-	PropertyRNA *prop;
-	
-	uiBlockSetEmboss(block, UI_EMBOSST);
-
-	for(te= lb->first; te; te= te->next) {
-		tselem= TREESTORE(te);
-		if(te->ys+2*UI_UNIT_Y >= ar->v2d.cur.ymin && te->ys <= ar->v2d.cur.ymax) {	
-			if(tselem->type == TSE_RNA_PROPERTY) {
-				ptr= &te->rnaptr;
-				prop= te->directdata;
-				
-				if(!(RNA_property_type(prop) == PROP_POINTER && (tselem->flag & TSE_CLOSED)==0))
-					uiDefAutoButR(block, ptr, prop, -1, "", ICON_NONE, sizex, (int)te->ys, OL_RNA_COL_SIZEX, UI_UNIT_Y-1);
-			}
-			else if(tselem->type == TSE_RNA_ARRAY_ELEM) {
-				ptr= &te->rnaptr;
-				prop= te->directdata;
-				
-				uiDefAutoButR(block, ptr, prop, te->index, "", ICON_NONE, sizex, (int)te->ys, OL_RNA_COL_SIZEX, UI_UNIT_Y-1);
-			}
-		}
-		
-		if((tselem->flag & TSE_CLOSED)==0) outliner_draw_rnabuts(block, scene, ar, soops, sizex, &te->subtree);
-	}
-}
-
-static void operator_call_cb(struct bContext *UNUSED(C), void *arg_kmi, void *arg2)
-{
-	wmOperatorType *ot= arg2;
-	wmKeyMapItem *kmi= arg_kmi;
-	
-	if(ot)
-		BLI_strncpy(kmi->idname, ot->idname, OP_MAX_TYPENAME);
-}
-
-static void operator_search_cb(const struct bContext *UNUSED(C), void *UNUSED(arg_kmi), const char *str, uiSearchItems *items)
-{
-	wmOperatorType *ot = WM_operatortype_first();
-	
-	for(; ot; ot= ot->next) {
-		
-		if(BLI_strcasestr(ot->idname, str)) {
-			char name[OP_MAX_TYPENAME];
-			
-			/* display name for menu */
-			WM_operator_py_idname(name, ot->idname);
-			
-			if(0==uiSearchItemAdd(items, name, ot, 0))
-				break;
-		}
-	}
-}
-
-/* operator Search browse menu, open */
-static uiBlock *operator_search_menu(bContext *C, ARegion *ar, void *arg_kmi)
-{
-	static char search[OP_MAX_TYPENAME];
-	wmEvent event;
-	wmWindow *win= CTX_wm_window(C);
-	wmKeyMapItem *kmi= arg_kmi;
-	wmOperatorType *ot= WM_operatortype_find(kmi->idname, 0);
-	uiBlock *block;
-	uiBut *but;
-	
-	/* clear initial search string, then all items show */
-	search[0]= 0;
-	
-	block= uiBeginBlock(C, ar, "_popup", UI_EMBOSS);
-	uiBlockSetFlag(block, UI_BLOCK_LOOP|UI_BLOCK_REDRAW|UI_BLOCK_RET_1);
-	
-	/* fake button, it holds space for search items */
-	uiDefBut(block, LABEL, 0, "", 10, 15, 150, uiSearchBoxhHeight(), NULL, 0, 0, 0, 0, NULL);
-	
-	but= uiDefSearchBut(block, search, 0, ICON_VIEWZOOM, 256, 10, 0, 150, UI_UNIT_Y, 0, 0, "");
-	uiButSetSearchFunc(but, operator_search_cb, arg_kmi, operator_call_cb, ot);
-	
-	uiBoundsBlock(block, 6);
-	uiBlockSetDirection(block, UI_DOWN);	
-	uiEndBlock(C, block);
-	
-	event= *(win->eventstate);	/* XXX huh huh? make api call */
-	event.type= EVT_BUT_OPEN;
-	event.val= KM_PRESS;
-	event.customdata= but;
-	event.customdatafree= FALSE;
-	wm_event_add(win, &event);
-	
-	return block;
-}
-
-#define OL_KM_KEYBOARD		0
-#define OL_KM_MOUSE			1
-#define OL_KM_TWEAK			2
-#define OL_KM_SPECIALS		3
-
-static short keymap_menu_type(short type)
-{
-	if(ISKEYBOARD(type)) return OL_KM_KEYBOARD;
-	if(ISTWEAK(type)) return OL_KM_TWEAK;
-	if(ISMOUSE(type)) return OL_KM_MOUSE;
-//	return OL_KM_SPECIALS;
-	return 0;
-}
-
-static const char *keymap_type_menu(void)
-{
-	static const char string[]=
-	"Event Type%t"
-	"|Keyboard%x" STRINGIFY(OL_KM_KEYBOARD)
-	"|Mouse%x" STRINGIFY(OL_KM_MOUSE)
-	"|Tweak%x" STRINGIFY(OL_KM_TWEAK)
-//	"|Specials%x" STRINGIFY(OL_KM_SPECIALS)
-	;
-
-	return string;
-}
-
-static const char *keymap_mouse_menu(void)
-{
-	static const char string[]=
-	"Mouse Event%t"
-	"|Left Mouse%x" STRINGIFY(LEFTMOUSE)
-	"|Middle Mouse%x" STRINGIFY(MIDDLEMOUSE)
-	"|Right Mouse%x" STRINGIFY(RIGHTMOUSE)
-	"|Middle Mouse%x" STRINGIFY(MIDDLEMOUSE)
-	"|Right Mouse%x" STRINGIFY(RIGHTMOUSE)
-	"|Button4 Mouse%x" STRINGIFY(BUTTON4MOUSE)
-	"|Button5 Mouse%x" STRINGIFY(BUTTON5MOUSE)
-	"|Action Mouse%x" STRINGIFY(ACTIONMOUSE)
-	"|Select Mouse%x" STRINGIFY(SELECTMOUSE)
-	"|Mouse Move%x" STRINGIFY(MOUSEMOVE)
-	"|Wheel Up%x" STRINGIFY(WHEELUPMOUSE)
-	"|Wheel Down%x" STRINGIFY(WHEELDOWNMOUSE)
-	"|Wheel In%x" STRINGIFY(WHEELINMOUSE)
-	"|Wheel Out%x" STRINGIFY(WHEELOUTMOUSE)
-	"|Mouse/Trackpad Pan%x" STRINGIFY(MOUSEPAN)
-	"|Mouse/Trackpad Zoom%x" STRINGIFY(MOUSEZOOM)
-	"|Mouse/Trackpad Rotate%x" STRINGIFY(MOUSEROTATE)
-	;
-
-	return string;
-}
-
-static const char *keymap_tweak_menu(void)
-{
-	static const char string[]=
-	"Tweak Event%t"
-	"|Left Mouse%x" STRINGIFY(EVT_TWEAK_L)
-	"|Middle Mouse%x" STRINGIFY(EVT_TWEAK_M)
-	"|Right Mouse%x" STRINGIFY(EVT_TWEAK_R)
-	"|Action Mouse%x" STRINGIFY(EVT_TWEAK_A)
-	"|Select Mouse%x" STRINGIFY(EVT_TWEAK_S)
-	;
-
-	return string;
-}
-
-static const char *keymap_tweak_dir_menu(void)
-{
-	static const char string[]=
-	"Tweak Direction%t"
-	"|Any%x" STRINGIFY(KM_ANY)
-	"|North%x" STRINGIFY(EVT_GESTURE_N)
-	"|North-East%x" STRINGIFY(EVT_GESTURE_NE)
-	"|East%x" STRINGIFY(EVT_GESTURE_E)
-	"|Sout-East%x" STRINGIFY(EVT_GESTURE_SE)
-	"|South%x" STRINGIFY(EVT_GESTURE_S)
-	"|South-West%x" STRINGIFY(EVT_GESTURE_SW)
-	"|West%x" STRINGIFY(EVT_GESTURE_W)
-	"|North-West%x" STRINGIFY(EVT_GESTURE_NW)
-	;
-
-	return string;
-}
-
-
-static void keymap_type_cb(bContext *C, void *kmi_v, void *UNUSED(arg_v))
-{
-	wmKeyMapItem *kmi= kmi_v;
-	short maptype= keymap_menu_type(kmi->type);
-	
-	if(maptype!=kmi->maptype) {
-		switch(kmi->maptype) {
-			case OL_KM_KEYBOARD:
-				kmi->type= AKEY;
-				kmi->val= KM_PRESS;
-				break;
-			case OL_KM_MOUSE:
-				kmi->type= LEFTMOUSE;
-				kmi->val= KM_PRESS;
-				break;
-			case OL_KM_TWEAK:
-				kmi->type= EVT_TWEAK_L;
-				kmi->val= KM_ANY;
-				break;
-			case OL_KM_SPECIALS:
-				kmi->type= AKEY;
-				kmi->val= KM_PRESS;
-		}
-		ED_region_tag_redraw(CTX_wm_region(C));
-	}
-}
-
-static void outliner_draw_keymapbuts(uiBlock *block, ARegion *ar, SpaceOops *soops, ListBase *lb)
-{
-	TreeElement *te;
-	TreeStoreElem *tselem;
-	
-	uiBlockSetEmboss(block, UI_EMBOSST);
-	
-	for(te= lb->first; te; te= te->next) {
-		tselem= TREESTORE(te);
-		if(te->ys+2*UI_UNIT_Y >= ar->v2d.cur.ymin && te->ys <= ar->v2d.cur.ymax) {
-			uiBut *but;
-			const char *str;
-			int xstart= 240;
-			int butw1= UI_UNIT_X; /* operator */
-			int butw2= 90; /* event type, menus */
-			int butw3= 43; /* modifiers */
-
-			if(tselem->type == TSE_KEYMAP_ITEM) {
-				wmKeyMapItem *kmi= te->directdata;
-				
-				/* modal map? */
-				if(kmi->propvalue);
-				else {
-					uiDefBlockBut(block, operator_search_menu, kmi, "", xstart, (int)te->ys+1, butw1, UI_UNIT_Y-1, "Assign new Operator");
-				}
-				xstart+= butw1+10;
-				
-				/* map type button */
-				kmi->maptype= keymap_menu_type(kmi->type);
-				
-				str= keymap_type_menu();
-				but= uiDefButS(block, MENU, 0, str,	xstart, (int)te->ys+1, butw2, UI_UNIT_Y-1, &kmi->maptype, 0, 0, 0, 0, "Event type");
-				uiButSetFunc(but, keymap_type_cb, kmi, NULL);
-				xstart+= butw2+5;
-				
-				/* edit actual event */
-				switch(kmi->maptype) {
-					case OL_KM_KEYBOARD:
-						uiDefKeyevtButS(block, 0, "", xstart, (int)te->ys+1, butw2, UI_UNIT_Y-1, &kmi->type, "Key code");
-						xstart+= butw2+5;
-						break;
-					case OL_KM_MOUSE:
-						str= keymap_mouse_menu();
-						uiDefButS(block, MENU, 0, str, xstart,(int)te->ys+1, butw2, UI_UNIT_Y-1, &kmi->type, 0, 0, 0, 0,  "Mouse button");	
-						xstart+= butw2+5;
-						break;
-					case OL_KM_TWEAK:
-						str= keymap_tweak_menu();
-						uiDefButS(block, MENU, 0, str, xstart, (int)te->ys+1, butw2, UI_UNIT_Y-1, &kmi->type, 0, 0, 0, 0,  "Tweak gesture");	
-						xstart+= butw2+5;
-						str= keymap_tweak_dir_menu();
-						uiDefButS(block, MENU, 0, str, xstart, (int)te->ys+1, butw2, UI_UNIT_Y-1, &kmi->val, 0, 0, 0, 0,  "Tweak gesture direction");	
-						xstart+= butw2+5;
-						break;
-				}
-				
-				/* modifiers */
-				uiDefButS(block, OPTION, 0, "Shift",	xstart, (int)te->ys+1, butw3+5, UI_UNIT_Y-1, &kmi->shift, 0, 0, 0, 0, "Modifier"); xstart+= butw3+5;
-				uiDefButS(block, OPTION, 0, "Ctrl",	xstart, (int)te->ys+1, butw3, UI_UNIT_Y-1, &kmi->ctrl, 0, 0, 0, 0, "Modifier"); xstart+= butw3;
-				uiDefButS(block, OPTION, 0, "Alt",	xstart, (int)te->ys+1, butw3, UI_UNIT_Y-1, &kmi->alt, 0, 0, 0, 0, "Modifier"); xstart+= butw3;
-				uiDefButS(block, OPTION, 0, "OS",	xstart, (int)te->ys+1, butw3, UI_UNIT_Y-1, &kmi->oskey, 0, 0, 0, 0, "Modifier"); xstart+= butw3;
-				xstart+= 5;
-				uiDefKeyevtButS(block, 0, "", xstart, (int)te->ys+1, butw3, UI_UNIT_Y-1, &kmi->keymodifier, "Key Modifier code");
-				xstart+= butw3+5;
-				
-				/* rna property */
-				if(kmi->ptr && kmi->ptr->data) {
-					uiDefBut(block, LABEL, 0, "(RNA property)",	xstart, (int)te->ys+1, butw2, UI_UNIT_Y-1, &kmi->oskey, 0, 0, 0, 0, ""); xstart+= butw2;
-				}
-
-				(void)xstart;
-			}
-		}
-		
-		if((tselem->flag & TSE_CLOSED)==0) outliner_draw_keymapbuts(block, ar, soops, &te->subtree);
-	}
-}
-
-
-static void outliner_buttons(const bContext *C, uiBlock *block, ARegion *ar, SpaceOops *soops, ListBase *lb)
-{
-	uiBut *bt;
-	TreeElement *te;
-	TreeStoreElem *tselem;
-	int spx, dx, len;
-	
-	for(te= lb->first; te; te= te->next) {
-		tselem= TREESTORE(te);
-		if(te->ys+2*UI_UNIT_Y >= ar->v2d.cur.ymin && te->ys <= ar->v2d.cur.ymax) {
-			
-			if(tselem->flag & TSE_TEXTBUT) {
-				
-				/* If we add support to rename Sequence.
-				 * need change this.
-				 */
-				if(tselem->type == TSE_POSE_BASE) continue; // prevent crash when trying to rename 'pose' entry of armature
-				
-				if(tselem->type==TSE_EBONE) len = sizeof(((EditBone*) 0)->name);
-				else if (tselem->type==TSE_MODIFIER) len = sizeof(((ModifierData*) 0)->name);
-				else if(tselem->id && GS(tselem->id->name)==ID_LI) len = sizeof(((Library*) 0)->name);
-				else len= MAX_ID_NAME-2;
-				
-
-				dx= (int)UI_GetStringWidth(te->name);
-				if(dx<100) dx= 100;
-				spx=te->xs+2*UI_UNIT_X-4;
-				if(spx+dx+10>ar->v2d.cur.xmax) dx = ar->v2d.cur.xmax-spx-10;
-
-				bt= uiDefBut(block, TEX, OL_NAMEBUTTON, "", spx, (int)te->ys, dx+10, UI_UNIT_Y-1, (void *)te->name, 1.0, (float)len, 0, 0, "");
-				uiButSetRenameFunc(bt, namebutton_cb, tselem);
-				
-				/* returns false if button got removed */
-				if( 0 == uiButActiveOnly(C, block, bt) )
-					tselem->flag &= ~TSE_TEXTBUT;
-			}
-		}
-		
-		if((tselem->flag & TSE_CLOSED)==0) outliner_buttons(C, block, ar, soops, &te->subtree);
-	}
-}
-
-void draw_outliner(const bContext *C)
-{
-	Main *mainvar= CTX_data_main(C);
-	Scene *scene= CTX_data_scene(C);
-	ARegion *ar= CTX_wm_region(C);
-	View2D *v2d= &ar->v2d;
-	SpaceOops *soops= CTX_wm_space_outliner(C);
-	uiBlock *block;
-	int sizey= 0, sizex= 0, sizex_rna= 0;
-	
-	outliner_build_tree(mainvar, scene, soops); // always 
-	
-	/* get extents of data */
-	outliner_height(soops, &soops->tree, &sizey);
-
-	if (ELEM3(soops->outlinevis, SO_DATABLOCKS, SO_USERDEF, SO_KEYMAP)) {
-		/* RNA has two columns:
-		 * 	- column 1 is (max_width + OL_RNA_COL_SPACEX) or
-		 *				 (OL_RNA_COL_X), whichever is wider...
-		 *	- column 2 is fixed at OL_RNA_COL_SIZEX
-		 *
-		 *  (*) XXX max width for now is a fixed factor of UI_UNIT_X*(max_indention+100)
-		 */
-		 
-		/* get actual width of column 1 */
-		outliner_rna_width(soops, &soops->tree, &sizex_rna, 0);
-		sizex_rna= MAX2(OL_RNA_COLX, sizex_rna+OL_RNA_COL_SPACEX);
-		
-		/* get width of data (for setting 'tot' rect, this is column 1 + column 2 + a bit extra) */
-		if (soops->outlinevis == SO_KEYMAP) 
-			sizex= sizex_rna + OL_RNA_COL_SIZEX*3 + 50; // XXX this is only really a quick hack to make this wide enough...
-		else
-			sizex= sizex_rna + OL_RNA_COL_SIZEX + 50;
-	}
-	else {
-		/* width must take into account restriction columns (if visible) so that entries will still be visible */
-		//outliner_width(soops, &soops->tree, &sizex);
-		outliner_rna_width(soops, &soops->tree, &sizex, 0); // XXX should use outliner_width instead when te->xend will be set correctly...
-		
-		/* constant offset for restriction columns */
-		// XXX this isn't that great yet...
-		if ((soops->flag & SO_HIDE_RESTRICTCOLS)==0)
-			sizex += OL_TOGW*3;
-	}
-	
-	/* tweak to display last line (when list bigger than window) */
-	sizey += V2D_SCROLL_HEIGHT;
-	
-	/* adds vertical offset */
-	sizey += OL_Y_OFFSET;
-
-	/* update size of tot-rect (extents of data/viewable area) */
-	UI_view2d_totRect_set(v2d, sizex, sizey);
-
-	/* force display to pixel coords */
-	v2d->flag |= (V2D_PIXELOFS_X|V2D_PIXELOFS_Y);
-	/* set matrix for 2d-view controls */
-	UI_view2d_view_ortho(v2d);
-
-	/* draw outliner stuff (background, hierachy lines and names) */
-	outliner_back(ar);
-	block= uiBeginBlock(C, ar, "outliner buttons", UI_EMBOSS);
-	outliner_draw_tree((bContext *)C, block, scene, ar, soops);
-	
-	if(ELEM(soops->outlinevis, SO_DATABLOCKS, SO_USERDEF)) {
-		/* draw rna buttons */
-		outliner_draw_rnacols(ar, sizex_rna);
-		outliner_draw_rnabuts(block, scene, ar, soops, sizex_rna, &soops->tree);
-	}
-	else if(soops->outlinevis == SO_KEYMAP) {
-		outliner_draw_keymapbuts(block, ar, soops, &soops->tree);
-	}
-	else if (!(soops->flag & SO_HIDE_RESTRICTCOLS)) {
-		/* draw restriction columns */
-		outliner_draw_restrictcols(ar);
-		outliner_draw_restrictbuts(block, scene, ar, soops, &soops->tree);
-	}
-
-	/* draw edit buttons if nessecery */
-	outliner_buttons(C, block, ar, soops, &soops->tree);	
-
-	uiEndBlock(C, block);
-	uiDrawBlock(C, block);
-	
-	/* clear flag that allows quick redraws */
-	soops->storeflag &= ~SO_TREESTORE_REDRAW;
-}
-
diff --git a/source/blender/editors/space_outliner/outliner_draw.c b/source/blender/editors/space_outliner/outliner_draw.c
new file mode 100644
index 00000000000..17b44022c80
--- /dev/null
+++ b/source/blender/editors/space_outliner/outliner_draw.c
@@ -0,0 +1,1671 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version. 
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) 2004 Blender Foundation.
+ * All rights reserved.
+ *
+ * The Original Code is: all of this file.
+ *
+ * Contributor(s): Joshua Leung
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/editors/space_outliner/outliner_draw.c
+ *  \ingroup spoutliner
+ */
+
+#include <string.h>
+#include <stdlib.h>
+
+#include "MEM_guardedalloc.h"
+
+#include "DNA_anim_types.h"
+#include "DNA_armature_types.h"
+#include "DNA_camera_types.h"
+#include "DNA_group_types.h"
+#include "DNA_key_types.h"
+#include "DNA_lamp_types.h"
+#include "DNA_material_types.h"
+#include "DNA_mesh_types.h"
+#include "DNA_meta_types.h"
+#include "DNA_particle_types.h"
+#include "DNA_scene_types.h"
+#include "DNA_world_types.h"
+#include "DNA_sequence_types.h"
+#include "DNA_object_types.h"
+
+#include "BLI_blenlib.h"
+#include "BLI_utildefines.h"
+
+#include "BKE_animsys.h"
+#include "BKE_context.h"
+#include "BKE_deform.h"
+#include "BKE_depsgraph.h"
+#include "BKE_fcurve.h"
+#include "BKE_global.h"
+#include "BKE_group.h"
+#include "BKE_library.h"
+#include "BKE_main.h"
+#include "BKE_modifier.h"
+#include "BKE_report.h"
+#include "BKE_scene.h"
+#include "BKE_sequencer.h"
+
+#include "BLI_ghash.h"
+
+#include "ED_armature.h"
+#include "ED_object.h"
+#include "ED_screen.h"
+#include "ED_util.h"
+
+#include "WM_api.h"
+#include "WM_types.h"
+
+#include "BIF_gl.h"
+#include "BIF_glutil.h"
+
+#include "UI_interface.h"
+#include "UI_interface_icons.h"
+#include "UI_resources.h"
+#include "UI_view2d.h"
+
+#include "RNA_access.h"
+#include "RNA_define.h"
+
+#include "outliner_intern.h"
+
+/* ****************************************************** */
+/* Tree Size Functions */
+
+static void outliner_height(SpaceOops *soops, ListBase *lb, int *h)
+{
+	TreeElement *te= lb->first;
+	while(te) {
+		TreeStoreElem *tselem= TREESTORE(te);
+		if((tselem->flag & TSE_CLOSED)==0) 
+			outliner_height(soops, &te->subtree, h);
+		(*h) += UI_UNIT_Y;
+		te= te->next;
+	}
+}
+
+#if 0  // XXX this is currently disabled until te->xend is set correctly
+static void outliner_width(SpaceOops *soops, ListBase *lb, int *w)
+{
+	TreeElement *te= lb->first;
+	while(te) {
+//		TreeStoreElem *tselem= TREESTORE(te);
+		
+		// XXX fixme... te->xend is not set yet
+		if(tselem->flag & TSE_CLOSED) {
+			if (te->xend > *w)
+				*w = te->xend;
+		}
+		outliner_width(soops, &te->subtree, w);
+		te= te->next;
+	}
+}
+#endif
+
+static void outliner_rna_width(SpaceOops *soops, ListBase *lb, int *w, int startx)
+{
+	TreeElement *te= lb->first;
+	while(te) {
+		TreeStoreElem *tselem= TREESTORE(te);
+			// XXX fixme... (currently, we're using a fixed length of 100)!
+		/*if(te->xend) {
+			if(te->xend > *w)
+				*w = te->xend;
+		}*/
+		if(startx+100 > *w)
+			*w = startx+100;
+
+		if((tselem->flag & TSE_CLOSED)==0)
+			outliner_rna_width(soops, &te->subtree, w, startx+UI_UNIT_X);
+		te= te->next;
+	}
+}
+
+/* ****************************************************** */
+
+static void restrictbutton_view_cb(bContext *C, void *poin, void *poin2)
+{
+	Scene *scene = (Scene *)poin;
+	Object *ob = (Object *)poin2;
+
+	if(!common_restrict_check(C, ob)) return;
+	
+	/* deselect objects that are invisible */
+	if (ob->restrictflag & OB_RESTRICT_VIEW) {
+		/* Ouch! There is no backwards pointer from Object to Base, 
+		 * so have to do loop to find it. */
+		ED_base_object_select(object_in_scene(ob, scene), BA_DESELECT);
+	}
+	WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
+
+}
+
+static void restrictbutton_sel_cb(bContext *C, void *poin, void *poin2)
+{
+	Scene *scene = (Scene *)poin;
+	Object *ob = (Object *)poin2;
+	
+	if(!common_restrict_check(C, ob)) return;
+	
+	/* if select restriction has just been turned on */
+	if (ob->restrictflag & OB_RESTRICT_SELECT) {
+		/* Ouch! There is no backwards pointer from Object to Base, 
+		 * so have to do loop to find it. */
+		ED_base_object_select(object_in_scene(ob, scene), BA_DESELECT);
+	}
+	WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
+
+}
+
+static void restrictbutton_rend_cb(bContext *C, void *poin, void *UNUSED(poin2))
+{
+	WM_event_add_notifier(C, NC_SCENE|ND_OB_RENDER, poin);
+}
+
+static void restrictbutton_r_lay_cb(bContext *C, void *poin, void *UNUSED(poin2))
+{
+	WM_event_add_notifier(C, NC_SCENE|ND_RENDER_OPTIONS, poin);
+}
+
+static void restrictbutton_modifier_cb(bContext *C, void *UNUSED(poin), void *poin2)
+{
+	Object *ob = (Object *)poin2;
+	
+	DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
+
+	WM_event_add_notifier(C, NC_OBJECT|ND_DRAW, ob);
+}
+
+static void restrictbutton_bone_cb(bContext *C, void *UNUSED(poin), void *poin2)
+{
+	Bone *bone= (Bone *)poin2;
+	if(bone && (bone->flag & BONE_HIDDEN_P))
+		bone->flag &= ~(BONE_SELECTED | BONE_TIPSEL | BONE_ROOTSEL);
+	WM_event_add_notifier(C, NC_OBJECT|ND_POSE, NULL);
+}
+
+static void restrictbutton_ebone_cb(bContext *C, void *UNUSED(poin), void *poin2)
+{
+	EditBone *ebone= (EditBone *)poin2;
+	if(ebone && (ebone->flag & BONE_HIDDEN_A))
+		ebone->flag &= ~(BONE_SELECTED | BONE_TIPSEL | BONE_ROOTSEL);
+
+	WM_event_add_notifier(C, NC_OBJECT|ND_POSE, NULL);
+}
+
+static int group_restrict_flag(Group *gr, int flag)
+{
+	GroupObject *gob;
+
+	for(gob= gr->gobject.first; gob; gob= gob->next) {
+		if((gob->ob->restrictflag & flag) == 0)
+			return 0;
+	}
+
+	return 1;
+}
+
+static int group_select_flag(Group *gr)
+{
+	GroupObject *gob;
+
+	for(gob= gr->gobject.first; gob; gob= gob->next)
+		if((gob->ob->flag & SELECT))
+			return 1;
+
+	return 0;
+}
+
+static void restrictbutton_gr_restrict_flag(void *poin, void *poin2, int flag)
+{	
+	Scene *scene = (Scene *)poin;		
+	GroupObject *gob;
+	Group *gr = (Group *)poin2; 	
+
+	if(group_restrict_flag(gr, flag)) {
+		for(gob= gr->gobject.first; gob; gob= gob->next) {
+			gob->ob->restrictflag &= ~flag;
+			
+			if(flag==OB_RESTRICT_VIEW)
+				if(gob->ob->flag & SELECT)
+					ED_base_object_select(object_in_scene(gob->ob, scene), BA_DESELECT);
+		}
+	}
+	else {
+		for(gob= gr->gobject.first; gob; gob= gob->next) {
+			/* not in editmode */
+			if(scene->obedit!=gob->ob) {
+				gob->ob->restrictflag |= flag;
+				
+				if(flag==OB_RESTRICT_VIEW)
+					if((gob->ob->flag & SELECT) == 0)
+						ED_base_object_select(object_in_scene(gob->ob, scene), BA_SELECT);
+			}
+		}
+	}
+} 
+
+static void restrictbutton_gr_restrict_view(bContext *C, void *poin, void *poin2)
+{
+	restrictbutton_gr_restrict_flag(poin, poin2, OB_RESTRICT_VIEW);
+	WM_event_add_notifier(C, NC_GROUP, NULL);
+}
+static void restrictbutton_gr_restrict_select(bContext *C, void *poin, void *poin2)
+{
+	restrictbutton_gr_restrict_flag(poin, poin2, OB_RESTRICT_SELECT);
+	WM_event_add_notifier(C, NC_GROUP, NULL);
+}
+static void restrictbutton_gr_restrict_render(bContext *C, void *poin, void *poin2)
+{
+	restrictbutton_gr_restrict_flag(poin, poin2, OB_RESTRICT_RENDER);
+	WM_event_add_notifier(C, NC_GROUP, NULL);
+}
+
+
+static void namebutton_cb(bContext *C, void *tsep, char *oldname)
+{
+	SpaceOops *soops= CTX_wm_space_outliner(C);
+	Scene *scene= CTX_data_scene(C);
+	Object *obedit= CTX_data_edit_object(C);
+	TreeStore *ts= soops->treestore;
+	TreeStoreElem *tselem= tsep;
+	
+	if(ts && tselem) {
+		TreeElement *te= outliner_find_tse(soops, tselem);
+		
+		if(tselem->type==0) {
+			test_idbutton(tselem->id->name+2);	// library.c, unique name and alpha sort
+			
+			switch(GS(tselem->id->name)) {
+				case ID_MA:
+					WM_event_add_notifier(C, NC_MATERIAL, NULL); break;
+				case ID_TE:
+					WM_event_add_notifier(C, NC_TEXTURE, NULL); break;
+				case ID_IM:
+					WM_event_add_notifier(C, NC_IMAGE, NULL); break;
+				case ID_SCE:
+					WM_event_add_notifier(C, NC_SCENE, NULL); break;
+				default:
+					WM_event_add_notifier(C, NC_ID|NA_RENAME, NULL); break;
+			}					
+			/* Check the library target exists */
+			if (te->idcode == ID_LI) {
+				char expanded[FILE_MAXDIR + FILE_MAXFILE];
+				BLI_strncpy(expanded, ((Library *)tselem->id)->name, FILE_MAXDIR + FILE_MAXFILE);
+				BLI_path_abs(expanded, G.main->name);
+				if (!BLI_exists(expanded)) {
+					BKE_report(CTX_wm_reports(C), RPT_ERROR, "This path does not exist, correct this before saving");
+				}
+			}
+		}
+		else {
+			switch(tselem->type) {
+			case TSE_DEFGROUP:
+				defgroup_unique_name(te->directdata, (Object *)tselem->id); //	id = object
+				break;
+			case TSE_NLA_ACTION:
+				test_idbutton(tselem->id->name+2);
+				break;
+			case TSE_EBONE:
+			{
+				bArmature *arm= (bArmature *)tselem->id;
+				if(arm->edbo) {
+					EditBone *ebone= te->directdata;
+					char newname[sizeof(ebone->name)];
+					
+					/* restore bone name */
+					BLI_strncpy(newname, ebone->name, sizeof(ebone->name));
+					BLI_strncpy(ebone->name, oldname, sizeof(ebone->name));
+					ED_armature_bone_rename(obedit->data, oldname, newname);
+					WM_event_add_notifier(C, NC_OBJECT|ND_POSE, OBACT);
+				}
+			}
+				break;
+
+			case TSE_BONE:
+				{
+					Bone *bone= te->directdata;
+					Object *ob;
+					char newname[sizeof(bone->name)];
+					
+					// always make current object active
+					tree_element_active(C, scene, soops, te, 1); // was set_active_object()
+					ob= OBACT;
+					
+					/* restore bone name */
+					BLI_strncpy(newname, bone->name, sizeof(bone->name));
+					BLI_strncpy(bone->name, oldname, sizeof(bone->name));
+					ED_armature_bone_rename(ob->data, oldname, newname);
+					WM_event_add_notifier(C, NC_OBJECT|ND_POSE, ob);
+				}
+				break;
+			case TSE_POSE_CHANNEL:
+				{
+					bPoseChannel *pchan= te->directdata;
+					Object *ob;
+					char newname[sizeof(pchan->name)];
+					
+					// always make current object active
+					tree_element_active(C, scene, soops, te, 1); // was set_active_object()
+					ob= OBACT;
+					
+					/* restore bone name */
+					BLI_strncpy(newname, pchan->name, sizeof(pchan->name));
+					BLI_strncpy(pchan->name, oldname, sizeof(pchan->name));
+					ED_armature_bone_rename(ob->data, oldname, newname);
+					WM_event_add_notifier(C, NC_OBJECT|ND_POSE, ob);
+				}
+				break;
+			case TSE_POSEGRP:
+				{
+					Object *ob= (Object *)tselem->id; // id = object
+					bActionGroup *grp= te->directdata;
+					
+					BLI_uniquename(&ob->pose->agroups, grp, "Group", '.', offsetof(bActionGroup, name), sizeof(grp->name));
+					WM_event_add_notifier(C, NC_OBJECT|ND_POSE, ob);
+				}
+				break;
+			case TSE_R_LAYER:
+				break;
+			}
+		}
+		tselem->flag &= ~TSE_TEXTBUT;
+	}
+}
+
+static void outliner_draw_restrictbuts(uiBlock *block, Scene *scene, ARegion *ar, SpaceOops *soops, ListBase *lb)
+{	
+	uiBut *bt;
+	TreeElement *te;
+	TreeStoreElem *tselem;
+	Object *ob = NULL;
+	Group  *gr = NULL;
+
+	for(te= lb->first; te; te= te->next) {
+		tselem= TREESTORE(te);
+		if(te->ys+2*UI_UNIT_Y >= ar->v2d.cur.ymin && te->ys <= ar->v2d.cur.ymax) {	
+			/* objects have toggle-able restriction flags */
+			if(tselem->type==0 && te->idcode==ID_OB) {
+				PointerRNA ptr;
+				
+				ob = (Object *)tselem->id;
+				RNA_pointer_create((ID *)ob, &RNA_Object, ob, &ptr);
+				
+				uiBlockSetEmboss(block, UI_EMBOSSN);
+				bt= uiDefIconButR(block, ICONTOG, 0, ICON_RESTRICT_VIEW_OFF,
+							  (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1,
+							  &ptr, "hide", -1, 0, 0, -1, -1, NULL);
+				uiButSetFunc(bt, restrictbutton_view_cb, scene, ob);
+				
+				bt= uiDefIconButR(block, ICONTOG, 0, ICON_RESTRICT_SELECT_OFF,
+								  (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_SELECTX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1,
+								  &ptr, "hide_select", -1, 0, 0, -1, -1, NULL);
+				uiButSetFunc(bt, restrictbutton_sel_cb, scene, ob);
+				
+				bt= uiDefIconButR(block, ICONTOG, 0, ICON_RESTRICT_RENDER_OFF,
+								  (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_RENDERX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1,
+								  &ptr, "hide_render", -1, 0, 0, -1, -1, NULL);
+				uiButSetFunc(bt, restrictbutton_rend_cb, scene, ob);
+				
+				uiBlockSetEmboss(block, UI_EMBOSS);
+				
+			}
+			if(tselem->type==0 && te->idcode==ID_GR){ 
+				int restrict_bool;
+				gr = (Group *)tselem->id;
+				
+				uiBlockSetEmboss(block, UI_EMBOSSN);
+				
+				restrict_bool= group_restrict_flag(gr, OB_RESTRICT_VIEW);
+				bt = uiDefIconBut(block, BUT, 0, restrict_bool ? ICON_RESTRICT_VIEW_ON : ICON_RESTRICT_VIEW_OFF, (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, NULL, 0, 0, 0, 0, "Restrict/Allow visibility in the 3D View");
+				uiButSetFunc(bt, restrictbutton_gr_restrict_view, scene, gr);
+
+				restrict_bool= group_restrict_flag(gr, OB_RESTRICT_SELECT);
+				bt = uiDefIconBut(block, BUT, 0, restrict_bool ? ICON_RESTRICT_SELECT_ON : ICON_RESTRICT_SELECT_OFF, (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_SELECTX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, NULL, 0, 0, 0, 0, "Restrict/Allow selection in the 3D View");
+				uiButSetFunc(bt, restrictbutton_gr_restrict_select, scene, gr);
+	
+				restrict_bool= group_restrict_flag(gr, OB_RESTRICT_RENDER);
+				bt = uiDefIconBut(block, BUT, 0, restrict_bool ? ICON_RESTRICT_RENDER_ON : ICON_RESTRICT_RENDER_OFF, (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_RENDERX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, NULL, 0, 0, 0, 0, "Restrict/Allow renderability");
+				uiButSetFunc(bt, restrictbutton_gr_restrict_render, scene, gr);
+
+				uiBlockSetEmboss(block, UI_EMBOSS);
+			}
+			/* scene render layers and passes have toggle-able flags too! */
+			else if(tselem->type==TSE_R_LAYER) {
+				uiBlockSetEmboss(block, UI_EMBOSSN);
+				
+				bt= uiDefIconButBitI(block, ICONTOGN, SCE_LAY_DISABLE, 0, ICON_CHECKBOX_HLT-1, 
+									 (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, te->directdata, 0, 0, 0, 0, "Render this RenderLayer");
+				uiButSetFunc(bt, restrictbutton_r_lay_cb, tselem->id, NULL);
+				
+				uiBlockSetEmboss(block, UI_EMBOSS);
+			}
+			else if(tselem->type==TSE_R_PASS) {
+				int *layflag= te->directdata;
+				int passflag= 1<<tselem->nr;
+				
+				uiBlockSetEmboss(block, UI_EMBOSSN);
+				
+				
+				bt= uiDefIconButBitI(block, ICONTOG, passflag, 0, ICON_CHECKBOX_HLT-1, 
+									 (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, layflag, 0, 0, 0, 0, "Render this Pass");
+				uiButSetFunc(bt, restrictbutton_r_lay_cb, tselem->id, NULL);
+				
+				layflag++;	/* is lay_xor */
+				if(ELEM8(passflag, SCE_PASS_SPEC, SCE_PASS_SHADOW, SCE_PASS_AO, SCE_PASS_REFLECT, SCE_PASS_REFRACT, SCE_PASS_INDIRECT, SCE_PASS_EMIT, SCE_PASS_ENVIRONMENT))
+					bt= uiDefIconButBitI(block, TOG, passflag, 0, (*layflag & passflag)?ICON_DOT:ICON_BLANK1, 
+									 (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_SELECTX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, layflag, 0, 0, 0, 0, "Exclude this Pass from Combined");
+				uiButSetFunc(bt, restrictbutton_r_lay_cb, tselem->id, NULL);
+				
+				uiBlockSetEmboss(block, UI_EMBOSS);
+			}
+			else if(tselem->type==TSE_MODIFIER)  {
+				ModifierData *md= (ModifierData *)te->directdata;
+				ob = (Object *)tselem->id;
+				
+				uiBlockSetEmboss(block, UI_EMBOSSN);
+				bt= uiDefIconButBitI(block, ICONTOGN, eModifierMode_Realtime, 0, ICON_RESTRICT_VIEW_OFF, 
+						(int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, &(md->mode), 0, 0, 0, 0, "Restrict/Allow visibility in the 3D View");
+				uiButSetFunc(bt, restrictbutton_modifier_cb, scene, ob);
+				
+				bt= uiDefIconButBitI(block, ICONTOGN, eModifierMode_Render, 0, ICON_RESTRICT_RENDER_OFF, 
+						(int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_RENDERX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, &(md->mode), 0, 0, 0, 0, "Restrict/Allow renderability");
+				uiButSetFunc(bt, restrictbutton_modifier_cb, scene, ob);
+			}
+			else if(tselem->type==TSE_POSE_CHANNEL)  {
+				bPoseChannel *pchan= (bPoseChannel *)te->directdata;
+				Bone *bone = pchan->bone;
+				
+				uiBlockSetEmboss(block, UI_EMBOSSN);
+				bt= uiDefIconButBitI(block, ICONTOG, BONE_HIDDEN_P, 0, ICON_RESTRICT_VIEW_OFF, 
+						(int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, &(bone->flag), 0, 0, 0, 0, "Restrict/Allow visibility in the 3D View");
+				uiButSetFunc(bt, restrictbutton_bone_cb, NULL, bone);
+				
+				bt= uiDefIconButBitI(block, ICONTOG, BONE_UNSELECTABLE, 0, ICON_RESTRICT_SELECT_OFF, 
+						(int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_SELECTX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, &(bone->flag), 0, 0, 0, 0, "Restrict/Allow selection in the 3D View");
+				uiButSetFunc(bt, restrictbutton_bone_cb, NULL, NULL);
+			}
+			else if(tselem->type==TSE_EBONE)  {
+				EditBone *ebone= (EditBone *)te->directdata;
+				
+				uiBlockSetEmboss(block, UI_EMBOSSN);
+				bt= uiDefIconButBitI(block, ICONTOG, BONE_HIDDEN_A, 0, ICON_RESTRICT_VIEW_OFF, 
+						(int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, &(ebone->flag), 0, 0, 0, 0, "Restrict/Allow visibility in the 3D View");
+				uiButSetFunc(bt, restrictbutton_ebone_cb, NULL, ebone);
+				
+				bt= uiDefIconButBitI(block, ICONTOG, BONE_UNSELECTABLE, 0, ICON_RESTRICT_SELECT_OFF, 
+						(int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_SELECTX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, &(ebone->flag), 0, 0, 0, 0, "Restrict/Allow selection in the 3D View");
+				uiButSetFunc(bt, restrictbutton_ebone_cb, NULL, NULL);
+			}
+		}
+		
+		if((tselem->flag & TSE_CLOSED)==0) outliner_draw_restrictbuts(block, scene, ar, soops, &te->subtree);
+	}
+}
+
+static void outliner_draw_rnacols(ARegion *ar, int sizex)
+{
+	View2D *v2d= &ar->v2d;
+
+	float miny = v2d->cur.ymin-V2D_SCROLL_HEIGHT;
+	if(miny<v2d->tot.ymin) miny = v2d->tot.ymin;
+
+	UI_ThemeColorShadeAlpha(TH_BACK, -15, -200);
+
+	/* draw column separator lines */
+	fdrawline((float)sizex,
+		v2d->cur.ymax,
+		(float)sizex,
+		miny);
+
+	fdrawline((float)sizex+OL_RNA_COL_SIZEX,
+		v2d->cur.ymax,
+		(float)sizex+OL_RNA_COL_SIZEX,
+		miny);
+}
+
+static void outliner_draw_rnabuts(uiBlock *block, Scene *scene, ARegion *ar, SpaceOops *soops, int sizex, ListBase *lb)
+{	
+	TreeElement *te;
+	TreeStoreElem *tselem;
+	PointerRNA *ptr;
+	PropertyRNA *prop;
+	
+	uiBlockSetEmboss(block, UI_EMBOSST);
+
+	for(te= lb->first; te; te= te->next) {
+		tselem= TREESTORE(te);
+		if(te->ys+2*UI_UNIT_Y >= ar->v2d.cur.ymin && te->ys <= ar->v2d.cur.ymax) {	
+			if(tselem->type == TSE_RNA_PROPERTY) {
+				ptr= &te->rnaptr;
+				prop= te->directdata;
+				
+				if(!(RNA_property_type(prop) == PROP_POINTER && (tselem->flag & TSE_CLOSED)==0))
+					uiDefAutoButR(block, ptr, prop, -1, "", ICON_NONE, sizex, (int)te->ys, OL_RNA_COL_SIZEX, UI_UNIT_Y-1);
+			}
+			else if(tselem->type == TSE_RNA_ARRAY_ELEM) {
+				ptr= &te->rnaptr;
+				prop= te->directdata;
+				
+				uiDefAutoButR(block, ptr, prop, te->index, "", ICON_NONE, sizex, (int)te->ys, OL_RNA_COL_SIZEX, UI_UNIT_Y-1);
+			}
+		}
+		
+		if((tselem->flag & TSE_CLOSED)==0) outliner_draw_rnabuts(block, scene, ar, soops, sizex, &te->subtree);
+	}
+}
+
+static void operator_call_cb(struct bContext *UNUSED(C), void *arg_kmi, void *arg2)
+{
+	wmOperatorType *ot= arg2;
+	wmKeyMapItem *kmi= arg_kmi;
+	
+	if(ot)
+		BLI_strncpy(kmi->idname, ot->idname, OP_MAX_TYPENAME);
+}
+
+static void operator_search_cb(const struct bContext *UNUSED(C), void *UNUSED(arg_kmi), const char *str, uiSearchItems *items)
+{
+	GHashIterator *iter= WM_operatortype_iter();
+
+	for( ; !BLI_ghashIterator_isDone(iter); BLI_ghashIterator_step(iter)) {
+		wmOperatorType *ot= BLI_ghashIterator_getValue(iter);
+		
+		if(BLI_strcasestr(ot->idname, str)) {
+			char name[OP_MAX_TYPENAME];
+			
+			/* display name for menu */
+			WM_operator_py_idname(name, ot->idname);
+			
+			if(0==uiSearchItemAdd(items, name, ot, 0))
+				break;
+		}
+	}
+	BLI_ghashIterator_free(iter);
+}
+
+/* operator Search browse menu, open */
+static uiBlock *operator_search_menu(bContext *C, ARegion *ar, void *arg_kmi)
+{
+	static char search[OP_MAX_TYPENAME];
+	wmEvent event;
+	wmWindow *win= CTX_wm_window(C);
+	wmKeyMapItem *kmi= arg_kmi;
+	wmOperatorType *ot= WM_operatortype_find(kmi->idname, 0);
+	uiBlock *block;
+	uiBut *but;
+	
+	/* clear initial search string, then all items show */
+	search[0]= 0;
+	
+	block= uiBeginBlock(C, ar, "_popup", UI_EMBOSS);
+	uiBlockSetFlag(block, UI_BLOCK_LOOP|UI_BLOCK_REDRAW|UI_BLOCK_RET_1);
+	
+	/* fake button, it holds space for search items */
+	uiDefBut(block, LABEL, 0, "", 10, 15, 150, uiSearchBoxhHeight(), NULL, 0, 0, 0, 0, NULL);
+	
+	but= uiDefSearchBut(block, search, 0, ICON_VIEWZOOM, 256, 10, 0, 150, UI_UNIT_Y, 0, 0, "");
+	uiButSetSearchFunc(but, operator_search_cb, arg_kmi, operator_call_cb, ot);
+	
+	uiBoundsBlock(block, 6);
+	uiBlockSetDirection(block, UI_DOWN);	
+	uiEndBlock(C, block);
+	
+	event= *(win->eventstate);	/* XXX huh huh? make api call */
+	event.type= EVT_BUT_OPEN;
+	event.val= KM_PRESS;
+	event.customdata= but;
+	event.customdatafree= FALSE;
+	wm_event_add(win, &event);
+	
+	return block;
+}
+
+#define OL_KM_KEYBOARD		0
+#define OL_KM_MOUSE			1
+#define OL_KM_TWEAK			2
+#define OL_KM_SPECIALS		3
+
+static short keymap_menu_type(short type)
+{
+	if(ISKEYBOARD(type)) return OL_KM_KEYBOARD;
+	if(ISTWEAK(type)) return OL_KM_TWEAK;
+	if(ISMOUSE(type)) return OL_KM_MOUSE;
+//	return OL_KM_SPECIALS;
+	return 0;
+}
+
+static const char *keymap_type_menu(void)
+{
+	static const char string[]=
+	"Event Type%t"
+	"|Keyboard%x" STRINGIFY(OL_KM_KEYBOARD)
+	"|Mouse%x" STRINGIFY(OL_KM_MOUSE)
+	"|Tweak%x" STRINGIFY(OL_KM_TWEAK)
+//	"|Specials%x" STRINGIFY(OL_KM_SPECIALS)
+	;
+
+	return string;
+}
+
+static const char *keymap_mouse_menu(void)
+{
+	static const char string[]=
+	"Mouse Event%t"
+	"|Left Mouse%x" STRINGIFY(LEFTMOUSE)
+	"|Middle Mouse%x" STRINGIFY(MIDDLEMOUSE)
+	"|Right Mouse%x" STRINGIFY(RIGHTMOUSE)
+	"|Middle Mouse%x" STRINGIFY(MIDDLEMOUSE)
+	"|Right Mouse%x" STRINGIFY(RIGHTMOUSE)
+	"|Button4 Mouse%x" STRINGIFY(BUTTON4MOUSE)
+	"|Button5 Mouse%x" STRINGIFY(BUTTON5MOUSE)
+	"|Action Mouse%x" STRINGIFY(ACTIONMOUSE)
+	"|Select Mouse%x" STRINGIFY(SELECTMOUSE)
+	"|Mouse Move%x" STRINGIFY(MOUSEMOVE)
+	"|Wheel Up%x" STRINGIFY(WHEELUPMOUSE)
+	"|Wheel Down%x" STRINGIFY(WHEELDOWNMOUSE)
+	"|Wheel In%x" STRINGIFY(WHEELINMOUSE)
+	"|Wheel Out%x" STRINGIFY(WHEELOUTMOUSE)
+	"|Mouse/Trackpad Pan%x" STRINGIFY(MOUSEPAN)
+	"|Mouse/Trackpad Zoom%x" STRINGIFY(MOUSEZOOM)
+	"|Mouse/Trackpad Rotate%x" STRINGIFY(MOUSEROTATE)
+	;
+
+	return string;
+}
+
+static const char *keymap_tweak_menu(void)
+{
+	static const char string[]=
+	"Tweak Event%t"
+	"|Left Mouse%x" STRINGIFY(EVT_TWEAK_L)
+	"|Middle Mouse%x" STRINGIFY(EVT_TWEAK_M)
+	"|Right Mouse%x" STRINGIFY(EVT_TWEAK_R)
+	"|Action Mouse%x" STRINGIFY(EVT_TWEAK_A)
+	"|Select Mouse%x" STRINGIFY(EVT_TWEAK_S)
+	;
+
+	return string;
+}
+
+static const char *keymap_tweak_dir_menu(void)
+{
+	static const char string[]=
+	"Tweak Direction%t"
+	"|Any%x" STRINGIFY(KM_ANY)
+	"|North%x" STRINGIFY(EVT_GESTURE_N)
+	"|North-East%x" STRINGIFY(EVT_GESTURE_NE)
+	"|East%x" STRINGIFY(EVT_GESTURE_E)
+	"|Sout-East%x" STRINGIFY(EVT_GESTURE_SE)
+	"|South%x" STRINGIFY(EVT_GESTURE_S)
+	"|South-West%x" STRINGIFY(EVT_GESTURE_SW)
+	"|West%x" STRINGIFY(EVT_GESTURE_W)
+	"|North-West%x" STRINGIFY(EVT_GESTURE_NW)
+	;
+
+	return string;
+}
+
+
+static void keymap_type_cb(bContext *C, void *kmi_v, void *UNUSED(arg_v))
+{
+	wmKeyMapItem *kmi= kmi_v;
+	short maptype= keymap_menu_type(kmi->type);
+	
+	if(maptype!=kmi->maptype) {
+		switch(kmi->maptype) {
+			case OL_KM_KEYBOARD:
+				kmi->type= AKEY;
+				kmi->val= KM_PRESS;
+				break;
+			case OL_KM_MOUSE:
+				kmi->type= LEFTMOUSE;
+				kmi->val= KM_PRESS;
+				break;
+			case OL_KM_TWEAK:
+				kmi->type= EVT_TWEAK_L;
+				kmi->val= KM_ANY;
+				break;
+			case OL_KM_SPECIALS:
+				kmi->type= AKEY;
+				kmi->val= KM_PRESS;
+		}
+		ED_region_tag_redraw(CTX_wm_region(C));
+	}
+}
+
+static void outliner_draw_keymapbuts(uiBlock *block, ARegion *ar, SpaceOops *soops, ListBase *lb)
+{
+	TreeElement *te;
+	TreeStoreElem *tselem;
+	
+	uiBlockSetEmboss(block, UI_EMBOSST);
+	
+	for(te= lb->first; te; te= te->next) {
+		tselem= TREESTORE(te);
+		if(te->ys+2*UI_UNIT_Y >= ar->v2d.cur.ymin && te->ys <= ar->v2d.cur.ymax) {
+			uiBut *but;
+			const char *str;
+			int xstart= 240;
+			int butw1= UI_UNIT_X; /* operator */
+			int butw2= 90; /* event type, menus */
+			int butw3= 43; /* modifiers */
+
+			if(tselem->type == TSE_KEYMAP_ITEM) {
+				wmKeyMapItem *kmi= te->directdata;
+				
+				/* modal map? */
+				if(kmi->propvalue);
+				else {
+					uiDefBlockBut(block, operator_search_menu, kmi, "", xstart, (int)te->ys+1, butw1, UI_UNIT_Y-1, "Assign new Operator");
+				}
+				xstart+= butw1+10;
+				
+				/* map type button */
+				kmi->maptype= keymap_menu_type(kmi->type);
+				
+				str= keymap_type_menu();
+				but= uiDefButS(block, MENU, 0, str,	xstart, (int)te->ys+1, butw2, UI_UNIT_Y-1, &kmi->maptype, 0, 0, 0, 0, "Event type");
+				uiButSetFunc(but, keymap_type_cb, kmi, NULL);
+				xstart+= butw2+5;
+				
+				/* edit actual event */
+				switch(kmi->maptype) {
+					case OL_KM_KEYBOARD:
+						uiDefKeyevtButS(block, 0, "", xstart, (int)te->ys+1, butw2, UI_UNIT_Y-1, &kmi->type, "Key code");
+						xstart+= butw2+5;
+						break;
+					case OL_KM_MOUSE:
+						str= keymap_mouse_menu();
+						uiDefButS(block, MENU, 0, str, xstart,(int)te->ys+1, butw2, UI_UNIT_Y-1, &kmi->type, 0, 0, 0, 0,  "Mouse button");	
+						xstart+= butw2+5;
+						break;
+					case OL_KM_TWEAK:
+						str= keymap_tweak_menu();
+						uiDefButS(block, MENU, 0, str, xstart, (int)te->ys+1, butw2, UI_UNIT_Y-1, &kmi->type, 0, 0, 0, 0,  "Tweak gesture");	
+						xstart+= butw2+5;
+						str= keymap_tweak_dir_menu();
+						uiDefButS(block, MENU, 0, str, xstart, (int)te->ys+1, butw2, UI_UNIT_Y-1, &kmi->val, 0, 0, 0, 0,  "Tweak gesture direction");	
+						xstart+= butw2+5;
+						break;
+				}
+				
+				/* modifiers */
+				uiDefButS(block, OPTION, 0, "Shift",	xstart, (int)te->ys+1, butw3+5, UI_UNIT_Y-1, &kmi->shift, 0, 0, 0, 0, "Modifier"); xstart+= butw3+5;
+				uiDefButS(block, OPTION, 0, "Ctrl",	xstart, (int)te->ys+1, butw3, UI_UNIT_Y-1, &kmi->ctrl, 0, 0, 0, 0, "Modifier"); xstart+= butw3;
+				uiDefButS(block, OPTION, 0, "Alt",	xstart, (int)te->ys+1, butw3, UI_UNIT_Y-1, &kmi->alt, 0, 0, 0, 0, "Modifier"); xstart+= butw3;
+				uiDefButS(block, OPTION, 0, "OS",	xstart, (int)te->ys+1, butw3, UI_UNIT_Y-1, &kmi->oskey, 0, 0, 0, 0, "Modifier"); xstart+= butw3;
+				xstart+= 5;
+				uiDefKeyevtButS(block, 0, "", xstart, (int)te->ys+1, butw3, UI_UNIT_Y-1, &kmi->keymodifier, "Key Modifier code");
+				xstart+= butw3+5;
+				
+				/* rna property */
+				if(kmi->ptr && kmi->ptr->data) {
+					uiDefBut(block, LABEL, 0, "(RNA property)",	xstart, (int)te->ys+1, butw2, UI_UNIT_Y-1, &kmi->oskey, 0, 0, 0, 0, ""); xstart+= butw2;
+				}
+
+				(void)xstart;
+			}
+		}
+		
+		if((tselem->flag & TSE_CLOSED)==0) outliner_draw_keymapbuts(block, ar, soops, &te->subtree);
+	}
+}
+
+
+static void outliner_buttons(const bContext *C, uiBlock *block, ARegion *ar, SpaceOops *soops, ListBase *lb)
+{
+	uiBut *bt;
+	TreeElement *te;
+	TreeStoreElem *tselem;
+	int spx, dx, len;
+	
+	for(te= lb->first; te; te= te->next) {
+		tselem= TREESTORE(te);
+		if(te->ys+2*UI_UNIT_Y >= ar->v2d.cur.ymin && te->ys <= ar->v2d.cur.ymax) {
+			
+			if(tselem->flag & TSE_TEXTBUT) {
+				
+				/* If we add support to rename Sequence.
+				 * need change this.
+				 */
+				if(tselem->type == TSE_POSE_BASE) continue; // prevent crash when trying to rename 'pose' entry of armature
+				
+				if(tselem->type==TSE_EBONE) len = sizeof(((EditBone*) 0)->name);
+				else if (tselem->type==TSE_MODIFIER) len = sizeof(((ModifierData*) 0)->name);
+				else if(tselem->id && GS(tselem->id->name)==ID_LI) len = sizeof(((Library*) 0)->name);
+				else len= MAX_ID_NAME-2;
+				
+
+				dx= (int)UI_GetStringWidth(te->name);
+				if(dx<100) dx= 100;
+				spx=te->xs+2*UI_UNIT_X-4;
+				if(spx+dx+10>ar->v2d.cur.xmax) dx = ar->v2d.cur.xmax-spx-10;
+
+				bt= uiDefBut(block, TEX, OL_NAMEBUTTON, "", spx, (int)te->ys, dx+10, UI_UNIT_Y-1, (void *)te->name, 1.0, (float)len, 0, 0, "");
+				uiButSetRenameFunc(bt, namebutton_cb, tselem);
+				
+				/* returns false if button got removed */
+				if( 0 == uiButActiveOnly(C, block, bt) )
+					tselem->flag &= ~TSE_TEXTBUT;
+			}
+		}
+		
+		if((tselem->flag & TSE_CLOSED)==0) outliner_buttons(C, block, ar, soops, &te->subtree);
+	}
+}
+
+/* ****************************************************** */
+/* Normal Drawing... */
+
+/* make function calls a bit compacter */
+struct DrawIconArg {
+	uiBlock *block;
+	ID *id;
+	int xmax, x, y;
+	float alpha;
+};
+
+static void tselem_draw_icon_uibut(struct DrawIconArg *arg, int icon)
+{
+	/* restrict collumn clip... it has been coded by simply overdrawing, doesnt work for buttons */
+	if(arg->x >= arg->xmax) 
+		UI_icon_draw(arg->x, arg->y, icon);
+	else {
+		/* XXX investigate: button placement of icons is way different than UI_icon_draw? */
+		float ufac= UI_UNIT_X/20.0f;
+		uiBut *but= uiDefIconBut(arg->block, LABEL, 0, icon, arg->x-3.0f*ufac, arg->y, UI_UNIT_X-4.0f*ufac, UI_UNIT_Y-4.0f*ufac, NULL, 0.0, 0.0, 1.0, arg->alpha, (arg->id && arg->id->lib) ? arg->id->lib->name : "");
+		
+		if(arg->id)
+			uiButSetDragID(but, arg->id);
+	}
+
+}
+
+static void tselem_draw_icon(uiBlock *block, int xmax, float x, float y, TreeStoreElem *tselem, TreeElement *te, float alpha)
+{
+	struct DrawIconArg arg;
+	
+	/* make function calls a bit compacter */
+	arg.block= block;
+	arg.id= tselem->id;
+	arg.xmax= xmax;
+	arg.x= x;
+	arg.y= y;
+	arg.alpha= alpha;
+	
+	if(tselem->type) {
+		switch( tselem->type) {
+			case TSE_ANIM_DATA:
+				UI_icon_draw(x, y, ICON_ANIM_DATA); break; // xxx
+			case TSE_NLA:
+				UI_icon_draw(x, y, ICON_NLA); break;
+			case TSE_NLA_TRACK:
+				UI_icon_draw(x, y, ICON_NLA); break; // XXX
+			case TSE_NLA_ACTION:
+				UI_icon_draw(x, y, ICON_ACTION); break;
+			case TSE_DRIVER_BASE:
+
+#if 0		// GSOC_PEPPER
+
+				UI_icon_draw(x, y, ICON_DRIVER); break;
+
+#endif		// GSOC_PEPPER
+
+			case TSE_DEFGROUP_BASE:
+				UI_icon_draw(x, y, ICON_GROUP_VERTEX); break;
+			case TSE_BONE:
+			case TSE_EBONE:
+				UI_icon_draw(x, y, ICON_BONE_DATA); break;
+			case TSE_CONSTRAINT_BASE:
+				UI_icon_draw(x, y, ICON_CONSTRAINT); break;
+			case TSE_MODIFIER_BASE:
+				UI_icon_draw(x, y, ICON_MODIFIER); break;
+			case TSE_LINKED_OB:
+				UI_icon_draw(x, y, ICON_OBJECT_DATA); break;
+			case TSE_LINKED_PSYS:
+				UI_icon_draw(x, y, ICON_PARTICLES); break;
+			case TSE_MODIFIER:
+			{
+				Object *ob= (Object *)tselem->id;
+				ModifierData *md= BLI_findlink(&ob->modifiers, tselem->nr);
+				switch(md->type) {
+					case eModifierType_Subsurf: 
+						UI_icon_draw(x, y, ICON_MOD_SUBSURF); break;
+					case eModifierType_Armature: 
+						UI_icon_draw(x, y, ICON_MOD_ARMATURE); break;
+					case eModifierType_Lattice: 
+						UI_icon_draw(x, y, ICON_MOD_LATTICE); break;
+					case eModifierType_Curve: 
+						UI_icon_draw(x, y, ICON_MOD_CURVE); break;
+					case eModifierType_Build: 
+						UI_icon_draw(x, y, ICON_MOD_BUILD); break;
+					case eModifierType_Mirror: 
+						UI_icon_draw(x, y, ICON_MOD_MIRROR); break;
+					case eModifierType_Decimate: 
+						UI_icon_draw(x, y, ICON_MOD_DECIM); break;
+					case eModifierType_Wave: 
+						UI_icon_draw(x, y, ICON_MOD_WAVE); break;
+					case eModifierType_Hook: 
+						UI_icon_draw(x, y, ICON_HOOK); break;
+					case eModifierType_Softbody: 
+						UI_icon_draw(x, y, ICON_MOD_SOFT); break;
+					case eModifierType_Boolean: 
+						UI_icon_draw(x, y, ICON_MOD_BOOLEAN); break;
+					case eModifierType_ParticleSystem: 
+						UI_icon_draw(x, y, ICON_MOD_PARTICLES); break;
+					case eModifierType_ParticleInstance:
+						UI_icon_draw(x, y, ICON_MOD_PARTICLES); break;
+					case eModifierType_EdgeSplit:
+						UI_icon_draw(x, y, ICON_MOD_EDGESPLIT); break;
+					case eModifierType_Array:
+						UI_icon_draw(x, y, ICON_MOD_ARRAY); break;
+					case eModifierType_UVProject:
+						UI_icon_draw(x, y, ICON_MOD_UVPROJECT); break;
+					case eModifierType_Displace:
+						UI_icon_draw(x, y, ICON_MOD_DISPLACE); break;
+					case eModifierType_Shrinkwrap:
+						UI_icon_draw(x, y, ICON_MOD_SHRINKWRAP); break;
+					case eModifierType_Cast:
+						UI_icon_draw(x, y, ICON_MOD_CAST); break;
+					case eModifierType_MeshDeform:
+						UI_icon_draw(x, y, ICON_MOD_MESHDEFORM); break;
+					case eModifierType_Bevel:
+						UI_icon_draw(x, y, ICON_MOD_BEVEL); break;
+					case eModifierType_Smooth:
+						UI_icon_draw(x, y, ICON_MOD_SMOOTH); break;
+					case eModifierType_SimpleDeform:
+						UI_icon_draw(x, y, ICON_MOD_SIMPLEDEFORM); break;
+					case eModifierType_Mask:
+						UI_icon_draw(x, y, ICON_MOD_MASK); break;
+					case eModifierType_Cloth:
+						UI_icon_draw(x, y, ICON_MOD_CLOTH); break;
+					case eModifierType_Explode:
+						UI_icon_draw(x, y, ICON_MOD_EXPLODE); break;
+					case eModifierType_Collision:
+						UI_icon_draw(x, y, ICON_MOD_PHYSICS); break;
+					case eModifierType_Fluidsim:
+						UI_icon_draw(x, y, ICON_MOD_FLUIDSIM); break;
+					case eModifierType_Multires:
+						UI_icon_draw(x, y, ICON_MOD_MULTIRES); break;
+					case eModifierType_Smoke:
+						UI_icon_draw(x, y, ICON_MOD_SMOKE); break;
+					case eModifierType_Solidify:
+						UI_icon_draw(x, y, ICON_MOD_SOLIDIFY); break;
+					case eModifierType_Screw:
+						UI_icon_draw(x, y, ICON_MOD_SCREW); break;
+					default:
+						UI_icon_draw(x, y, ICON_DOT); break;
+				}
+				break;
+			}
+			case TSE_SCRIPT_BASE:
+				UI_icon_draw(x, y, ICON_TEXT); break;
+			case TSE_POSE_BASE:
+				UI_icon_draw(x, y, ICON_ARMATURE_DATA); break;
+			case TSE_POSE_CHANNEL:
+				UI_icon_draw(x, y, ICON_BONE_DATA); break;
+			case TSE_PROXY:
+				UI_icon_draw(x, y, ICON_GHOST); break;
+			case TSE_R_LAYER_BASE:
+				UI_icon_draw(x, y, ICON_RENDERLAYERS); break;
+			case TSE_R_LAYER:
+				UI_icon_draw(x, y, ICON_RENDERLAYERS); break;
+			case TSE_LINKED_LAMP:
+				UI_icon_draw(x, y, ICON_LAMP_DATA); break;
+			case TSE_LINKED_MAT:
+				UI_icon_draw(x, y, ICON_MATERIAL_DATA); break;
+			case TSE_POSEGRP_BASE:
+				UI_icon_draw(x, y, ICON_VERTEXSEL); break;
+			case TSE_SEQUENCE:
+				if(te->idcode==SEQ_MOVIE)
+					UI_icon_draw(x, y, ICON_SEQUENCE);
+				else if(te->idcode==SEQ_META)
+					UI_icon_draw(x, y, ICON_DOT);
+				else if(te->idcode==SEQ_SCENE)
+					UI_icon_draw(x, y, ICON_SCENE);
+				else if(te->idcode==SEQ_SOUND)
+					UI_icon_draw(x, y, ICON_SOUND);
+				else if(te->idcode==SEQ_IMAGE)
+					UI_icon_draw(x, y, ICON_IMAGE_COL);
+				else
+					UI_icon_draw(x, y, ICON_PARTICLES);
+				break;
+			case TSE_SEQ_STRIP:
+				UI_icon_draw(x, y, ICON_LIBRARY_DATA_DIRECT);
+				break;
+			case TSE_SEQUENCE_DUP:
+				UI_icon_draw(x, y, ICON_OBJECT_DATA);
+				break;
+			case TSE_RNA_STRUCT:
+				if(RNA_struct_is_ID(te->rnaptr.type)) {
+					arg.id= (ID *)te->rnaptr.data;
+					tselem_draw_icon_uibut(&arg, RNA_struct_ui_icon(te->rnaptr.type));
+				}
+				else
+					UI_icon_draw(x, y, RNA_struct_ui_icon(te->rnaptr.type));
+				break;
+			default:
+				UI_icon_draw(x, y, ICON_DOT); break;
+		}
+	}
+	else if (GS(tselem->id->name) == ID_OB) {
+		Object *ob= (Object *)tselem->id;
+		switch (ob->type) {
+			case OB_LAMP:
+				tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_LAMP); break;
+			case OB_MESH: 
+				tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_MESH); break;
+			case OB_CAMERA: 
+				tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_CAMERA); break;
+			case OB_CURVE: 
+				tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_CURVE); break;
+			case OB_MBALL: 
+				tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_META); break;
+			case OB_LATTICE: 
+				tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_LATTICE); break;
+			case OB_ARMATURE: 
+				tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_ARMATURE); break;
+			case OB_FONT: 
+				tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_FONT); break;
+			case OB_SURF: 
+				tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_SURFACE); break;
+
+#if 0		// GSOC_PEPPER
+
+			case OB_SPEAKER:
+				tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_SPEAKER); break;
+
+#endif		// GSOC_PEPPER
+
+			case OB_EMPTY: 
+				tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_EMPTY); break;
+		
+		}
+	}
+	else {
+		switch( GS(tselem->id->name)) {
+			case ID_SCE:
+				tselem_draw_icon_uibut(&arg, ICON_SCENE_DATA); break;
+			case ID_ME:
+				tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_MESH); break;
+			case ID_CU:
+				tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_CURVE); break;
+			case ID_MB:
+				tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_META); break;
+			case ID_LT:
+				tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_LATTICE); break;
+			case ID_LA:
+			{
+				Lamp *la= (Lamp *)tselem->id;
+				
+				switch(la->type) {
+					case LA_LOCAL:
+						tselem_draw_icon_uibut(&arg, ICON_LAMP_POINT); break;
+					case LA_SUN:
+						tselem_draw_icon_uibut(&arg, ICON_LAMP_SUN); break;
+					case LA_SPOT:
+						tselem_draw_icon_uibut(&arg, ICON_LAMP_SPOT); break;
+					case LA_HEMI:
+						tselem_draw_icon_uibut(&arg, ICON_LAMP_HEMI); break;
+					case LA_AREA:
+						tselem_draw_icon_uibut(&arg, ICON_LAMP_AREA); break;
+					default:
+						tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_LAMP); break;
+				}
+				break;
+			}
+			case ID_MA:
+				tselem_draw_icon_uibut(&arg, ICON_MATERIAL_DATA); break;
+			case ID_TE:
+				tselem_draw_icon_uibut(&arg, ICON_TEXTURE_DATA); break;
+			case ID_IM:
+				tselem_draw_icon_uibut(&arg, ICON_IMAGE_DATA); break;
+
+#if 0		// GSOC_PEPPER
+
+			case ID_SPK:
+			case ID_SO:
+				tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_SPEAKER); break;
+
+#endif		// GSOC_PEPPER
+
+			case ID_AR:
+				tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_ARMATURE); break;
+			case ID_CA:
+				tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_CAMERA); break;
+			case ID_KE:
+				tselem_draw_icon_uibut(&arg, ICON_SHAPEKEY_DATA); break;
+			case ID_WO:
+				tselem_draw_icon_uibut(&arg, ICON_WORLD_DATA); break;
+			case ID_AC:
+				tselem_draw_icon_uibut(&arg, ICON_ACTION); break;
+			case ID_NLA:
+				tselem_draw_icon_uibut(&arg, ICON_NLA); break;
+			case ID_TXT:
+				tselem_draw_icon_uibut(&arg, ICON_SCRIPT); break;
+			case ID_GR:
+				tselem_draw_icon_uibut(&arg, ICON_GROUP); break;
+			case ID_LI:
+				tselem_draw_icon_uibut(&arg, ICON_LIBRARY_DATA_DIRECT); break;
+		}
+	}
+}
+
+static void outliner_draw_iconrow(bContext *C, uiBlock *block, Scene *scene, SpaceOops *soops, ListBase *lb, int level, int xmax, int *offsx, int ys)
+{
+	TreeElement *te;
+	TreeStoreElem *tselem;
+	int active;
+
+	for(te= lb->first; te; te= te->next) {
+		
+		/* exit drawing early */
+		if((*offsx) - UI_UNIT_X > xmax)
+			break;
+
+		tselem= TREESTORE(te);
+		
+		/* object hierarchy always, further constrained on level */
+		if(level<1 || (tselem->type==0 && te->idcode==ID_OB)) {
+
+			/* active blocks get white circle */
+			if(tselem->type==0) {
+				if(te->idcode==ID_OB) active= (OBACT==(Object *)tselem->id);
+				else if(scene->obedit && scene->obedit->data==tselem->id) active= 1;	// XXX use context?
+				else active= tree_element_active(C, scene, soops, te, 0);
+			}
+			else active= tree_element_type_active(NULL, scene, soops, te, tselem, 0);
+			
+			if(active) {
+				float ufac= UI_UNIT_X/20.0f;
+
+				uiSetRoundBox(15);
+				glColor4ub(255, 255, 255, 100);
+				uiRoundBox( (float)*offsx-0.5f*ufac, (float)ys-1.0f*ufac, (float)*offsx+UI_UNIT_Y-3.0f*ufac, (float)ys+UI_UNIT_Y-3.0f*ufac, UI_UNIT_Y/2.0f-2.0f*ufac);
+				glEnable(GL_BLEND); /* roundbox disables */
+			}
+			
+			tselem_draw_icon(block, xmax, (float)*offsx, (float)ys, tselem, te, 0.5f);
+			te->xs= (float)*offsx;
+			te->ys= (float)ys;
+			te->xend= (short)*offsx+UI_UNIT_X;
+			te->flag |= TE_ICONROW;	// for click
+			
+			(*offsx) += UI_UNIT_X;
+		}
+		
+		/* this tree element always has same amount of branches, so dont draw */
+		if(tselem->type!=TSE_R_LAYER)
+			outliner_draw_iconrow(C, block, scene, soops, &te->subtree, level+1, xmax, offsx, ys);
+	}
+	
+}
+
+/* closed tree element */
+static void outliner_set_coord_tree_element(SpaceOops *soops, TreeElement *te, int startx, int *starty)
+{
+	TreeElement *ten;
+	
+	/* store coord and continue, we need coordinates for elements outside view too */
+	te->xs= (float)startx;
+	te->ys= (float)(*starty);
+	
+	for(ten= te->subtree.first; ten; ten= ten->next) {
+		outliner_set_coord_tree_element(soops, ten, startx+UI_UNIT_X, starty);
+	}	
+}
+
+
+static void outliner_draw_tree_element(bContext *C, uiBlock *block, Scene *scene, ARegion *ar, SpaceOops *soops, TreeElement *te, int startx, int *starty)
+{
+	TreeElement *ten;
+	TreeStoreElem *tselem;
+	float ufac= UI_UNIT_X/20.0f;
+	int offsx= 0, active=0; // active=1 active obj, else active data
+	
+	tselem= TREESTORE(te);
+
+	if(*starty+2*UI_UNIT_Y >= ar->v2d.cur.ymin && *starty<= ar->v2d.cur.ymax) {
+		int xmax= ar->v2d.cur.xmax;
+		
+		/* icons can be ui buts, we dont want it to overlap with restrict */
+		if((soops->flag & SO_HIDE_RESTRICTCOLS)==0)
+			xmax-= OL_TOGW+UI_UNIT_X;
+		
+		glEnable(GL_BLEND);
+
+		/* colors for active/selected data */
+		if(tselem->type==0) {
+			if(te->idcode==ID_SCE) {
+				if(tselem->id == (ID *)scene) {
+					glColor4ub(255, 255, 255, 100);
+					active= 2;
+				}
+			}
+			else if(te->idcode==ID_GR) {
+				Group *gr = (Group *)tselem->id;
+				
+				if(group_select_flag(gr)) {
+					char col[4];
+					UI_GetThemeColorType4ubv(TH_SELECT, SPACE_VIEW3D, col);
+					col[3]= 100;
+					glColor4ubv((GLubyte *)col);
+					
+					active= 2;
+				}
+			}
+			else if(te->idcode==ID_OB) {
+				Object *ob= (Object *)tselem->id;
+				
+				if(ob==OBACT || (ob->flag & SELECT)) {
+					char col[4]= {0, 0, 0, 0};
+					
+					/* outliner active ob: always white text, circle color now similar to view3d */
+					
+					active= 2; /* means it draws a color circle */
+					if(ob==OBACT) {
+						if(ob->flag & SELECT) {
+							UI_GetThemeColorType4ubv(TH_ACTIVE, SPACE_VIEW3D, col);
+							col[3]= 100;
+						}
+						
+						active= 1; /* means it draws white text */
+					}
+					else if(ob->flag & SELECT) {
+						UI_GetThemeColorType4ubv(TH_SELECT, SPACE_VIEW3D, col);
+						col[3]= 100;
+					}
+					
+					glColor4ubv((GLubyte *)col);
+				}
+			
+			}
+			else if(scene->obedit && scene->obedit->data==tselem->id) {
+				glColor4ub(255, 255, 255, 100);
+				active= 2;
+			}
+			else {
+				if(tree_element_active(C, scene, soops, te, 0)) {
+					glColor4ub(220, 220, 255, 100);
+					active= 2;
+				}
+			}
+		}
+		else {
+			if( tree_element_type_active(NULL, scene, soops, te, tselem, 0) ) active= 2;
+			glColor4ub(220, 220, 255, 100);
+		}
+		
+		/* active circle */
+		if(active) {
+			uiSetRoundBox(15);
+			uiRoundBox( (float)startx+UI_UNIT_Y-1.5f*ufac, (float)*starty+2.0f*ufac, (float)startx+2.0f*UI_UNIT_Y-4.0f*ufac, (float)*starty+UI_UNIT_Y-1.0f*ufac, UI_UNIT_Y/2.0f-2.0f*ufac);
+			glEnable(GL_BLEND);	/* roundbox disables it */
+			
+			te->flag |= TE_ACTIVE; // for lookup in display hierarchies
+		}
+		
+		/* open/close icon, only when sublevels, except for scene */
+		if(te->subtree.first || (tselem->type==0 && te->idcode==ID_SCE) || (te->flag & TE_LAZY_CLOSED)) {
+			int icon_x;
+			if(tselem->type==0 && ELEM(te->idcode, ID_OB, ID_SCE))
+				icon_x = startx;
+			else
+				icon_x = startx+5*ufac;
+			
+				// icons a bit higher
+			if(tselem->flag & TSE_CLOSED) 
+				UI_icon_draw((float)icon_x, (float)*starty+2*ufac, ICON_DISCLOSURE_TRI_RIGHT);
+			else
+				UI_icon_draw((float)icon_x, (float)*starty+2*ufac, ICON_DISCLOSURE_TRI_DOWN);
+		}
+		offsx+= UI_UNIT_X;
+		
+		/* datatype icon */
+		
+		if(!(ELEM(tselem->type, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM))) {
+			// icons a bit higher
+			tselem_draw_icon(block, xmax, (float)startx+offsx - 0.5f*ufac, (float)*starty+2.0f*ufac, tselem, te, 1.0f);
+			
+			offsx+= UI_UNIT_X;
+		}
+		else
+			offsx+= 2*ufac;
+		
+		if(tselem->type==0 && tselem->id->lib) {
+			glPixelTransferf(GL_ALPHA_SCALE, 0.5f);
+			if(tselem->id->flag & LIB_INDIRECT)
+				UI_icon_draw((float)startx+offsx, (float)*starty+2*ufac, ICON_LIBRARY_DATA_INDIRECT);
+			else
+				UI_icon_draw((float)startx+offsx, (float)*starty+2*ufac, ICON_LIBRARY_DATA_DIRECT);
+			glPixelTransferf(GL_ALPHA_SCALE, 1.0f);
+			offsx+= UI_UNIT_X;
+		}		
+		glDisable(GL_BLEND);
+		
+		/* name */
+		if(active==1) UI_ThemeColor(TH_TEXT_HI);
+		else if(ELEM(tselem->type, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM)) UI_ThemeColorBlend(TH_BACK, TH_TEXT, 0.75f);
+		else UI_ThemeColor(TH_TEXT);
+		
+		UI_DrawString(startx+offsx, *starty+5*ufac, te->name);
+		
+		offsx+= (int)(UI_UNIT_X + UI_GetStringWidth(te->name));
+		
+		/* closed item, we draw the icons, not when it's a scene, or master-server list though */
+		if(tselem->flag & TSE_CLOSED) {
+			if(te->subtree.first) {
+				if(tselem->type==0 && te->idcode==ID_SCE);
+				else if(tselem->type!=TSE_R_LAYER) { /* this tree element always has same amount of branches, so dont draw */
+					int tempx= startx+offsx;
+					
+					// divider
+					UI_ThemeColorShade(TH_BACK, -40);
+					glRecti(tempx -10, *starty+4, tempx -8, *starty+UI_UNIT_Y-4);
+					
+					glEnable(GL_BLEND);
+					glPixelTransferf(GL_ALPHA_SCALE, 0.5);
+					
+					outliner_draw_iconrow(C, block, scene, soops, &te->subtree, 0, xmax, &tempx, *starty+2);
+					
+					glPixelTransferf(GL_ALPHA_SCALE, 1.0);
+					glDisable(GL_BLEND);
+				}
+			}
+		}
+	}	
+	/* store coord and continue, we need coordinates for elements outside view too */
+	te->xs= (float)startx;
+	te->ys= (float)*starty;
+	te->xend= startx+offsx;
+		
+	if((tselem->flag & TSE_CLOSED)==0) {
+		*starty-= UI_UNIT_Y;
+		
+		for(ten= te->subtree.first; ten; ten= ten->next)
+			outliner_draw_tree_element(C, block, scene, ar, soops, ten, startx+UI_UNIT_X, starty);
+	}	
+	else {
+		for(ten= te->subtree.first; ten; ten= ten->next)
+			outliner_set_coord_tree_element(soops, te, startx, starty);
+		
+		*starty-= UI_UNIT_Y;
+	}
+}
+
+static void outliner_draw_hierarchy(SpaceOops *soops, ListBase *lb, int startx, int *starty)
+{
+	TreeElement *te;
+	TreeStoreElem *tselem;
+	int y1, y2;
+	
+	if(lb->first==NULL) return;
+	
+	y1=y2= *starty; /* for vertical lines between objects */
+	for(te=lb->first; te; te= te->next) {
+		y2= *starty;
+		tselem= TREESTORE(te);
+		
+		/* horizontal line? */
+		if(tselem->type==0 && (te->idcode==ID_OB || te->idcode==ID_SCE))
+			glRecti(startx, *starty, startx+UI_UNIT_X, *starty-1);
+			
+		*starty-= UI_UNIT_Y;
+		
+		if((tselem->flag & TSE_CLOSED)==0)
+			outliner_draw_hierarchy(soops, &te->subtree, startx+UI_UNIT_X, starty);
+	}
+	
+	/* vertical line */
+	te= lb->last;
+	if(te->parent || lb->first!=lb->last) {
+		tselem= TREESTORE(te);
+		if(tselem->type==0 && te->idcode==ID_OB) {
+			
+			glRecti(startx, y1+UI_UNIT_Y, startx+1, y2);
+		}
+	}
+}
+
+static void outliner_draw_struct_marks(ARegion *ar, SpaceOops *soops, ListBase *lb, int *starty) 
+{
+	TreeElement *te;
+	TreeStoreElem *tselem;
+	
+	for(te= lb->first; te; te= te->next) {
+		tselem= TREESTORE(te);
+		
+		/* selection status */
+		if((tselem->flag & TSE_CLOSED)==0)
+			if(tselem->type == TSE_RNA_STRUCT)
+				glRecti(0, *starty+1, (int)ar->v2d.cur.xmax+V2D_SCROLL_WIDTH, *starty+UI_UNIT_Y-1);
+
+		*starty-= UI_UNIT_Y;
+		if((tselem->flag & TSE_CLOSED)==0) {
+			outliner_draw_struct_marks(ar, soops, &te->subtree, starty);
+			if(tselem->type == TSE_RNA_STRUCT)
+				fdrawline(0, (float)*starty+UI_UNIT_Y, ar->v2d.cur.xmax+V2D_SCROLL_WIDTH, (float)*starty+UI_UNIT_Y);
+		}
+	}
+}
+
+static void outliner_draw_selection(ARegion *ar, SpaceOops *soops, ListBase *lb, int *starty) 
+{
+	TreeElement *te;
+	TreeStoreElem *tselem;
+	
+	for(te= lb->first; te; te= te->next) {
+		tselem= TREESTORE(te);
+		
+		/* selection status */
+		if(tselem->flag & TSE_SELECTED) {
+			glRecti(0, *starty+1, (int)ar->v2d.cur.xmax, *starty+UI_UNIT_Y-1);
+		}
+		*starty-= UI_UNIT_Y;
+		if((tselem->flag & TSE_CLOSED)==0) outliner_draw_selection(ar, soops, &te->subtree, starty);
+	}
+}
+
+
+static void outliner_draw_tree(bContext *C, uiBlock *block, Scene *scene, ARegion *ar, SpaceOops *soops)
+{
+	TreeElement *te;
+	int starty, startx;
+	float col[4];
+		
+	glBlendFunc(GL_SRC_ALPHA,  GL_ONE_MINUS_SRC_ALPHA); // only once
+	
+	if (ELEM(soops->outlinevis, SO_DATABLOCKS, SO_USERDEF)) {
+		/* struct marks */
+		UI_ThemeColorShadeAlpha(TH_BACK, -15, -200);
+		//UI_ThemeColorShade(TH_BACK, -20);
+		starty= (int)ar->v2d.tot.ymax-UI_UNIT_Y-OL_Y_OFFSET;
+		outliner_draw_struct_marks(ar, soops, &soops->tree, &starty);
+	}
+	
+	/* always draw selection fill before hierarchy */
+	UI_GetThemeColor3fv(TH_BACK, col);
+	glColor3f(col[0]+0.06f, col[1]+0.08f, col[2]+0.10f);
+	starty= (int)ar->v2d.tot.ymax-UI_UNIT_Y-OL_Y_OFFSET;
+	outliner_draw_selection(ar, soops, &soops->tree, &starty);
+	
+	// grey hierarchy lines
+	UI_ThemeColorBlend(TH_BACK, TH_TEXT, 0.4f);
+	starty= (int)ar->v2d.tot.ymax-UI_UNIT_Y/2-OL_Y_OFFSET;
+	startx= 6;
+	outliner_draw_hierarchy(soops, &soops->tree, startx, &starty);
+	
+	// items themselves
+	starty= (int)ar->v2d.tot.ymax-UI_UNIT_Y-OL_Y_OFFSET;
+	startx= 0;
+	for(te= soops->tree.first; te; te= te->next) {
+		outliner_draw_tree_element(C, block, scene, ar, soops, te, startx, &starty);
+	}
+}
+
+
+static void outliner_back(ARegion *ar)
+{
+	int ystart;
+	
+	UI_ThemeColorShade(TH_BACK, 6);
+	ystart= (int)ar->v2d.tot.ymax;
+	ystart= UI_UNIT_Y*(ystart/(UI_UNIT_Y))-OL_Y_OFFSET;
+	
+	while(ystart+2*UI_UNIT_Y > ar->v2d.cur.ymin) {
+		glRecti(0, ystart, (int)ar->v2d.cur.xmax+V2D_SCROLL_WIDTH, ystart+UI_UNIT_Y);
+		ystart-= 2*UI_UNIT_Y;
+	}
+}
+
+static void outliner_draw_restrictcols(ARegion *ar)
+{
+	int ystart;
+	
+	/* background underneath */
+	UI_ThemeColor(TH_BACK);
+	glRecti((int)ar->v2d.cur.xmax-OL_TOGW, (int)ar->v2d.cur.ymin-V2D_SCROLL_HEIGHT-1, (int)ar->v2d.cur.xmax+V2D_SCROLL_WIDTH, (int)ar->v2d.cur.ymax);
+	
+	UI_ThemeColorShade(TH_BACK, 6);
+	ystart= (int)ar->v2d.tot.ymax;
+	ystart= UI_UNIT_Y*(ystart/(UI_UNIT_Y))-OL_Y_OFFSET;
+	
+	while(ystart+2*UI_UNIT_Y > ar->v2d.cur.ymin) {
+		glRecti((int)ar->v2d.cur.xmax-OL_TOGW, ystart, (int)ar->v2d.cur.xmax, ystart+UI_UNIT_Y);
+		ystart-= 2*UI_UNIT_Y;
+	}
+	
+	UI_ThemeColorShadeAlpha(TH_BACK, -15, -200);
+
+	/* view */
+	fdrawline(ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX,
+		ar->v2d.cur.ymax,
+		ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX,
+		ar->v2d.cur.ymin - V2D_SCROLL_HEIGHT);
+
+	/* render */
+	fdrawline(ar->v2d.cur.xmax-OL_TOG_RESTRICT_SELECTX,
+		ar->v2d.cur.ymax,
+		ar->v2d.cur.xmax-OL_TOG_RESTRICT_SELECTX,
+		ar->v2d.cur.ymin - V2D_SCROLL_HEIGHT);
+
+	/* render */
+	fdrawline(ar->v2d.cur.xmax-OL_TOG_RESTRICT_RENDERX,
+		ar->v2d.cur.ymax,
+		ar->v2d.cur.xmax-OL_TOG_RESTRICT_RENDERX,
+		ar->v2d.cur.ymin - V2D_SCROLL_HEIGHT);
+}
+
+/* ****************************************************** */
+/* Main Entrypoint - Draw contents of Outliner editor */
+ 
+void draw_outliner(const bContext *C)
+{
+	Main *mainvar= CTX_data_main(C);
+	Scene *scene= CTX_data_scene(C);
+	ARegion *ar= CTX_wm_region(C);
+	View2D *v2d= &ar->v2d;
+	SpaceOops *soops= CTX_wm_space_outliner(C);
+	uiBlock *block;
+	int sizey= 0, sizex= 0, sizex_rna= 0;
+	
+	outliner_build_tree(mainvar, scene, soops); // always 
+	
+	/* get extents of data */
+	outliner_height(soops, &soops->tree, &sizey);
+
+	if (ELEM3(soops->outlinevis, SO_DATABLOCKS, SO_USERDEF, SO_KEYMAP)) {
+		/* RNA has two columns:
+		 * 	- column 1 is (max_width + OL_RNA_COL_SPACEX) or
+		 *				 (OL_RNA_COL_X), whichever is wider...
+		 *	- column 2 is fixed at OL_RNA_COL_SIZEX
+		 *
+		 *  (*) XXX max width for now is a fixed factor of UI_UNIT_X*(max_indention+100)
+		 */
+		 
+		/* get actual width of column 1 */
+		outliner_rna_width(soops, &soops->tree, &sizex_rna, 0);
+		sizex_rna= MAX2(OL_RNA_COLX, sizex_rna+OL_RNA_COL_SPACEX);
+		
+		/* get width of data (for setting 'tot' rect, this is column 1 + column 2 + a bit extra) */
+		if (soops->outlinevis == SO_KEYMAP) 
+			sizex= sizex_rna + OL_RNA_COL_SIZEX*3 + 50; // XXX this is only really a quick hack to make this wide enough...
+		else
+			sizex= sizex_rna + OL_RNA_COL_SIZEX + 50;
+	}
+	else {
+		/* width must take into account restriction columns (if visible) so that entries will still be visible */
+		//outliner_width(soops, &soops->tree, &sizex);
+		outliner_rna_width(soops, &soops->tree, &sizex, 0); // XXX should use outliner_width instead when te->xend will be set correctly...
+		
+		/* constant offset for restriction columns */
+		// XXX this isn't that great yet...
+		if ((soops->flag & SO_HIDE_RESTRICTCOLS)==0)
+			sizex += OL_TOGW*3;
+	}
+	
+	/* tweak to display last line (when list bigger than window) */
+	sizey += V2D_SCROLL_HEIGHT;
+	
+	/* adds vertical offset */
+	sizey += OL_Y_OFFSET;
+
+	/* update size of tot-rect (extents of data/viewable area) */
+	UI_view2d_totRect_set(v2d, sizex, sizey);
+
+	/* force display to pixel coords */
+	v2d->flag |= (V2D_PIXELOFS_X|V2D_PIXELOFS_Y);
+	/* set matrix for 2d-view controls */
+	UI_view2d_view_ortho(v2d);
+
+	/* draw outliner stuff (background, hierachy lines and names) */
+	outliner_back(ar);
+	block= uiBeginBlock(C, ar, "outliner buttons", UI_EMBOSS);
+	outliner_draw_tree((bContext *)C, block, scene, ar, soops);
+	
+	if(ELEM(soops->outlinevis, SO_DATABLOCKS, SO_USERDEF)) {
+		/* draw rna buttons */
+		outliner_draw_rnacols(ar, sizex_rna);
+		outliner_draw_rnabuts(block, scene, ar, soops, sizex_rna, &soops->tree);
+	}
+	else if(soops->outlinevis == SO_KEYMAP) {
+		outliner_draw_keymapbuts(block, ar, soops, &soops->tree);
+	}
+	else if (!(soops->flag & SO_HIDE_RESTRICTCOLS)) {
+		/* draw restriction columns */
+		outliner_draw_restrictcols(ar);
+		outliner_draw_restrictbuts(block, scene, ar, soops, &soops->tree);
+	}
+
+	/* draw edit buttons if nessecery */
+	outliner_buttons(C, block, ar, soops, &soops->tree);	
+
+	uiEndBlock(C, block);
+	uiDrawBlock(C, block);
+	
+	/* clear flag that allows quick redraws */
+	soops->storeflag &= ~SO_TREESTORE_REDRAW;
+} 
diff --git a/source/blender/editors/space_outliner/outliner_edit.c b/source/blender/editors/space_outliner/outliner_edit.c
new file mode 100644
index 00000000000..15167a3ba2c
--- /dev/null
+++ b/source/blender/editors/space_outliner/outliner_edit.c
@@ -0,0 +1,1398 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version. 
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) 2004 Blender Foundation.
+ * All rights reserved.
+ *
+ * The Original Code is: all of this file.
+ *
+ * Contributor(s): Joshua Leung
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/editors/space_outliner/outliner_edit.c
+ *  \ingroup spoutliner
+ */
+
+#include <math.h>
+#include <string.h>
+#include <stdlib.h>
+#include <stddef.h>
+
+#include "MEM_guardedalloc.h"
+
+#include "DNA_anim_types.h"
+#include "DNA_armature_types.h"
+#include "DNA_constraint_types.h"
+#include "DNA_camera_types.h"
+#include "DNA_group_types.h"
+#include "DNA_key_types.h"
+#include "DNA_lamp_types.h"
+#include "DNA_material_types.h"
+#include "DNA_mesh_types.h"
+#include "DNA_meta_types.h"
+#include "DNA_particle_types.h"
+#include "DNA_scene_types.h"
+#include "DNA_world_types.h"
+#include "DNA_sequence_types.h"
+#include "DNA_object_types.h"
+
+#include "BLI_blenlib.h"
+#include "BLI_utildefines.h"
+#include "BLI_math_base.h"
+
+#if defined WIN32 && !defined _LIBC
+# include "BLI_fnmatch.h" /* use fnmatch included in blenlib */
+#else
+#  ifndef _GNU_SOURCE
+#    define _GNU_SOURCE
+#  endif
+# include <fnmatch.h>
+#endif
+
+
+#include "BKE_animsys.h"
+#include "BKE_context.h"
+#include "BKE_deform.h"
+#include "BKE_depsgraph.h"
+#include "BKE_fcurve.h"
+#include "BKE_global.h"
+#include "BKE_group.h"
+#include "BKE_library.h"
+#include "BKE_main.h"
+#include "BKE_modifier.h"
+#include "BKE_report.h"
+#include "BKE_scene.h"
+#include "BKE_sequencer.h"
+
+#include "ED_armature.h"
+#include "ED_object.h"
+#include "ED_screen.h"
+#include "ED_util.h"
+
+#include "WM_api.h"
+#include "WM_types.h"
+
+#include "BIF_gl.h"
+#include "BIF_glutil.h"
+
+#include "UI_interface.h"
+#include "UI_interface_icons.h"
+#include "UI_resources.h"
+#include "UI_view2d.h"
+
+#include "RNA_access.h"
+#include "RNA_define.h"
+#include "RNA_enum_types.h"
+
+#include "ED_keyframing.h"
+
+#include "outliner_intern.h"
+
+/* ************************************************************** */
+/* Unused Utilities */
+// XXX: where to place these?
+
+/* This is not used anywhere at the moment */
+#if 0
+/* return 1 when levels were opened */
+static int outliner_open_back(SpaceOops *soops, TreeElement *te)
+{
+	TreeStoreElem *tselem;
+	int retval= 0;
+	
+	for (te= te->parent; te; te= te->parent) {
+		tselem= TREESTORE(te);
+		if (tselem->flag & TSE_CLOSED) { 
+			tselem->flag &= ~TSE_CLOSED;
+			retval= 1;
+		}
+	}
+	return retval;
+}
+
+static void outliner_open_reveal(SpaceOops *soops, ListBase *lb, TreeElement *teFind, int *found)
+{
+	TreeElement *te;
+	TreeStoreElem *tselem;
+	
+	for (te= lb->first; te; te= te->next) {
+		/* check if this tree-element was the one we're seeking */
+		if (te == teFind) {
+			*found= 1;
+			return;
+		}
+		
+		/* try to see if sub-tree contains it then */
+		outliner_open_reveal(soops, &te->subtree, teFind, found);
+		if (*found) {
+			tselem= TREESTORE(te);
+			if (tselem->flag & TSE_CLOSED) 
+				tselem->flag &= ~TSE_CLOSED;
+			return;
+		}
+	}
+}
+#endif
+
+/* ************************************************************** */
+/* Click Activated */
+
+/* Toggle Open/Closed ------------------------------------------- */
+
+static int do_outliner_item_openclose(bContext *C, SpaceOops *soops, TreeElement *te, int all, const float mval[2])
+{
+	
+	if(mval[1]>te->ys && mval[1]<te->ys+UI_UNIT_Y) {
+		TreeStoreElem *tselem= TREESTORE(te);
+		
+		/* all below close/open? */
+		if(all) {
+			tselem->flag &= ~TSE_CLOSED;
+			outliner_set_flag(soops, &te->subtree, TSE_CLOSED, !outliner_has_one_flag(soops, &te->subtree, TSE_CLOSED, 1));
+		}
+		else {
+			if(tselem->flag & TSE_CLOSED) tselem->flag &= ~TSE_CLOSED;
+			else tselem->flag |= TSE_CLOSED;
+		}
+		
+		return 1;
+	}
+	
+	for(te= te->subtree.first; te; te= te->next) {
+		if(do_outliner_item_openclose(C, soops, te, all, mval)) 
+			return 1;
+	}
+	return 0;
+	
+}
+
+/* event can enterkey, then it opens/closes */
+static int outliner_item_openclose(bContext *C, wmOperator *op, wmEvent *event)
+{
+	ARegion *ar= CTX_wm_region(C);
+	SpaceOops *soops= CTX_wm_space_outliner(C);
+	TreeElement *te;
+	float fmval[2];
+	int all= RNA_boolean_get(op->ptr, "all");
+	
+	UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1], fmval, fmval+1);
+	
+	for(te= soops->tree.first; te; te= te->next) {
+		if(do_outliner_item_openclose(C, soops, te, all, fmval)) 
+			break;
+	}
+
+	ED_region_tag_redraw(ar);
+	
+	return OPERATOR_FINISHED;
+}
+
+void OUTLINER_OT_item_openclose(wmOperatorType *ot)
+{
+	ot->name= "Open/Close Item";
+	ot->idname= "OUTLINER_OT_item_openclose";
+	ot->description= "Toggle whether item under cursor is enabled or closed";
+	
+	ot->invoke= outliner_item_openclose;
+	
+	ot->poll= ED_operator_outliner_active;
+	
+	RNA_def_boolean(ot->srna, "all", 1, "All", "Close or open all items.");
+}
+
+/* Rename --------------------------------------------------- */
+
+static int do_outliner_item_rename(bContext *C, ARegion *ar, SpaceOops *soops, TreeElement *te, const float mval[2])
+{	
+	ReportList *reports= CTX_wm_reports(C); // XXX
+	
+	if(mval[1]>te->ys && mval[1]<te->ys+UI_UNIT_Y) {
+		TreeStoreElem *tselem= TREESTORE(te);
+		
+		/* name and first icon */
+		if(mval[0]>te->xs+UI_UNIT_X && mval[0]<te->xend) {
+			
+			/* can't rename rna datablocks entries */
+			if(ELEM3(tselem->type, TSE_RNA_STRUCT, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM))
+			   ;
+			else if(ELEM10(tselem->type, TSE_ANIM_DATA, TSE_NLA, TSE_DEFGROUP_BASE, TSE_CONSTRAINT_BASE, TSE_MODIFIER_BASE, TSE_SCRIPT_BASE, TSE_POSE_BASE, TSE_POSEGRP_BASE, TSE_R_LAYER_BASE, TSE_R_PASS)) 
+					BKE_report(reports, RPT_WARNING, "Cannot edit builtin name");
+			else if(ELEM3(tselem->type, TSE_SEQUENCE, TSE_SEQ_STRIP, TSE_SEQUENCE_DUP))
+				BKE_report(reports, RPT_WARNING, "Cannot edit sequence name");
+			else if(tselem->id->lib) {
+				// XXX						error_libdata();
+			} 
+			else if(te->idcode == ID_LI && te->parent) {
+				BKE_report(reports, RPT_WARNING, "Cannot edit the path of an indirectly linked library");
+			} 
+			else {
+				tselem->flag |= TSE_TEXTBUT;
+				ED_region_tag_redraw(ar);
+			}
+		}
+		return 1;
+	}
+	
+	for(te= te->subtree.first; te; te= te->next) {
+		if(do_outliner_item_rename(C, ar, soops, te, mval)) return 1;
+	}
+	return 0;
+}
+
+static int outliner_item_rename(bContext *C, wmOperator *UNUSED(op), wmEvent *event)
+{
+	ARegion *ar= CTX_wm_region(C);
+	SpaceOops *soops= CTX_wm_space_outliner(C);
+	TreeElement *te;
+	float fmval[2];
+	
+	UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1], fmval, fmval+1);
+	
+	for(te= soops->tree.first; te; te= te->next) {
+		if(do_outliner_item_rename(C, ar, soops, te, fmval)) break;
+	}
+	
+	return OPERATOR_FINISHED;
+}
+
+
+void OUTLINER_OT_item_rename(wmOperatorType *ot)
+{
+	ot->name= "Rename Item";
+	ot->idname= "OUTLINER_OT_item_rename";
+	ot->description= "Rename item under cursor";
+	
+	ot->invoke= outliner_item_rename;
+	
+	ot->poll= ED_operator_outliner_active;
+}
+
+/* ************************************************************** */
+/* Setting Toggling Operators */
+
+/* =============================================== */
+/* Toggling Utilities (Exported) */
+
+/* Apply Settings ------------------------------- */
+
+static int outliner_count_levels(SpaceOops *soops, ListBase *lb, int curlevel)
+{
+	TreeElement *te;
+	int level=curlevel, lev;
+	
+	for(te= lb->first; te; te= te->next) {
+		
+		lev= outliner_count_levels(soops, &te->subtree, curlevel+1);
+		if(lev>level) level= lev;
+	}
+	return level;
+}
+
+int outliner_has_one_flag(SpaceOops *soops, ListBase *lb, short flag, short curlevel)
+{
+	TreeElement *te;
+	TreeStoreElem *tselem;
+	int level;
+	
+	for(te= lb->first; te; te= te->next) {
+		tselem= TREESTORE(te);
+		if(tselem->flag & flag) return curlevel;
+		
+		level= outliner_has_one_flag(soops, &te->subtree, flag, curlevel+1);
+		if(level) return level;
+	}
+	return 0;
+}
+
+void outliner_set_flag(SpaceOops *soops, ListBase *lb, short flag, short set)
+{
+	TreeElement *te;
+	TreeStoreElem *tselem;
+	
+	for(te= lb->first; te; te= te->next) {
+		tselem= TREESTORE(te);
+		if(set==0) tselem->flag &= ~flag;
+		else tselem->flag |= flag;
+		outliner_set_flag(soops, &te->subtree, flag, set);
+	}
+}
+
+/* Restriction Columns ------------------------------- */
+
+/* same check needed for both object operation and restrict column button func
+ * return 0 when in edit mode (cannot restrict view or select)
+ * otherwise return 1 */
+int common_restrict_check(bContext *C, Object *ob)
+{
+	/* Don't allow hide an object in edit mode,
+	 * check the bug #22153 and #21609, #23977
+	 */
+	Object *obedit= CTX_data_edit_object(C);
+	if (obedit && obedit == ob) {
+		/* found object is hidden, reset */
+		if (ob->restrictflag & OB_RESTRICT_VIEW)
+			ob->restrictflag &= ~OB_RESTRICT_VIEW;
+		/* found object is unselectable, reset */
+		if (ob->restrictflag & OB_RESTRICT_SELECT)
+			ob->restrictflag &= ~OB_RESTRICT_SELECT;
+		return 0;
+	}
+	
+	return 1;
+}
+
+/* =============================================== */
+/* Restriction toggles */
+
+/* Toggle Visibility ---------------------------------------- */
+
+void object_toggle_visibility_cb(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
+{
+	Base *base= (Base *)te->directdata;
+	Object *ob = (Object *)tselem->id;
+	
+	/* add check for edit mode */
+	if(!common_restrict_check(C, ob)) return;
+	
+	if(base || (base= object_in_scene(ob, scene))) {
+		if((base->object->restrictflag ^= OB_RESTRICT_VIEW)) {
+			ED_base_object_select(base, BA_DESELECT);
+		}
+	}
+}
+
+static int outliner_toggle_visibility_exec(bContext *C, wmOperator *UNUSED(op))
+{
+	SpaceOops *soops= CTX_wm_space_outliner(C);
+	Scene *scene= CTX_data_scene(C);
+	ARegion *ar= CTX_wm_region(C);
+	
+	outliner_do_object_operation(C, scene, soops, &soops->tree, object_toggle_visibility_cb);
+	
+	WM_event_add_notifier(C, NC_SCENE|ND_OB_VISIBLE, scene);
+	ED_region_tag_redraw(ar);
+	
+	return OPERATOR_FINISHED;
+}
+
+void OUTLINER_OT_visibility_toggle(wmOperatorType *ot)
+{
+	/* identifiers */
+	ot->name= "Toggle Visibility";
+	ot->idname= "OUTLINER_OT_visibility_toggle";
+	ot->description= "Toggle the visibility of selected items";
+	
+	/* callbacks */
+	ot->exec= outliner_toggle_visibility_exec;
+	ot->poll= ED_operator_outliner_active_no_editobject;
+	
+	ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+}
+
+/* Toggle Selectability ---------------------------------------- */
+
+void object_toggle_selectability_cb(bContext *UNUSED(C), Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
+{
+	Base *base= (Base *)te->directdata;
+	
+	if(base==NULL) base= object_in_scene((Object *)tselem->id, scene);
+	if(base) {
+		base->object->restrictflag^=OB_RESTRICT_SELECT;
+	}
+}
+
+static int outliner_toggle_selectability_exec(bContext *C, wmOperator *UNUSED(op))
+{
+	SpaceOops *soops= CTX_wm_space_outliner(C);
+	Scene *scene= CTX_data_scene(C);
+	ARegion *ar= CTX_wm_region(C);
+	
+	outliner_do_object_operation(C, scene, soops, &soops->tree, object_toggle_selectability_cb);
+	
+	WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
+	ED_region_tag_redraw(ar);
+	
+	return OPERATOR_FINISHED;
+}
+
+void OUTLINER_OT_selectability_toggle(wmOperatorType *ot)
+{
+	/* identifiers */
+	ot->name= "Toggle Selectability";
+	ot->idname= "OUTLINER_OT_selectability_toggle";
+	ot->description= "Toggle the selectability";
+	
+	/* callbacks */
+	ot->exec= outliner_toggle_selectability_exec;
+	ot->poll= ED_operator_outliner_active_no_editobject;
+	
+	ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+}
+
+/* Toggle Renderability ---------------------------------------- */
+
+void object_toggle_renderability_cb(bContext *UNUSED(C), Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
+{
+	Base *base= (Base *)te->directdata;
+	
+	if(base==NULL) base= object_in_scene((Object *)tselem->id, scene);
+	if(base) {
+		base->object->restrictflag^=OB_RESTRICT_RENDER;
+	}
+}
+
+static int outliner_toggle_renderability_exec(bContext *C, wmOperator *UNUSED(op))
+{
+	SpaceOops *soops= CTX_wm_space_outliner(C);
+	Scene *scene= CTX_data_scene(C);
+	ARegion *ar= CTX_wm_region(C);
+	
+	outliner_do_object_operation(C, scene, soops, &soops->tree, object_toggle_renderability_cb);
+	
+	ED_region_tag_redraw(ar);
+	
+	return OPERATOR_FINISHED;
+}
+
+void OUTLINER_OT_renderability_toggle(wmOperatorType *ot)
+{
+	/* identifiers */
+	ot->name= "Toggle Renderability";
+	ot->idname= "OUTLINER_OT_renderability_toggle";
+	ot->description= "Toggle the renderability of selected items";
+	
+	/* callbacks */
+	ot->exec= outliner_toggle_renderability_exec;
+	ot->poll= ED_operator_outliner_active;
+	
+	ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+}
+
+/* =============================================== */
+/* Outliner setting toggles */
+
+/* Toggle Expanded (Outliner) ---------------------------------------- */
+
+static int outliner_toggle_expanded_exec(bContext *C, wmOperator *UNUSED(op))
+{
+	SpaceOops *soops= CTX_wm_space_outliner(C);
+	ARegion *ar= CTX_wm_region(C);
+	
+	if (outliner_has_one_flag(soops, &soops->tree, TSE_CLOSED, 1))
+		outliner_set_flag(soops, &soops->tree, TSE_CLOSED, 0);
+	else 
+		outliner_set_flag(soops, &soops->tree, TSE_CLOSED, 1);
+	
+	ED_region_tag_redraw(ar);
+	
+	return OPERATOR_FINISHED;
+}
+
+void OUTLINER_OT_expanded_toggle(wmOperatorType *ot)
+{
+	/* identifiers */
+	ot->name= "Expand/Collapse All";
+	ot->idname= "OUTLINER_OT_expanded_toggle";
+	ot->description= "Expand/Collapse all items";
+	
+	/* callbacks */
+	ot->exec= outliner_toggle_expanded_exec;
+	ot->poll= ED_operator_outliner_active;
+	
+	/* no undo or registry, UI option */
+}
+
+/* Toggle Selected (Outliner) ---------------------------------------- */
+
+static int outliner_toggle_selected_exec(bContext *C, wmOperator *UNUSED(op))
+{
+	SpaceOops *soops= CTX_wm_space_outliner(C);
+	ARegion *ar= CTX_wm_region(C);
+	Scene *scene= CTX_data_scene(C);
+	
+	if (outliner_has_one_flag(soops, &soops->tree, TSE_SELECTED, 1))
+		outliner_set_flag(soops, &soops->tree, TSE_SELECTED, 0);
+	else 
+		outliner_set_flag(soops, &soops->tree, TSE_SELECTED, 1);
+	
+	soops->storeflag |= SO_TREESTORE_REDRAW;
+	
+	WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
+	ED_region_tag_redraw(ar);
+	
+	return OPERATOR_FINISHED;
+}
+
+void OUTLINER_OT_selected_toggle(wmOperatorType *ot)
+{
+	/* identifiers */
+	ot->name= "Toggle Selected";
+	ot->idname= "OUTLINER_OT_selected_toggle";
+	ot->description= "Toggle the Outliner selection of items";
+	
+	/* callbacks */
+	ot->exec= outliner_toggle_selected_exec;
+	ot->poll= ED_operator_outliner_active;
+	
+	/* no undo or registry, UI option */
+}
+
+/* ************************************************************** */
+/* Hotkey Only Operators */
+
+/* Show Active --------------------------------------------------- */
+
+static int outliner_show_active_exec(bContext *C, wmOperator *UNUSED(op))
+{
+	SpaceOops *so= CTX_wm_space_outliner(C);
+	Scene *scene= CTX_data_scene(C);
+	ARegion *ar= CTX_wm_region(C);
+	View2D *v2d= &ar->v2d;
+	
+	TreeElement *te;
+	int xdelta, ytop;
+	
+	// TODO: make this get this info from context instead...
+	if (OBACT == NULL) 
+		return OPERATOR_CANCELLED;
+	
+	te= outliner_find_id(so, &so->tree, (ID *)OBACT);
+	if (te) {
+		/* make te->ys center of view */
+		ytop= (int)(te->ys + (v2d->mask.ymax - v2d->mask.ymin)/2);
+		if (ytop>0) ytop= 0;
+		
+		v2d->cur.ymax= (float)ytop;
+		v2d->cur.ymin= (float)(ytop-(v2d->mask.ymax - v2d->mask.ymin));
+		
+		/* make te->xs ==> te->xend center of view */
+		xdelta = (int)(te->xs - v2d->cur.xmin);
+		v2d->cur.xmin += xdelta;
+		v2d->cur.xmax += xdelta;
+		
+		so->storeflag |= SO_TREESTORE_REDRAW;
+	}
+	
+	ED_region_tag_redraw(ar);
+	
+	return OPERATOR_FINISHED;
+}
+
+void OUTLINER_OT_show_active(wmOperatorType *ot)
+{
+	/* identifiers */
+	ot->name= "Show Active";
+	ot->idname= "OUTLINER_OT_show_active";
+	ot->description= "Adjust the view so that the active Object is shown centered";
+	
+	/* callbacks */
+	ot->exec= outliner_show_active_exec;
+	ot->poll= ED_operator_outliner_active;
+}
+
+/* View Panning --------------------------------------------------- */
+
+static int outliner_scroll_page_exec(bContext *C, wmOperator *op)
+{
+	ARegion *ar= CTX_wm_region(C);
+	int dy= ar->v2d.mask.ymax - ar->v2d.mask.ymin;
+	int up= 0;
+	
+	if(RNA_boolean_get(op->ptr, "up"))
+		up= 1;
+
+	if(up == 0) dy= -dy;
+	ar->v2d.cur.ymin+= dy;
+	ar->v2d.cur.ymax+= dy;
+	
+	ED_region_tag_redraw(ar);
+	
+	return OPERATOR_FINISHED;
+}
+
+
+void OUTLINER_OT_scroll_page(wmOperatorType *ot)
+{
+	/* identifiers */
+	ot->name= "Scroll Page";
+	ot->idname= "OUTLINER_OT_scroll_page";
+	ot->description= "Scroll page up or down";
+	
+	/* callbacks */
+	ot->exec= outliner_scroll_page_exec;
+	ot->poll= ED_operator_outliner_active;
+	
+	/* properties */
+	RNA_def_boolean(ot->srna, "up", 0, "Up", "Scroll up one page.");
+}
+
+/* Search ------------------------------------------------------- */
+// TODO: probably obsolete now with filtering?
+
+#if 0
+
+/* recursive helper for function below */
+static void outliner_set_coordinates_element(SpaceOops *soops, TreeElement *te, int startx, int *starty)
+{
+	TreeStoreElem *tselem= TREESTORE(te);
+	
+	/* store coord and continue, we need coordinates for elements outside view too */
+	te->xs= (float)startx;
+	te->ys= (float)(*starty);
+	*starty-= UI_UNIT_Y;
+	
+	if((tselem->flag & TSE_CLOSED)==0) {
+		TreeElement *ten;
+		for(ten= te->subtree.first; ten; ten= ten->next) {
+			outliner_set_coordinates_element(soops, ten, startx+UI_UNIT_X, starty);
+		}
+	}
+	
+}
+
+/* to retrieve coordinates with redrawing the entire tree */
+static void outliner_set_coordinates(ARegion *ar, SpaceOops *soops)
+{
+	TreeElement *te;
+	int starty= (int)(ar->v2d.tot.ymax)-UI_UNIT_Y;
+	int startx= 0;
+	
+	for(te= soops->tree.first; te; te= te->next) {
+		outliner_set_coordinates_element(soops, te, startx, &starty);
+	}
+}
+
+/* find next element that has this name */
+static TreeElement *outliner_find_named(SpaceOops *soops, ListBase *lb, char *name, int flags, TreeElement *prev, int *prevFound)
+{
+	TreeElement *te, *tes;
+	
+	for (te= lb->first; te; te= te->next) {
+		int found = outliner_filter_has_name(te, name, flags);
+		
+		if(found) {
+			/* name is right, but is element the previous one? */
+			if (prev) {
+				if ((te != prev) && (*prevFound)) 
+					return te;
+				if (te == prev) {
+					*prevFound = 1;
+				}
+			}
+			else
+				return te;
+		}
+		
+		tes= outliner_find_named(soops, &te->subtree, name, flags, prev, prevFound);
+		if(tes) return tes;
+	}
+
+	/* nothing valid found */
+	return NULL;
+}
+
+static void outliner_find_panel(Scene *UNUSED(scene), ARegion *ar, SpaceOops *soops, int again, int flags) 
+{
+	ReportList *reports = NULL; // CTX_wm_reports(C);
+	TreeElement *te= NULL;
+	TreeElement *last_find;
+	TreeStoreElem *tselem;
+	int ytop, xdelta, prevFound=0;
+	char name[32];
+	
+	/* get last found tree-element based on stored search_tse */
+	last_find= outliner_find_tse(soops, &soops->search_tse);
+	
+	/* determine which type of search to do */
+	if (again && last_find) {
+		/* no popup panel - previous + user wanted to search for next after previous */		
+		BLI_strncpy(name, soops->search_string, sizeof(name));
+		flags= soops->search_flags;
+		
+		/* try to find matching element */
+		te= outliner_find_named(soops, &soops->tree, name, flags, last_find, &prevFound);
+		if (te==NULL) {
+			/* no more matches after previous, start from beginning again */
+			prevFound= 1;
+			te= outliner_find_named(soops, &soops->tree, name, flags, last_find, &prevFound);
+		}
+	}
+	else {
+		/* pop up panel - no previous, or user didn't want search after previous */
+		strcpy(name, "");
+// XXX		if (sbutton(name, 0, sizeof(name)-1, "Find: ") && name[0]) {
+//			te= outliner_find_named(soops, &soops->tree, name, flags, NULL, &prevFound);
+//		}
+//		else return; /* XXX RETURN! XXX */
+	}
+
+	/* do selection and reveal */
+	if (te) {
+		tselem= TREESTORE(te);
+		if (tselem) {
+			/* expand branches so that it will be visible, we need to get correct coordinates */
+			if( outliner_open_back(soops, te))
+				outliner_set_coordinates(ar, soops);
+			
+			/* deselect all visible, and select found element */
+			outliner_set_flag(soops, &soops->tree, TSE_SELECTED, 0);
+			tselem->flag |= TSE_SELECTED;
+			
+			/* make te->ys center of view */
+			ytop= (int)(te->ys + (ar->v2d.mask.ymax-ar->v2d.mask.ymin)/2);
+			if(ytop>0) ytop= 0;
+			ar->v2d.cur.ymax= (float)ytop;
+			ar->v2d.cur.ymin= (float)(ytop-(ar->v2d.mask.ymax-ar->v2d.mask.ymin));
+			
+			/* make te->xs ==> te->xend center of view */
+			xdelta = (int)(te->xs - ar->v2d.cur.xmin);
+			ar->v2d.cur.xmin += xdelta;
+			ar->v2d.cur.xmax += xdelta;
+			
+			/* store selection */
+			soops->search_tse= *tselem;
+			
+			BLI_strncpy(soops->search_string, name, 33);
+			soops->search_flags= flags;
+			
+			/* redraw */
+			soops->storeflag |= SO_TREESTORE_REDRAW;
+		}
+	}
+	else {
+		/* no tree-element found */
+		BKE_report(reports, RPT_WARNING, "Not found: %s", name);
+	}
+}
+#endif
+
+/* Show One Level ----------------------------------------------- */
+
+/* helper function for Show/Hide one level operator */
+static void outliner_openclose_level(SpaceOops *soops, ListBase *lb, int curlevel, int level, int open)
+{
+	TreeElement *te;
+	TreeStoreElem *tselem;
+	
+	for(te= lb->first; te; te= te->next) {
+		tselem= TREESTORE(te);
+		
+		if(open) {
+			if(curlevel<=level) tselem->flag &= ~TSE_CLOSED;
+		}
+		else {
+			if(curlevel>=level) tselem->flag |= TSE_CLOSED;
+		}
+		
+		outliner_openclose_level(soops, &te->subtree, curlevel+1, level, open);
+	}
+}
+
+static int outliner_one_level_exec(bContext *C, wmOperator *op)
+{
+	SpaceOops *soops= CTX_wm_space_outliner(C);
+	ARegion *ar= CTX_wm_region(C);
+	int add= RNA_boolean_get(op->ptr, "open");
+	int level;
+	
+	level= outliner_has_one_flag(soops, &soops->tree, TSE_CLOSED, 1);
+	if(add==1) {
+		if(level) outliner_openclose_level(soops, &soops->tree, 1, level, 1);
+	}
+	else {
+		if(level==0) level= outliner_count_levels(soops, &soops->tree, 0);
+		if(level) outliner_openclose_level(soops, &soops->tree, 1, level-1, 0);
+	}
+	
+	ED_region_tag_redraw(ar);
+	
+	return OPERATOR_FINISHED;
+}
+
+void OUTLINER_OT_show_one_level(wmOperatorType *ot)
+{
+	/* identifiers */
+	ot->name= "Show/Hide One Level";
+	ot->idname= "OUTLINER_OT_show_one_level";
+	ot->description= "Expand/collapse all entries by one level";
+	
+	/* callbacks */
+	ot->exec= outliner_one_level_exec;
+	ot->poll= ED_operator_outliner_active;
+	
+	/* no undo or registry, UI option */
+	
+	/* properties */
+	RNA_def_boolean(ot->srna, "open", 1, "Open", "Expand all entries one level deep.");
+}
+
+/* Show Hierarchy ----------------------------------------------- */
+
+/* helper function for tree_element_shwo_hierarchy() - recursively checks whether subtrees have any objects*/
+static int subtree_has_objects(SpaceOops *soops, ListBase *lb)
+{
+	TreeElement *te;
+	TreeStoreElem *tselem;
+	
+	for(te= lb->first; te; te= te->next) {
+		tselem= TREESTORE(te);
+		if(tselem->type==0 && te->idcode==ID_OB) return 1;
+		if( subtree_has_objects(soops, &te->subtree)) return 1;
+	}
+	return 0;
+}
+
+/* recursive helper function for Show Hierarchy operator */
+static void tree_element_show_hierarchy(Scene *scene, SpaceOops *soops, ListBase *lb)
+{
+	TreeElement *te;
+	TreeStoreElem *tselem;
+
+	/* open all object elems, close others */
+	for(te= lb->first; te; te= te->next) {
+		tselem= TREESTORE(te);
+		
+		if(tselem->type==0) {
+			if(te->idcode==ID_SCE) {
+				if(tselem->id!=(ID *)scene) tselem->flag |= TSE_CLOSED;
+					else tselem->flag &= ~TSE_CLOSED;
+			}
+			else if(te->idcode==ID_OB) {
+				if(subtree_has_objects(soops, &te->subtree)) tselem->flag &= ~TSE_CLOSED;
+				else tselem->flag |= TSE_CLOSED;
+			}
+		}
+		else tselem->flag |= TSE_CLOSED;
+		
+		if(tselem->flag & TSE_CLOSED); else tree_element_show_hierarchy(scene, soops, &te->subtree);
+	}
+}
+
+/* show entire object level hierarchy */
+static int outliner_show_hierarchy_exec(bContext *C, wmOperator *UNUSED(op))
+{
+	SpaceOops *soops= CTX_wm_space_outliner(C);
+	ARegion *ar= CTX_wm_region(C);
+	Scene *scene= CTX_data_scene(C);
+	
+	/* recursively open/close levels */
+	tree_element_show_hierarchy(scene, soops, &soops->tree);
+	
+	ED_region_tag_redraw(ar);
+	
+	return OPERATOR_FINISHED;
+}
+
+void OUTLINER_OT_show_hierarchy(wmOperatorType *ot)
+{
+	/* identifiers */
+	ot->name= "Show Hierarchy";
+	ot->idname= "OUTLINER_OT_show_hierarchy";
+	ot->description= "Open all object entries and close all others";
+	
+	/* callbacks */
+	ot->exec= outliner_show_hierarchy_exec;
+	ot->poll= ED_operator_outliner_active; //  TODO: shouldn't be allowed in RNA views...
+	
+	/* no undo or registry, UI option */
+}
+
+/* ************************************************************** */
+/* ANIMATO OPERATIONS */
+/* KeyingSet and Driver Creation - Helper functions */
+
+/* specialised poll callback for these operators to work in Datablocks view only */
+static int ed_operator_outliner_datablocks_active(bContext *C)
+{
+	ScrArea *sa= CTX_wm_area(C);
+	if ((sa) && (sa->spacetype==SPACE_OUTLINER)) {
+		SpaceOops *so= CTX_wm_space_outliner(C);
+		return (so->outlinevis == SO_DATABLOCKS);
+	}
+	return 0;
+}
+
+
+/* Helper func to extract an RNA path from selected tree element 
+ * NOTE: the caller must zero-out all values of the pointers that it passes here first, as
+ * this function does not do that yet 
+ */
+static void tree_element_to_path(SpaceOops *soops, TreeElement *te, TreeStoreElem *tselem, 
+							ID **id, char **path, int *array_index, short *flag, short *UNUSED(groupmode))
+{
+	ListBase hierarchy = {NULL, NULL};
+	LinkData *ld;
+	TreeElement *tem, *temnext, *temsub;
+	TreeStoreElem *tse, *tsenext;
+	PointerRNA *ptr, *nextptr;
+	PropertyRNA *prop;
+	char *newpath=NULL;
+	
+	/* optimise tricks:
+	 *	- Don't do anything if the selected item is a 'struct', but arrays are allowed
+	 */
+	if (tselem->type == TSE_RNA_STRUCT)
+		return;
+	
+	/* Overview of Algorithm:
+	 * 	1. Go up the chain of parents until we find the 'root', taking note of the 
+	 *	   levels encountered in reverse-order (i.e. items are added to the start of the list
+	 *      for more convenient looping later)
+	 * 	2. Walk down the chain, adding from the first ID encountered 
+	 *	   (which will become the 'ID' for the KeyingSet Path), and build a  
+	 * 		path as we step through the chain
+	 */
+	 
+	/* step 1: flatten out hierarchy of parents into a flat chain */
+	for (tem= te->parent; tem; tem= tem->parent) {
+		ld= MEM_callocN(sizeof(LinkData), "LinkData for tree_element_to_path()");
+		ld->data= tem;
+		BLI_addhead(&hierarchy, ld);
+	}
+	
+	/* step 2: step down hierarchy building the path (NOTE: addhead in previous loop was needed so that we can loop like this) */
+	for (ld= hierarchy.first; ld; ld= ld->next) {
+		/* get data */
+		tem= (TreeElement *)ld->data;
+		tse= TREESTORE(tem);
+		ptr= &tem->rnaptr;
+		prop= tem->directdata;
+		
+		/* check if we're looking for first ID, or appending to path */
+		if (*id) {
+			/* just 'append' property to path 
+			 *	- to prevent memory leaks, we must write to newpath not path, then free old path + swap them
+			 */
+			if(tse->type == TSE_RNA_PROPERTY) {
+				if(RNA_property_type(prop) == PROP_POINTER) {
+					/* for pointer we just append property name */
+					newpath= RNA_path_append(*path, ptr, prop, 0, NULL);
+				}
+				else if(RNA_property_type(prop) == PROP_COLLECTION) {
+					char buf[128], *name;
+					
+					temnext= (TreeElement*)(ld->next->data);
+					tsenext= TREESTORE(temnext);
+					
+					nextptr= &temnext->rnaptr;
+					name= RNA_struct_name_get_alloc(nextptr, buf, sizeof(buf));
+					
+					if(name) {
+						/* if possible, use name as a key in the path */
+						newpath= RNA_path_append(*path, NULL, prop, 0, name);
+						
+						if(name != buf)
+							MEM_freeN(name);
+					}
+					else {
+						/* otherwise use index */
+						int index= 0;
+						
+						for(temsub=tem->subtree.first; temsub; temsub=temsub->next, index++)
+							if(temsub == temnext)
+								break;
+						
+						newpath= RNA_path_append(*path, NULL, prop, index, NULL);
+					}
+					
+					ld= ld->next;
+				}
+			}
+			
+			if(newpath) {
+				if (*path) MEM_freeN(*path);
+				*path= newpath;
+				newpath= NULL;
+			}
+		}
+		else {
+			/* no ID, so check if entry is RNA-struct, and if that RNA-struct is an ID datablock to extract info from */
+			if (tse->type == TSE_RNA_STRUCT) {
+				/* ptr->data not ptr->id.data seems to be the one we want, since ptr->data is sometimes the owner of this ID? */
+				if(RNA_struct_is_ID(ptr->type)) {
+					*id= (ID *)ptr->data;
+					
+					/* clear path */
+					if(*path) {
+						MEM_freeN(*path);
+						path= NULL;
+					}
+				}
+			}
+		}
+	}
+
+	/* step 3: if we've got an ID, add the current item to the path */
+	if (*id) {
+		/* add the active property to the path */
+		ptr= &te->rnaptr;
+		prop= te->directdata;
+		
+		/* array checks */
+		if (tselem->type == TSE_RNA_ARRAY_ELEM) {
+			/* item is part of an array, so must set the array_index */
+			*array_index= te->index;
+		}
+		else if (RNA_property_array_length(ptr, prop)) {
+			/* entire array was selected, so keyframe all */
+			*flag |= KSP_FLAG_WHOLE_ARRAY;
+		}
+		
+		/* path */
+		newpath= RNA_path_append(*path, NULL, prop, 0, NULL);
+		if (*path) MEM_freeN(*path);
+		*path= newpath;
+	}
+
+	/* free temp data */
+	BLI_freelistN(&hierarchy);
+}
+
+/* =============================================== */
+/* Driver Operations */
+
+/* These operators are only available in databrowser mode for now, as
+ * they depend on having RNA paths and/or hierarchies available.
+ */
+enum {
+	DRIVERS_EDITMODE_ADD	= 0,
+	DRIVERS_EDITMODE_REMOVE,
+} /*eDrivers_EditModes*/;
+
+/* Utilities ---------------------------------- */ 
+
+/* Recursively iterate over tree, finding and working on selected items */
+static void do_outliner_drivers_editop(SpaceOops *soops, ListBase *tree, ReportList *reports, short mode)
+{
+	TreeElement *te;
+	TreeStoreElem *tselem;
+	
+	for (te= tree->first; te; te=te->next) {
+		tselem= TREESTORE(te);
+		
+		/* if item is selected, perform operation */
+		if (tselem->flag & TSE_SELECTED) {
+			ID *id= NULL;
+			char *path= NULL;
+			int array_index= 0;
+			short flag= 0;
+			short groupmode= KSP_GROUP_KSNAME;
+			
+			/* check if RNA-property described by this selected element is an animateable prop */
+			if (ELEM(tselem->type, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM) && RNA_property_animateable(&te->rnaptr, te->directdata)) {
+				/* get id + path + index info from the selected element */
+				tree_element_to_path(soops, te, tselem, 
+						&id, &path, &array_index, &flag, &groupmode);
+			}
+			
+			/* only if ID and path were set, should we perform any actions */
+			if (id && path) {
+				short dflags = CREATEDRIVER_WITH_DEFAULT_DVAR;
+				int arraylen = 1;
+				
+				/* array checks */
+				if (flag & KSP_FLAG_WHOLE_ARRAY) {
+					/* entire array was selected, so add drivers for all */
+					arraylen= RNA_property_array_length(&te->rnaptr, te->directdata);
+				}
+				else
+					arraylen= array_index;
+				
+				/* we should do at least one step */
+				if (arraylen == array_index)
+					arraylen++;
+				
+				/* for each array element we should affect, add driver */
+				for (; array_index < arraylen; array_index++) {
+					/* action depends on mode */
+					switch (mode) {
+						case DRIVERS_EDITMODE_ADD:
+						{
+							/* add a new driver with the information obtained (only if valid) */
+							ANIM_add_driver(reports, id, path, array_index, dflags, DRIVER_TYPE_PYTHON);
+						}
+							break;
+						case DRIVERS_EDITMODE_REMOVE:
+						{
+							/* remove driver matching the information obtained (only if valid) */
+							ANIM_remove_driver(reports, id, path, array_index, dflags);
+						}
+							break;
+					}
+				}
+				
+				/* free path, since it had to be generated */
+				MEM_freeN(path);
+			}
+			
+			
+		}
+		
+		/* go over sub-tree */
+		if ((tselem->flag & TSE_CLOSED)==0)
+			do_outliner_drivers_editop(soops, &te->subtree, reports, mode);
+	}
+}
+
+/* Add Operator ---------------------------------- */
+
+static int outliner_drivers_addsel_exec(bContext *C, wmOperator *op)
+{
+	SpaceOops *soutliner= CTX_wm_space_outliner(C);
+	
+	/* check for invalid states */
+	if (soutliner == NULL)
+		return OPERATOR_CANCELLED;
+	
+	/* recursively go into tree, adding selected items */
+	do_outliner_drivers_editop(soutliner, &soutliner->tree, op->reports, DRIVERS_EDITMODE_ADD);
+	
+	/* send notifiers */
+	WM_event_add_notifier(C, NC_ANIMATION|ND_FCURVES_ORDER, NULL); // XXX
+	
+	return OPERATOR_FINISHED;
+}
+
+void OUTLINER_OT_drivers_add_selected(wmOperatorType *ot)
+{
+	/* api callbacks */
+	ot->idname= "OUTLINER_OT_drivers_add_selected";
+	ot->name= "Add Drivers for Selected";
+	ot->description= "Add drivers to selected items";
+	
+	/* api callbacks */
+	ot->exec= outliner_drivers_addsel_exec;
+	ot->poll= ed_operator_outliner_datablocks_active;
+	
+	/* flags */
+	ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO;
+}
+
+
+/* Remove Operator ---------------------------------- */
+
+static int outliner_drivers_deletesel_exec(bContext *C, wmOperator *op)
+{
+	SpaceOops *soutliner= CTX_wm_space_outliner(C);
+	
+	/* check for invalid states */
+	if (soutliner == NULL)
+		return OPERATOR_CANCELLED;
+	
+	/* recursively go into tree, adding selected items */
+	do_outliner_drivers_editop(soutliner, &soutliner->tree, op->reports, DRIVERS_EDITMODE_REMOVE);
+	
+	/* send notifiers */
+	WM_event_add_notifier(C, ND_KEYS, NULL); // XXX
+	
+	return OPERATOR_FINISHED;
+}
+
+void OUTLINER_OT_drivers_delete_selected(wmOperatorType *ot)
+{
+	/* identifiers */
+	ot->idname= "OUTLINER_OT_drivers_delete_selected";
+	ot->name= "Delete Drivers for Selected";
+	ot->description= "Delete drivers assigned to selected items";
+	
+	/* api callbacks */
+	ot->exec= outliner_drivers_deletesel_exec;
+	ot->poll= ed_operator_outliner_datablocks_active;
+	
+	/* flags */
+	ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO;
+}
+
+/* =============================================== */
+/* Keying Set Operations */
+
+/* These operators are only available in databrowser mode for now, as
+ * they depend on having RNA paths and/or hierarchies available.
+ */
+enum {
+	KEYINGSET_EDITMODE_ADD	= 0,
+	KEYINGSET_EDITMODE_REMOVE,
+} /*eKeyingSet_EditModes*/;
+
+/* Utilities ---------------------------------- */ 
+ 
+/* find the 'active' KeyingSet, and add if not found (if adding is allowed) */
+// TODO: should this be an API func?
+static KeyingSet *verify_active_keyingset(Scene *scene, short add)
+{
+	KeyingSet *ks= NULL;
+	
+	/* sanity check */
+	if (scene == NULL)
+		return NULL;
+	
+	/* try to find one from scene */
+	if (scene->active_keyingset > 0)
+		ks= BLI_findlink(&scene->keyingsets, scene->active_keyingset-1);
+		
+	/* add if none found */
+	// XXX the default settings have yet to evolve
+	if ((add) && (ks==NULL)) {
+		ks= BKE_keyingset_add(&scene->keyingsets, NULL, KEYINGSET_ABSOLUTE, 0);
+		scene->active_keyingset= BLI_countlist(&scene->keyingsets);
+	}
+	
+	return ks;
+}
+
+/* Recursively iterate over tree, finding and working on selected items */
+static void do_outliner_keyingset_editop(SpaceOops *soops, KeyingSet *ks, ListBase *tree, short mode)
+{
+	TreeElement *te;
+	TreeStoreElem *tselem;
+	
+	for (te= tree->first; te; te=te->next) {
+		tselem= TREESTORE(te);
+		
+		/* if item is selected, perform operation */
+		if (tselem->flag & TSE_SELECTED) {
+			ID *id= NULL;
+			char *path= NULL;
+			int array_index= 0;
+			short flag= 0;
+			short groupmode= KSP_GROUP_KSNAME;
+			
+			/* check if RNA-property described by this selected element is an animateable prop */
+			if (ELEM(tselem->type, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM) && RNA_property_animateable(&te->rnaptr, te->directdata)) {
+				/* get id + path + index info from the selected element */
+				tree_element_to_path(soops, te, tselem, 
+						&id, &path, &array_index, &flag, &groupmode);
+			}
+			
+			/* only if ID and path were set, should we perform any actions */
+			if (id && path) {
+				/* action depends on mode */
+				switch (mode) {
+					case KEYINGSET_EDITMODE_ADD:
+					{
+						/* add a new path with the information obtained (only if valid) */
+						// TODO: what do we do with group name? for now, we don't supply one, and just let this use the KeyingSet name
+						BKE_keyingset_add_path(ks, id, NULL, path, array_index, flag, groupmode);
+						ks->active_path= BLI_countlist(&ks->paths);
+					}
+						break;
+					case KEYINGSET_EDITMODE_REMOVE:
+					{
+						/* find the relevant path, then remove it from the KeyingSet */
+						KS_Path *ksp= BKE_keyingset_find_path(ks, id, NULL, path, array_index, groupmode);
+						
+						if (ksp) {
+							/* free path's data */
+							BKE_keyingset_free_path(ks, ksp);
+
+							ks->active_path= 0;
+						}
+					}
+						break;
+				}
+				
+				/* free path, since it had to be generated */
+				MEM_freeN(path);
+			}
+		}
+		
+		/* go over sub-tree */
+		if ((tselem->flag & TSE_CLOSED)==0)
+			do_outliner_keyingset_editop(soops, ks, &te->subtree, mode);
+	}
+}
+
+/* Add Operator ---------------------------------- */
+
+static int outliner_keyingset_additems_exec(bContext *C, wmOperator *op)
+{
+	SpaceOops *soutliner= CTX_wm_space_outliner(C);
+	Scene *scene= CTX_data_scene(C);
+	KeyingSet *ks= verify_active_keyingset(scene, 1);
+	
+	/* check for invalid states */
+	if (ks == NULL) {
+		BKE_report(op->reports, RPT_ERROR, "Operation requires an Active Keying Set");
+		return OPERATOR_CANCELLED;
+	}
+	if (soutliner == NULL)
+		return OPERATOR_CANCELLED;
+	
+	/* recursively go into tree, adding selected items */
+	do_outliner_keyingset_editop(soutliner, ks, &soutliner->tree, KEYINGSET_EDITMODE_ADD);
+	
+	/* send notifiers */
+	WM_event_add_notifier(C, NC_SCENE|ND_KEYINGSET, NULL);
+	
+	return OPERATOR_FINISHED;
+}
+
+void OUTLINER_OT_keyingset_add_selected(wmOperatorType *ot)
+{
+	/* identifiers */
+	ot->idname= "OUTLINER_OT_keyingset_add_selected";
+	ot->name= "Keying Set Add Selected";
+	ot->description= "Add selected items (blue-grey rows) to active Keying Set";
+	
+	/* api callbacks */
+	ot->exec= outliner_keyingset_additems_exec;
+	ot->poll= ed_operator_outliner_datablocks_active;
+	
+	/* flags */
+	ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO;
+}
+
+
+/* Remove Operator ---------------------------------- */
+
+static int outliner_keyingset_removeitems_exec(bContext *C, wmOperator *UNUSED(op))
+{
+	SpaceOops *soutliner= CTX_wm_space_outliner(C);
+	Scene *scene= CTX_data_scene(C);
+	KeyingSet *ks= verify_active_keyingset(scene, 1);
+	
+	/* check for invalid states */
+	if (soutliner == NULL)
+		return OPERATOR_CANCELLED;
+	
+	/* recursively go into tree, adding selected items */
+	do_outliner_keyingset_editop(soutliner, ks, &soutliner->tree, KEYINGSET_EDITMODE_REMOVE);
+	
+	/* send notifiers */
+	WM_event_add_notifier(C, NC_SCENE|ND_KEYINGSET, NULL);
+	
+	return OPERATOR_FINISHED;
+}
+
+void OUTLINER_OT_keyingset_remove_selected(wmOperatorType *ot)
+{
+	/* identifiers */
+	ot->idname= "OUTLINER_OT_keyingset_remove_selected";
+	ot->name= "Keying Set Remove Selected";
+	ot->description = "Remove selected items (blue-grey rows) from active Keying Set";
+	
+	/* api callbacks */
+	ot->exec= outliner_keyingset_removeitems_exec;
+	ot->poll= ed_operator_outliner_datablocks_active;
+	
+	/* flags */
+	ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO;
+}
diff --git a/source/blender/editors/space_outliner/outliner_intern.h b/source/blender/editors/space_outliner/outliner_intern.h
index cbb26d79c4b..85bbbd4fffb 100644
--- a/source/blender/editors/space_outliner/outliner_intern.h
+++ b/source/blender/editors/space_outliner/outliner_intern.h
@@ -44,6 +44,8 @@ struct TreeStoreElem;
 struct bContext;
 struct Scene;
 struct ARegion;
+struct ID;
+struct Object;
 
 typedef struct TreeElement {
 	struct TreeElement *next, *prev, *parent;
@@ -107,27 +109,65 @@ typedef struct TreeElement {
 /* button events */
 #define OL_NAMEBUTTON		1
 
+/* get TreeStoreElem associated with a TreeElement 
+ * < a: (TreeElement) tree element to find stored element for
+ */
+#define TREESTORE(a) ((a)?soops->treestore->data+(a)->store_index:NULL)
 
-/* outliner_ops.c */
-void outliner_operatortypes(void);
-void outliner_keymap(struct wmKeyConfig *keyconf);
+/* size constants */
+#define OL_Y_OFFSET	2
 
-/* outliner_header.c */
-void outliner_header_buttons(const struct bContext *C, struct ARegion *ar);
+#define OL_TOG_RESTRICT_VIEWX	(UI_UNIT_X*3)
+#define OL_TOG_RESTRICT_SELECTX	(UI_UNIT_X*2)
+#define OL_TOG_RESTRICT_RENDERX	UI_UNIT_X
+
+#define OL_TOGW OL_TOG_RESTRICT_VIEWX
+
+#define OL_RNA_COLX			(UI_UNIT_X*15)
+#define OL_RNA_COL_SIZEX	(UI_UNIT_X*7.5)
+#define OL_RNA_COL_SPACEX	(UI_UNIT_X*2.5)
+
+
+/* outliner_tree.c ----------------------------------------------- */
+
+void outliner_free_tree(ListBase *lb);
+
+TreeElement *outliner_find_tse(struct SpaceOops *soops, TreeStoreElem *tse);
+TreeElement *outliner_find_id(struct SpaceOops *soops, ListBase *lb, struct ID *id);
+struct ID *outliner_search_back(SpaceOops *soops, TreeElement *te, short idcode);
+
+void outliner_build_tree(struct Main *mainvar, struct Scene *scene, struct SpaceOops *soops);
+
+/* outliner_draw.c ---------------------------------------------- */
 
-/* outliner.c */
-void outliner_free_tree(struct ListBase *lb);
-void outliner_select(struct SpaceOops *soops, struct ListBase *lb, int *index, short *selecting);
 void draw_outliner(const struct bContext *C);
 
+/* outliner_select.c -------------------------------------------- */
+
+void outliner_select(struct SpaceOops *soops, ListBase *lb, int *index, short *selecting);
+
+int tree_element_type_active(struct bContext *C, struct Scene *scene, struct SpaceOops *soops, TreeElement *te, TreeStoreElem *tselem, int set);
+int tree_element_active(struct bContext *C, struct Scene *scene, SpaceOops *soops, TreeElement *te, int set);
+
+/* outliner_edit.c ---------------------------------------------- */
+
+void outliner_do_object_operation(struct bContext *C, struct Scene *scene, struct SpaceOops *soops, struct ListBase *lb, 
+								  void (*operation_cb)(struct bContext *C, struct Scene *scene, struct TreeElement *, struct TreeStoreElem *, TreeStoreElem *));
+
+int common_restrict_check(struct bContext *C, struct Object *ob);
+
+int outliner_has_one_flag(struct SpaceOops *soops, ListBase *lb, short flag, short curlevel);
+void outliner_set_flag(struct SpaceOops *soops, ListBase *lb, short flag, short set);
+
+void object_toggle_visibility_cb(struct bContext *C, struct Scene *scene, TreeElement *te, struct TreeStoreElem *tsep, struct TreeStoreElem *tselem);
+void object_toggle_selectability_cb(struct bContext *C, struct Scene *scene, TreeElement *te, struct TreeStoreElem *tsep, struct TreeStoreElem *tselem);
+void object_toggle_renderability_cb(struct bContext *C, struct Scene *scene, TreeElement *te, struct TreeStoreElem *tsep, struct TreeStoreElem *tselem);
+
+/* ...................................................... */
+
 void OUTLINER_OT_item_activate(struct wmOperatorType *ot);
 void OUTLINER_OT_item_openclose(struct wmOperatorType *ot);
 void OUTLINER_OT_item_rename(struct wmOperatorType *ot);
-void OUTLINER_OT_operation(struct wmOperatorType *ot);
-void OUTLINER_OT_object_operation(struct wmOperatorType *ot);
-void OUTLINER_OT_group_operation(struct wmOperatorType *ot);
-void OUTLINER_OT_id_operation(struct wmOperatorType *ot);
-void OUTLINER_OT_data_operation(struct wmOperatorType *ot);
 
 void OUTLINER_OT_show_one_level(struct wmOperatorType *ot);
 void OUTLINER_OT_show_active(struct wmOperatorType *ot);
@@ -148,5 +188,23 @@ void OUTLINER_OT_keyingset_remove_selected(struct wmOperatorType *ot);
 void OUTLINER_OT_drivers_add_selected(struct wmOperatorType *ot);
 void OUTLINER_OT_drivers_delete_selected(struct wmOperatorType *ot);
 
-#endif /* ED_OUTLINER_INTERN_H */
+/* outliner_tools.c ---------------------------------------------- */
+
+void OUTLINER_OT_operation(struct wmOperatorType *ot);
+void OUTLINER_OT_object_operation(struct wmOperatorType *ot);
+void OUTLINER_OT_group_operation(struct wmOperatorType *ot);
+void OUTLINER_OT_id_operation(struct wmOperatorType *ot);
+void OUTLINER_OT_data_operation(struct wmOperatorType *ot);
+void OUTLINER_OT_animdata_operation(struct wmOperatorType *ot);
+void OUTLINER_OT_action_set(struct wmOperatorType *ot);
+
+/* ---------------------------------------------------------------- */
 
+/* outliner_ops.c */
+void outliner_operatortypes(void);
+void outliner_keymap(struct wmKeyConfig *keyconf);
+
+/* outliner_header.c */
+void outliner_header_buttons(const struct bContext *C, struct ARegion *ar);
+
+#endif /* ED_OUTLINER_INTERN_H */
diff --git a/source/blender/editors/space_outliner/outliner_ops.c b/source/blender/editors/space_outliner/outliner_ops.c
index 8bd30235931..f3e2c352172 100644
--- a/source/blender/editors/space_outliner/outliner_ops.c
+++ b/source/blender/editors/space_outliner/outliner_ops.c
@@ -57,6 +57,13 @@ void outliner_operatortypes(void)
 	WM_operatortype_append(OUTLINER_OT_group_operation);
 	WM_operatortype_append(OUTLINER_OT_id_operation);
 	WM_operatortype_append(OUTLINER_OT_data_operation);
+	WM_operatortype_append(OUTLINER_OT_animdata_operation);
+
+#if 0 // GSOC_PEPPER
+
+	WM_operatortype_append(OUTLINER_OT_action_set);
+
+#endif // GSOC_PEPPER
 
 	WM_operatortype_append(OUTLINER_OT_show_one_level);
 	WM_operatortype_append(OUTLINER_OT_show_active);
diff --git a/source/blender/editors/space_outliner/outliner_select.c b/source/blender/editors/space_outliner/outliner_select.c
new file mode 100644
index 00000000000..620a936a944
--- /dev/null
+++ b/source/blender/editors/space_outliner/outliner_select.c
@@ -0,0 +1,867 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version. 
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) 2004 Blender Foundation.
+ * All rights reserved.
+ *
+ * The Original Code is: all of this file.
+ *
+ * Contributor(s): Joshua Leung
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/editors/space_outliner/outliner_select.c
+ *  \ingroup spoutliner
+ */
+
+#include <math.h>
+#include <string.h>
+#include <stdlib.h>
+#include <stddef.h>
+
+#include "MEM_guardedalloc.h"
+
+#include "DNA_anim_types.h"
+#include "DNA_armature_types.h"
+#include "DNA_constraint_types.h"
+#include "DNA_camera_types.h"
+#include "DNA_group_types.h"
+#include "DNA_key_types.h"
+#include "DNA_lamp_types.h"
+#include "DNA_material_types.h"
+#include "DNA_mesh_types.h"
+#include "DNA_meta_types.h"
+#include "DNA_particle_types.h"
+#include "DNA_scene_types.h"
+#include "DNA_world_types.h"
+#include "DNA_sequence_types.h"
+#include "DNA_object_types.h"
+
+#include "BLI_blenlib.h"
+#include "BLI_utildefines.h"
+#include "BLI_math_base.h"
+
+#if defined WIN32 && !defined _LIBC
+# include "BLI_fnmatch.h" /* use fnmatch included in blenlib */
+#else
+#  ifndef _GNU_SOURCE
+#    define _GNU_SOURCE
+#  endif
+# include <fnmatch.h>
+#endif
+
+
+#include "BKE_animsys.h"
+#include "BKE_context.h"
+#include "BKE_deform.h"
+#include "BKE_depsgraph.h"
+#include "BKE_fcurve.h"
+#include "BKE_global.h"
+#include "BKE_group.h"
+#include "BKE_library.h"
+#include "BKE_main.h"
+#include "BKE_modifier.h"
+#include "BKE_report.h"
+#include "BKE_scene.h"
+#include "BKE_sequencer.h"
+
+#include "ED_armature.h"
+#include "ED_object.h"
+#include "ED_screen.h"
+#include "ED_util.h"
+
+#include "WM_api.h"
+#include "WM_types.h"
+
+#include "BIF_gl.h"
+#include "BIF_glutil.h"
+
+#include "UI_interface.h"
+#include "UI_interface_icons.h"
+#include "UI_resources.h"
+#include "UI_view2d.h"
+
+#include "RNA_access.h"
+#include "RNA_define.h"
+
+#include "outliner_intern.h"
+
+/* ****************************************************** */
+/* Outliner Selection (grey-blue highlight for rows) */
+
+void outliner_select(SpaceOops *soops, ListBase *lb, int *index, short *selecting)
+{
+	TreeElement *te;
+	TreeStoreElem *tselem;
+	
+	for (te= lb->first; te && *index >= 0; te=te->next, (*index)--) {
+		tselem= TREESTORE(te);
+		
+		/* if we've encountered the right item, set its 'Outliner' selection status */
+		if (*index == 0) {
+			/* this should be the last one, so no need to do anything with index */
+			if ((te->flag & TE_ICONROW)==0) {
+				/* -1 value means toggle testing for now... */
+				if (*selecting == -1) {
+					if (tselem->flag & TSE_SELECTED) 
+						*selecting= 0;
+					else 
+						*selecting= 1;
+				}
+				
+				/* set selection */
+				if (*selecting) 
+					tselem->flag |= TSE_SELECTED;
+				else 
+					tselem->flag &= ~TSE_SELECTED;
+			}
+		}
+		else if ((tselem->flag & TSE_CLOSED)==0) {
+			/* Only try selecting sub-elements if we haven't hit the right element yet
+			 *
+			 * Hack warning:
+			 * 	Index must be reduced before supplying it to the sub-tree to try to do
+			 * 	selection, however, we need to increment it again for the next loop to 
+			 * 	function correctly
+			 */
+			(*index)--;
+			outliner_select(soops, &te->subtree, index, selecting);
+			(*index)++;
+		}
+	}
+}
+
+/* ****************************************************** */
+/* Outliner Element Selection/Activation on Click */
+
+static int tree_element_active_renderlayer(bContext *C, TreeElement *te, TreeStoreElem *tselem, int set)
+{
+	Scene *sce;
+	
+	/* paranoia check */
+	if(te->idcode!=ID_SCE)
+		return 0;
+	sce= (Scene *)tselem->id;
+	
+	if(set) {
+		sce->r.actlay= tselem->nr;
+		WM_event_add_notifier(C, NC_SCENE|ND_RENDER_OPTIONS, sce);
+	}
+	else {
+		return sce->r.actlay==tselem->nr;
+	}
+	return 0;
+}
+
+static int  tree_element_set_active_object(bContext *C, Scene *scene, SpaceOops *soops, TreeElement *te, int set)
+{
+	TreeStoreElem *tselem= TREESTORE(te);
+	Scene *sce;
+	Base *base;
+	Object *ob= NULL;
+	
+	/* if id is not object, we search back */
+	if(te->idcode==ID_OB) ob= (Object *)tselem->id;
+	else {
+		ob= (Object *)outliner_search_back(soops, te, ID_OB);
+		if(ob==OBACT) return 0;
+	}
+	if(ob==NULL) return 0;
+	
+	sce= (Scene *)outliner_search_back(soops, te, ID_SCE);
+	if(sce && scene != sce) {
+		ED_screen_set_scene(C, sce);
+	}
+	
+	/* find associated base in current scene */
+	base= object_in_scene(ob, scene);
+
+	if(base) {
+		if(set==2) {
+			/* swap select */
+			if(base->flag & SELECT)
+				ED_base_object_select(base, BA_DESELECT);
+			else 
+				ED_base_object_select(base, BA_SELECT);
+		}
+		else {
+			/* deleselect all */
+			scene_deselect_all(scene);
+			ED_base_object_select(base, BA_SELECT);
+		}
+		if(C) {
+			ED_base_object_activate(C, base); /* adds notifier */
+			WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
+		}
+	}
+	
+	if(ob!=scene->obedit) 
+		ED_object_exit_editmode(C, EM_FREEDATA|EM_FREEUNDO|EM_WAITCURSOR|EM_DO_UNDO);
+		
+	return 1;
+}
+
+static int tree_element_active_material(bContext *C, Scene *scene, SpaceOops *soops, TreeElement *te, int set)
+{
+	TreeElement *tes;
+	Object *ob;
+	
+	/* we search for the object parent */
+	ob= (Object *)outliner_search_back(soops, te, ID_OB);
+	// note: ob->matbits can be NULL when a local object points to a library mesh.
+	if(ob==NULL || ob!=OBACT || ob->matbits==NULL) return 0;	// just paranoia
+	
+	/* searching in ob mat array? */
+	tes= te->parent;
+	if(tes->idcode==ID_OB) {
+		if(set) {
+			ob->actcol= te->index+1;
+			ob->matbits[te->index]= 1;	// make ob material active too
+			ob->colbits |= (1<<te->index);
+		}
+		else {
+			if(ob->actcol == te->index+1) 
+				if(ob->matbits[te->index]) return 1;
+		}
+	}
+	/* or we search for obdata material */
+	else {
+		if(set) {
+			ob->actcol= te->index+1;
+			ob->matbits[te->index]= 0;	// make obdata material active too
+			ob->colbits &= ~(1<<te->index);
+		}
+		else {
+			if(ob->actcol == te->index+1)
+				if(ob->matbits[te->index]==0) return 1;
+		}
+	}
+	if(set) {
+		WM_event_add_notifier(C, NC_MATERIAL|ND_SHADING, NULL);
+	}
+	return 0;
+}
+
+static int tree_element_active_texture(bContext *C, Scene *scene, SpaceOops *soops, TreeElement *te, int set)
+{
+	TreeElement *tep;
+	TreeStoreElem /* *tselem,*/ *tselemp;
+	Object *ob=OBACT;
+	SpaceButs *sbuts=NULL;
+	
+	if(ob==NULL) return 0; // no active object
+	
+	/*tselem= TREESTORE(te);*/ /*UNUSED*/
+	
+	/* find buttons area (note, this is undefined really still, needs recode in blender) */
+	/* XXX removed finding sbuts */
+	
+	/* where is texture linked to? */
+	tep= te->parent;
+	tselemp= TREESTORE(tep);
+	
+	if(tep->idcode==ID_WO) {
+		World *wrld= (World *)tselemp->id;
+
+		if(set) {
+			if(sbuts) {
+				// XXX sbuts->tabo= TAB_SHADING_TEX;	// hack from header_buttonswin.c
+				// XXX sbuts->texfrom= 1;
+			}
+// XXX			extern_set_butspace(F6KEY, 0);	// force shading buttons texture
+			wrld->texact= te->index;
+		}
+		else if(tselemp->id == (ID *)(scene->world)) {
+			if(wrld->texact==te->index) return 1;
+		}
+	}
+	else if(tep->idcode==ID_LA) {
+		Lamp *la= (Lamp *)tselemp->id;
+		if(set) {
+			if(sbuts) {
+				// XXX sbuts->tabo= TAB_SHADING_TEX;	// hack from header_buttonswin.c
+				// XXX sbuts->texfrom= 2;
+			}
+// XXX			extern_set_butspace(F6KEY, 0);	// force shading buttons texture
+			la->texact= te->index;
+		}
+		else {
+			if(tselemp->id == ob->data) {
+				if(la->texact==te->index) return 1;
+			}
+		}
+	}
+	else if(tep->idcode==ID_MA) {
+		Material *ma= (Material *)tselemp->id;
+		if(set) {
+			if(sbuts) {
+				//sbuts->tabo= TAB_SHADING_TEX;	// hack from header_buttonswin.c
+				// XXX sbuts->texfrom= 0;
+			}
+// XXX			extern_set_butspace(F6KEY, 0);	// force shading buttons texture
+			ma->texact= (char)te->index;
+			
+			/* also set active material */
+			ob->actcol= tep->index+1;
+		}
+		else if(tep->flag & TE_ACTIVE) {	// this is active material
+			if(ma->texact==te->index) return 1;
+		}
+	}
+	
+	if(set)
+		WM_event_add_notifier(C, NC_TEXTURE, NULL);
+
+	return 0;
+}
+
+
+static int tree_element_active_lamp(bContext *UNUSED(C), Scene *scene, SpaceOops *soops, TreeElement *te, int set)
+{
+	Object *ob;
+	
+	/* we search for the object parent */
+	ob= (Object *)outliner_search_back(soops, te, ID_OB);
+	if(ob==NULL || ob!=OBACT) return 0;	// just paranoia
+	
+	if(set) {
+// XXX		extern_set_butspace(F5KEY, 0);
+	}
+	else return 1;
+	
+	return 0;
+}
+
+static int tree_element_active_camera(bContext *UNUSED(C), Scene *scene, SpaceOops *soops, TreeElement *te, int set)
+{
+	Object *ob= (Object *)outliner_search_back(soops, te, ID_OB);
+
+	if(set)
+		return 0;
+
+	return scene->camera == ob;
+}
+
+static int tree_element_active_world(bContext *C, Scene *scene, SpaceOops *soops, TreeElement *te, int set)
+{
+	TreeElement *tep;
+	TreeStoreElem *tselem=NULL;
+	Scene *sce=NULL;
+	
+	tep= te->parent;
+	if(tep) {
+		tselem= TREESTORE(tep);
+		sce= (Scene *)tselem->id;
+	}
+	
+	if(set) {	// make new scene active
+		if(sce && scene != sce) {
+			ED_screen_set_scene(C, sce);
+		}
+	}
+	
+	if(tep==NULL || tselem->id == (ID *)scene) {
+		if(set) {
+// XXX			extern_set_butspace(F8KEY, 0);
+		}
+		else {
+			return 1;
+		}
+	}
+	return 0;
+}
+
+static int tree_element_active_defgroup(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *tselem, int set)
+{
+	Object *ob;
+	
+	/* id in tselem is object */
+	ob= (Object *)tselem->id;
+	if(set) {
+		ob->actdef= te->index+1;
+		DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
+		WM_event_add_notifier(C, NC_OBJECT|ND_TRANSFORM, ob);
+	}
+	else {
+		if(ob==OBACT)
+			if(ob->actdef== te->index+1) return 1;
+	}
+	return 0;
+}
+
+static int tree_element_active_posegroup(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *tselem, int set)
+{
+	Object *ob= (Object *)tselem->id;
+	
+	if(set) {
+		if (ob->pose) {
+			ob->pose->active_group= te->index+1;
+			WM_event_add_notifier(C, NC_OBJECT|ND_DRAW, ob);
+		}
+	}
+	else {
+		if(ob==OBACT && ob->pose) {
+			if (ob->pose->active_group== te->index+1) return 1;
+		}
+	}
+	return 0;
+}
+
+static int tree_element_active_posechannel(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *tselem, int set)
+{
+	Object *ob= (Object *)tselem->id;
+	bArmature *arm= ob->data;
+	bPoseChannel *pchan= te->directdata;
+	
+	if(set) {
+		if(!(pchan->bone->flag & BONE_HIDDEN_P)) {
+			
+			if(set==2) ED_pose_deselectall(ob, 2);	// 2 = clear active tag
+			else ED_pose_deselectall(ob, 0);	// 0 = deselect 
+			
+			if(set==2 && (pchan->bone->flag & BONE_SELECTED)) {
+				pchan->bone->flag &= ~BONE_SELECTED;
+			} else {
+				pchan->bone->flag |= BONE_SELECTED;
+				arm->act_bone= pchan->bone;
+			}
+			
+			WM_event_add_notifier(C, NC_OBJECT|ND_BONE_ACTIVE, ob);
+
+		}
+	}
+	else {
+		if(ob==OBACT && ob->pose) {
+			if (pchan->bone->flag & BONE_SELECTED) return 1;
+		}
+	}
+	return 0;
+}
+
+static int tree_element_active_bone(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *tselem, int set)
+{
+	bArmature *arm= (bArmature *)tselem->id;
+	Bone *bone= te->directdata;
+	
+	if(set) {
+		if(!(bone->flag & BONE_HIDDEN_P)) {
+			if(set==2) ED_pose_deselectall(OBACT, 2);	// 2 is clear active tag
+			else ED_pose_deselectall(OBACT, 0);
+			
+			if(set==2 && (bone->flag & BONE_SELECTED)) {
+				bone->flag &= ~BONE_SELECTED;
+			} else {
+				bone->flag |= BONE_SELECTED;
+				arm->act_bone= bone;
+			}
+			
+			WM_event_add_notifier(C, NC_OBJECT|ND_BONE_ACTIVE, OBACT);
+		}
+	}
+	else {
+		Object *ob= OBACT;
+		
+		if(ob && ob->data==arm) {
+			if (bone->flag & BONE_SELECTED) return 1;
+		}
+	}
+	return 0;
+}
+
+
+/* ebones only draw in editmode armature */
+static void tree_element_active_ebone__sel(bContext *C, Scene *scene, bArmature *arm, EditBone *ebone, short sel)
+{
+	if(sel) {
+		ebone->flag |= BONE_SELECTED|BONE_ROOTSEL|BONE_TIPSEL;
+		arm->act_edbone= ebone;
+		// flush to parent?
+		if(ebone->parent && (ebone->flag & BONE_CONNECTED)) ebone->parent->flag |= BONE_TIPSEL;
+	}
+	else {
+		ebone->flag &= ~(BONE_SELECTED|BONE_ROOTSEL|BONE_TIPSEL);
+		// flush to parent?
+		if(ebone->parent && (ebone->flag & BONE_CONNECTED)) ebone->parent->flag &= ~BONE_TIPSEL;
+	}
+
+	WM_event_add_notifier(C, NC_OBJECT|ND_BONE_ACTIVE, scene->obedit);
+}
+static int tree_element_active_ebone(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tselem), int set)
+{
+	bArmature *arm= scene->obedit->data;
+	EditBone *ebone= te->directdata;
+
+	if(set==1) {
+		if(!(ebone->flag & BONE_HIDDEN_A)) {
+			ED_armature_deselect_all(scene->obedit, 0);	// deselect
+			tree_element_active_ebone__sel(C, scene, arm, ebone, TRUE);
+			return 1;
+		}
+	}
+	else if (set==2) {
+		if(!(ebone->flag & BONE_HIDDEN_A)) {
+			if(!(ebone->flag & BONE_SELECTED)) {
+				tree_element_active_ebone__sel(C, scene, arm, ebone, TRUE);
+				return 1;
+			}
+			else {
+				/* entirely selected, so de-select */
+				tree_element_active_ebone__sel(C, scene, arm, ebone, FALSE);
+				return 0;
+			}
+		}
+	}
+	else if (ebone->flag & BONE_SELECTED) {
+		return 1;
+	}
+	return 0;
+}
+
+static int tree_element_active_modifier(bContext *C, TreeElement *UNUSED(te), TreeStoreElem *tselem, int set)
+{
+	if(set) {
+		Object *ob= (Object *)tselem->id;
+		
+		WM_event_add_notifier(C, NC_OBJECT|ND_MODIFIER, ob);
+
+// XXX		extern_set_butspace(F9KEY, 0);
+	}
+	
+	return 0;
+}
+
+static int tree_element_active_psys(bContext *C, Scene *UNUSED(scene), TreeElement *UNUSED(te), TreeStoreElem *tselem, int set)
+{
+	if(set) {
+		Object *ob= (Object *)tselem->id;
+		
+		WM_event_add_notifier(C, NC_OBJECT|ND_PARTICLE|NA_EDITED, ob);
+		
+// XXX		extern_set_butspace(F7KEY, 0);
+	}
+	
+	return 0;
+}
+
+static int tree_element_active_constraint(bContext *C, TreeElement *UNUSED(te), TreeStoreElem *tselem, int set)
+{
+	if(set) {
+		Object *ob= (Object *)tselem->id;
+		
+		WM_event_add_notifier(C, NC_OBJECT|ND_CONSTRAINT, ob);
+// XXX		extern_set_butspace(F7KEY, 0);
+	}
+	
+	return 0;
+}
+
+static int tree_element_active_text(bContext *UNUSED(C), Scene *UNUSED(scene), SpaceOops *UNUSED(soops), TreeElement *UNUSED(te), int UNUSED(set))
+{
+	// XXX removed
+	return 0;
+}
+
+static int tree_element_active_pose(bContext *C, Scene *scene, TreeElement *UNUSED(te), TreeStoreElem *tselem, int set)
+{
+	Object *ob= (Object *)tselem->id;
+	Base *base= object_in_scene(ob, scene);
+	
+	if(set) {
+		if(scene->obedit) 
+			ED_object_exit_editmode(C, EM_FREEDATA|EM_FREEUNDO|EM_WAITCURSOR|EM_DO_UNDO);
+		
+		if(ob->mode & OB_MODE_POSE) 
+			ED_armature_exit_posemode(C, base);
+		else 
+			ED_armature_enter_posemode(C, base);
+	}
+	else {
+		if(ob->mode & OB_MODE_POSE) return 1;
+	}
+	return 0;
+}
+
+static int tree_element_active_sequence(TreeElement *te, TreeStoreElem *UNUSED(tselem), int set)
+{
+	Sequence *seq= (Sequence*) te->directdata;
+
+	if(set) {
+// XXX		select_single_seq(seq, 1);
+	}
+	else {
+		if(seq->flag & SELECT)
+			return(1);
+	}
+	return(0);
+}
+
+static int tree_element_active_sequence_dup(Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tselem), int set)
+{
+	Sequence *seq, *p;
+	Editing *ed= seq_give_editing(scene, FALSE);
+
+	seq= (Sequence*)te->directdata;
+	if(set==0) {
+		if(seq->flag & SELECT)
+			return(1);
+		return(0);
+	}
+
+// XXX	select_single_seq(seq, 1);
+	p= ed->seqbasep->first;
+	while(p) {
+		if((!p->strip) || (!p->strip->stripdata) || (!p->strip->stripdata->name)) {
+			p= p->next;
+			continue;
+		}
+
+//		if(!strcmp(p->strip->stripdata->name, seq->strip->stripdata->name))
+// XXX			select_single_seq(p, 0);
+		p= p->next;
+	}
+	return(0);
+}
+
+static int tree_element_active_keymap_item(bContext *UNUSED(C), TreeElement *te, TreeStoreElem *UNUSED(tselem), int set)
+{
+	wmKeyMapItem *kmi= te->directdata;
+	
+	if(set==0) {
+		if(kmi->flag & KMI_INACTIVE) return 0;
+		return 1;
+	}
+	else {
+		kmi->flag ^= KMI_INACTIVE;
+	}
+	return 0;
+}
+
+/* ---------------------------------------------- */
+
+/* generic call for ID data check or make/check active in UI */
+int tree_element_active(bContext *C, Scene *scene, SpaceOops *soops, TreeElement *te, int set)
+{
+
+	switch(te->idcode) {
+		/* Note: no ID_OB: objects are handled specially to allow multiple
+		   selection. See do_outliner_item_activate. */
+		case ID_MA:
+			return tree_element_active_material(C, scene, soops, te, set);
+		case ID_WO:
+			return tree_element_active_world(C, scene, soops, te, set);
+		case ID_LA:
+			return tree_element_active_lamp(C, scene, soops, te, set);
+		case ID_TE:
+			return tree_element_active_texture(C, scene, soops, te, set);
+		case ID_TXT:
+			return tree_element_active_text(C, scene, soops, te, set);
+		case ID_CA:
+			return tree_element_active_camera(C, scene, soops, te, set);
+	}
+	return 0;
+}
+
+/* generic call for non-id data to make/check active in UI */
+/* Context can be NULL when set==0 */
+int tree_element_type_active(bContext *C, Scene *scene, SpaceOops *soops, TreeElement *te, TreeStoreElem *tselem, int set)
+{
+	switch(tselem->type) {
+		case TSE_DEFGROUP:
+			return tree_element_active_defgroup(C, scene, te, tselem, set);
+		case TSE_BONE:
+			return tree_element_active_bone(C, scene, te, tselem, set);
+		case TSE_EBONE:
+			return tree_element_active_ebone(C, scene, te, tselem, set);
+		case TSE_MODIFIER:
+			return tree_element_active_modifier(C, te, tselem, set);
+		case TSE_LINKED_OB:
+			if(set) tree_element_set_active_object(C, scene, soops, te, set);
+			else if(tselem->id==(ID *)OBACT) return 1;
+			break;
+		case TSE_LINKED_PSYS:
+			return tree_element_active_psys(C, scene, te, tselem, set);
+		case TSE_POSE_BASE:
+			return tree_element_active_pose(C, scene, te, tselem, set);
+		case TSE_POSE_CHANNEL:
+			return tree_element_active_posechannel(C, scene, te, tselem, set);
+		case TSE_CONSTRAINT:
+			return tree_element_active_constraint(C, te, tselem, set);
+		case TSE_R_LAYER:
+			return tree_element_active_renderlayer(C, te, tselem, set);
+		case TSE_POSEGRP:
+			return tree_element_active_posegroup(C, scene, te, tselem, set);
+		case TSE_SEQUENCE:
+			return tree_element_active_sequence(te, tselem, set);
+		case TSE_SEQUENCE_DUP:
+			return tree_element_active_sequence_dup(scene, te, tselem, set);
+		case TSE_KEYMAP_ITEM:
+			return tree_element_active_keymap_item(C, te, tselem, set);
+			
+	}
+	return 0;
+}
+
+/* ================================================ */
+
+static int do_outliner_item_activate(bContext *C, Scene *scene, ARegion *ar, SpaceOops *soops, TreeElement *te, int extend, const float mval[2])
+{
+	
+	if(mval[1]>te->ys && mval[1]<te->ys+UI_UNIT_Y) {
+		TreeStoreElem *tselem= TREESTORE(te);
+		int openclose= 0;
+		
+		/* open close icon */
+		if((te->flag & TE_ICONROW)==0) {				// hidden icon, no open/close
+			if( mval[0]>te->xs && mval[0]<te->xs+UI_UNIT_X) 
+				openclose= 1;
+		}
+		
+		if(openclose) {
+			/* all below close/open? */
+			if(extend) {
+				tselem->flag &= ~TSE_CLOSED;
+				outliner_set_flag(soops, &te->subtree, TSE_CLOSED, !outliner_has_one_flag(soops, &te->subtree, TSE_CLOSED, 1));
+			}
+			else {
+				if(tselem->flag & TSE_CLOSED) tselem->flag &= ~TSE_CLOSED;
+				else tselem->flag |= TSE_CLOSED;
+				
+			}
+			
+			return 1;
+		}
+		/* name and first icon */
+		else if(mval[0]>te->xs+UI_UNIT_X && mval[0]<te->xend) {
+			
+			/* always makes active object */
+			if(tselem->type!=TSE_SEQUENCE && tselem->type!=TSE_SEQ_STRIP && tselem->type!=TSE_SEQUENCE_DUP)
+				tree_element_set_active_object(C, scene, soops, te, 1 + (extend!=0 && tselem->type==0));
+			
+			if(tselem->type==0) { // the lib blocks
+				/* editmode? */
+				if(te->idcode==ID_SCE) {
+					if(scene!=(Scene *)tselem->id) {
+						ED_screen_set_scene(C, (Scene *)tselem->id);
+					}
+				}
+				else if(te->idcode==ID_GR) {
+					Group *gr= (Group *)tselem->id;
+					GroupObject *gob;
+					
+					if(extend) {
+						int sel= BA_SELECT;
+						for(gob= gr->gobject.first; gob; gob= gob->next) {
+							if(gob->ob->flag & SELECT) {
+								sel= BA_DESELECT;
+								break;
+							}
+						}
+						
+						for(gob= gr->gobject.first; gob; gob= gob->next) {
+							ED_base_object_select(object_in_scene(gob->ob, scene), sel);
+						}
+					}
+					else {
+						scene_deselect_all(scene);
+						
+						for(gob= gr->gobject.first; gob; gob= gob->next) {
+							if((gob->ob->flag & SELECT) == 0)
+								ED_base_object_select(object_in_scene(gob->ob, scene), BA_SELECT);
+						}
+					}
+					
+					WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
+				}
+				else if(ELEM5(te->idcode, ID_ME, ID_CU, ID_MB, ID_LT, ID_AR)) {
+					WM_operator_name_call(C, "OBJECT_OT_editmode_toggle", WM_OP_INVOKE_REGION_WIN, NULL);
+				} else {	// rest of types
+					tree_element_active(C, scene, soops, te, 1);
+				}
+				
+			}
+			else tree_element_type_active(C, scene, soops, te, tselem, 1+(extend!=0));
+			
+			return 1;
+		}
+	}
+	
+	for(te= te->subtree.first; te; te= te->next) {
+		if(do_outliner_item_activate(C, scene, ar, soops, te, extend, mval)) return 1;
+	}
+	return 0;
+}
+
+/* event can enterkey, then it opens/closes */
+static int outliner_item_activate(bContext *C, wmOperator *op, wmEvent *event)
+{
+	Scene *scene= CTX_data_scene(C);
+	ARegion *ar= CTX_wm_region(C);
+	SpaceOops *soops= CTX_wm_space_outliner(C);
+	TreeElement *te;
+	float fmval[2];
+	int extend= RNA_boolean_get(op->ptr, "extend");
+
+	UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1], fmval, fmval+1);
+
+	if(!ELEM3(soops->outlinevis, SO_DATABLOCKS, SO_USERDEF, SO_KEYMAP) && !(soops->flag & SO_HIDE_RESTRICTCOLS) && fmval[0] > ar->v2d.cur.xmax - OL_TOG_RESTRICT_VIEWX)
+		return OPERATOR_CANCELLED;
+
+	for(te= soops->tree.first; te; te= te->next) {
+		if(do_outliner_item_activate(C, scene, ar, soops, te, extend, fmval)) break;
+	}
+	
+	if(te) {
+		ED_undo_push(C, "Outliner click event");
+	}
+	else {
+		short selecting= -1;
+		int row;
+		
+		/* get row number - 100 here is just a dummy value since we don't need the column */
+		UI_view2d_listview_view_to_cell(&ar->v2d, 1000, UI_UNIT_Y, 0.0f, OL_Y_OFFSET, 
+						fmval[0], fmval[1], NULL, &row);
+		
+		/* select relevant row */
+		outliner_select(soops, &soops->tree, &row, &selecting);
+		
+		soops->storeflag |= SO_TREESTORE_REDRAW;
+		
+		ED_undo_push(C, "Outliner selection event");
+	}
+	
+	ED_region_tag_redraw(ar);
+
+	return OPERATOR_FINISHED;
+}
+
+void OUTLINER_OT_item_activate(wmOperatorType *ot)
+{
+	ot->name= "Activate Item";
+	ot->idname= "OUTLINER_OT_item_activate";
+	ot->description= "Handle mouse clicks to activate/select items";
+	
+	ot->invoke= outliner_item_activate;
+	
+	ot->poll= ED_operator_outliner_active;
+	
+	RNA_def_boolean(ot->srna, "extend", 1, "Extend", "Extend selection for activation.");
+}
+
+/* ****************************************************** */
diff --git a/source/blender/editors/space_outliner/outliner_tools.c b/source/blender/editors/space_outliner/outliner_tools.c
new file mode 100644
index 00000000000..f5e1a67010e
--- /dev/null
+++ b/source/blender/editors/space_outliner/outliner_tools.c
@@ -0,0 +1,1217 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version. 
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) 2004 Blender Foundation.
+ * All rights reserved.
+ *
+ * The Original Code is: all of this file.
+ *
+ * Contributor(s): Joshua Leung
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/editors/space_outliner/outliner_tools.c
+ *  \ingroup spoutliner
+ */
+
+#include <math.h>
+#include <string.h>
+#include <stdlib.h>
+#include <stddef.h>
+
+#include "MEM_guardedalloc.h"
+
+#include "DNA_anim_types.h"
+#include "DNA_armature_types.h"
+#include "DNA_constraint_types.h"
+#include "DNA_camera_types.h"
+#include "DNA_group_types.h"
+#include "DNA_key_types.h"
+#include "DNA_lamp_types.h"
+#include "DNA_material_types.h"
+#include "DNA_mesh_types.h"
+#include "DNA_meta_types.h"
+#include "DNA_particle_types.h"
+#include "DNA_scene_types.h"
+#include "DNA_world_types.h"
+#include "DNA_sequence_types.h"
+#include "DNA_object_types.h"
+
+#include "BLI_blenlib.h"
+#include "BLI_utildefines.h"
+#include "BLI_math_base.h"
+
+#if defined WIN32 && !defined _LIBC
+# include "BLI_fnmatch.h" /* use fnmatch included in blenlib */
+#else
+#  ifndef _GNU_SOURCE
+#    define _GNU_SOURCE
+#  endif
+# include <fnmatch.h>
+#endif
+
+
+#include "BKE_animsys.h"
+#include "BKE_context.h"
+#include "BKE_deform.h"
+#include "BKE_depsgraph.h"
+#include "BKE_fcurve.h"
+#include "BKE_global.h"
+#include "BKE_group.h"
+#include "BKE_library.h"
+#include "BKE_main.h"
+#include "BKE_modifier.h"
+#include "BKE_report.h"
+#include "BKE_scene.h"
+#include "BKE_sequencer.h"
+
+#include "ED_armature.h"
+#include "ED_object.h"
+#include "ED_screen.h"
+#include "ED_util.h"
+
+#include "WM_api.h"
+#include "WM_types.h"
+
+#include "BIF_gl.h"
+#include "BIF_glutil.h"
+
+#include "UI_interface.h"
+#include "UI_interface_icons.h"
+#include "UI_resources.h"
+#include "UI_view2d.h"
+
+#include "RNA_access.h"
+#include "RNA_define.h"
+#include "RNA_enum_types.h"
+
+#include "outliner_intern.h"
+
+/* ****************************************************** */
+
+/* ************ SELECTION OPERATIONS ********* */
+
+static void set_operation_types(SpaceOops *soops, ListBase *lb,
+				int *scenelevel,
+				int *objectlevel,
+				int *idlevel,
+				int *datalevel)
+{
+	TreeElement *te;
+	TreeStoreElem *tselem;
+	
+	for(te= lb->first; te; te= te->next) {
+		tselem= TREESTORE(te);
+		if(tselem->flag & TSE_SELECTED) {
+			if(tselem->type) {
+				if(*datalevel==0) 
+					*datalevel= tselem->type;
+				else if(*datalevel!=tselem->type) 
+					*datalevel= -1;
+			}
+			else {
+				int idcode= GS(tselem->id->name);
+				switch(idcode) {
+					case ID_SCE:
+						*scenelevel= 1;
+						break;
+					case ID_OB:
+						*objectlevel= 1;
+						break;
+						
+					case ID_ME: case ID_CU: case ID_MB: case ID_LT:
+					case ID_LA: case ID_AR: case ID_CA: /* case ID_SPK: */ /* GSOC_PEPPER */
+					case ID_MA: case ID_TE: case ID_IP: case ID_IM:
+					case ID_SO: case ID_KE: case ID_WO: case ID_AC:
+					case ID_NLA: case ID_TXT: case ID_GR:
+						if(*idlevel==0) *idlevel= idcode;
+						else if(*idlevel!=idcode) *idlevel= -1;
+							break;
+				}
+			}
+		}
+		if((tselem->flag & TSE_CLOSED)==0) {
+			set_operation_types(soops, &te->subtree,
+								scenelevel, objectlevel, idlevel, datalevel);
+		}
+	}
+}
+
+#if 0 // GSOC_PEPPER
+
+static void unlink_action_cb(bContext *C, Scene *UNUSED(scene), TreeElement *UNUSED(te), TreeStoreElem *tsep, TreeStoreElem *UNUSED(tselem))
+{
+	/* just set action to NULL */
+	BKE_animdata_set_action(CTX_wm_reports(C), tsep->id, NULL);
+}
+
+#endif // GSOC_PEPPER
+
+static void unlink_material_cb(bContext *UNUSED(C), Scene *UNUSED(scene), TreeElement *te, TreeStoreElem *tsep, TreeStoreElem *UNUSED(tselem))
+{
+	Material **matar=NULL;
+	int a, totcol=0;
+	
+	if( GS(tsep->id->name)==ID_OB) {
+		Object *ob= (Object *)tsep->id;
+		totcol= ob->totcol;
+		matar= ob->mat;
+	}
+	else if( GS(tsep->id->name)==ID_ME) {
+		Mesh *me= (Mesh *)tsep->id;
+		totcol= me->totcol;
+		matar= me->mat;
+	}
+	else if( GS(tsep->id->name)==ID_CU) {
+		Curve *cu= (Curve *)tsep->id;
+		totcol= cu->totcol;
+		matar= cu->mat;
+	}
+	else if( GS(tsep->id->name)==ID_MB) {
+		MetaBall *mb= (MetaBall *)tsep->id;
+		totcol= mb->totcol;
+		matar= mb->mat;
+	}
+
+	for(a=0; a<totcol; a++) {
+		if(a==te->index && matar[a]) {
+			matar[a]->id.us--;
+			matar[a]= NULL;
+		}
+	}
+}
+
+static void unlink_texture_cb(bContext *UNUSED(C), Scene *UNUSED(scene), TreeElement *te, TreeStoreElem *tsep, TreeStoreElem *UNUSED(tselem))
+{
+	MTex **mtex= NULL;
+	int a;
+	
+	if( GS(tsep->id->name)==ID_MA) {
+		Material *ma= (Material *)tsep->id;
+		mtex= ma->mtex;
+	}
+	else if( GS(tsep->id->name)==ID_LA) {
+		Lamp *la= (Lamp *)tsep->id;
+		mtex= la->mtex;
+	}
+	else if( GS(tsep->id->name)==ID_WO) {
+		World *wrld= (World *)tsep->id;
+		mtex= wrld->mtex;
+	}
+	else return;
+	
+	for(a=0; a<MAX_MTEX; a++) {
+		if(a==te->index && mtex[a]) {
+			if(mtex[a]->tex) {
+				mtex[a]->tex->id.us--;
+				mtex[a]->tex= NULL;
+			}
+		}
+	}
+}
+
+static void unlink_group_cb(bContext *UNUSED(C), Scene *UNUSED(scene), TreeElement *UNUSED(te), TreeStoreElem *tsep, TreeStoreElem *tselem)
+{
+	Group *group= (Group *)tselem->id;
+	
+	if(tsep) {
+		if( GS(tsep->id->name)==ID_OB) {
+			Object *ob= (Object *)tsep->id;
+			ob->dup_group= NULL;
+		}
+	}
+	else {
+		unlink_group(group);
+	}
+}
+
+static void outliner_do_libdata_operation(bContext *C, Scene *scene, SpaceOops *soops, ListBase *lb, 
+										 void (*operation_cb)(bContext *C, Scene *scene, TreeElement *, TreeStoreElem *, TreeStoreElem *))
+{
+	TreeElement *te;
+	TreeStoreElem *tselem;
+	
+	for(te=lb->first; te; te= te->next) {
+		tselem= TREESTORE(te);
+		if(tselem->flag & TSE_SELECTED) {
+			if(tselem->type==0) {
+				TreeStoreElem *tsep= TREESTORE(te->parent);
+				operation_cb(C, scene, te, tsep, tselem);
+			}
+		}
+		if((tselem->flag & TSE_CLOSED)==0) {
+			outliner_do_libdata_operation(C, scene, soops, &te->subtree, operation_cb);
+		}
+	}
+}
+
+/* */
+
+static void object_select_cb(bContext *UNUSED(C), Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
+{
+	Base *base= (Base *)te->directdata;
+	
+	if(base==NULL) base= object_in_scene((Object *)tselem->id, scene);
+	if(base && ((base->object->restrictflag & OB_RESTRICT_VIEW)==0)) {
+		base->flag |= SELECT;
+		base->object->flag |= SELECT;
+	}
+}
+
+static void object_deselect_cb(bContext *UNUSED(C), Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
+{
+	Base *base= (Base *)te->directdata;
+	
+	if(base==NULL) base= object_in_scene((Object *)tselem->id, scene);
+	if(base) {
+		base->flag &= ~SELECT;
+		base->object->flag &= ~SELECT;
+	}
+}
+
+static void object_delete_cb(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
+{
+	Base *base= (Base *)te->directdata;
+	
+	if(base==NULL) 
+		base= object_in_scene((Object *)tselem->id, scene);
+	if(base) {
+		// check also library later
+		if(scene->obedit==base->object) 
+			ED_object_exit_editmode(C, EM_FREEDATA|EM_FREEUNDO|EM_WAITCURSOR|EM_DO_UNDO);
+		
+		ED_base_object_free_and_unlink(CTX_data_main(C), scene, base);
+		te->directdata= NULL;
+		tselem->id= NULL;
+	}
+
+}
+
+static void id_local_cb(bContext *UNUSED(C), Scene *UNUSED(scene), TreeElement *UNUSED(te), TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
+{
+	if (tselem->id->lib && (tselem->id->flag & LIB_EXTERN)) {
+		tselem->id->lib= NULL;
+		tselem->id->flag= LIB_LOCAL;
+		new_id(NULL, tselem->id, NULL);
+	}
+}
+
+static void id_fake_user_set_cb(bContext *UNUSED(C), Scene *UNUSED(scene), TreeElement *UNUSED(te), TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
+{
+	ID *id = tselem->id;
+	
+	if ((id) && ((id->flag & LIB_FAKEUSER) == 0)) {
+		id->flag |= LIB_FAKEUSER;
+		id_us_plus(id);
+	}
+}
+
+static void id_fake_user_clear_cb(bContext *UNUSED(C), Scene *UNUSED(scene), TreeElement *UNUSED(te), TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
+{
+	ID *id = tselem->id;
+	
+	if ((id) && (id->flag & LIB_FAKEUSER)) {
+		id->flag &= ~LIB_FAKEUSER;
+		id_us_min(id);
+	}
+}
+
+#if 0 // GSOC_PEPPER
+
+static void singleuser_action_cb(bContext *C, Scene *UNUSED(scene), TreeElement *UNUSED(te), TreeStoreElem *tsep, TreeStoreElem *tselem)
+{
+	ID *id = tselem->id;
+	
+	if (id) {
+		IdAdtTemplate *iat = (IdAdtTemplate *)tsep->id;
+		PointerRNA ptr = {{0}};
+		PropertyRNA *prop;
+		
+		RNA_pointer_create(&iat->id, &RNA_AnimData, iat->adt, &ptr);
+		prop = RNA_struct_find_property(&ptr, "action");
+		
+		id_single_user(C, id, &ptr, prop);
+	}
+}
+
+#endif
+
+static void group_linkobs2scene_cb(bContext *UNUSED(C), Scene *scene, TreeElement *UNUSED(te), TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
+{
+	Group *group= (Group *)tselem->id;
+	GroupObject *gob;
+	Base *base;
+	
+	for(gob=group->gobject.first; gob; gob=gob->next) {
+		base= object_in_scene(gob->ob, scene);
+		if (base) {
+			base->object->flag |= SELECT;
+			base->flag |= SELECT;
+		} else {
+			/* link to scene */
+			base= MEM_callocN( sizeof(Base), "add_base");
+			BLI_addhead(&scene->base, base);
+			base->lay= (1<<20)-1; /*v3d->lay;*/ /* would be nice to use the 3d layer but the include's not here */
+			gob->ob->flag |= SELECT;
+			base->flag = gob->ob->flag;
+			base->object= gob->ob;
+			id_lib_extern((ID *)gob->ob); /* incase these are from a linked group */
+		}
+	}
+}
+
+void outliner_do_object_operation(bContext *C, Scene *scene_act, SpaceOops *soops, ListBase *lb, 
+								  void (*operation_cb)(bContext *C, Scene *scene, TreeElement *, TreeStoreElem *, TreeStoreElem *))
+{
+	TreeElement *te;
+	TreeStoreElem *tselem;
+	
+	for(te=lb->first; te; te= te->next) {
+		tselem= TREESTORE(te);
+		if(tselem->flag & TSE_SELECTED) {
+			if(tselem->type==0 && te->idcode==ID_OB) {
+				// when objects selected in other scenes... dunno if that should be allowed
+				Scene *scene_owner= (Scene *)outliner_search_back(soops, te, ID_SCE);
+				if(scene_owner && scene_act != scene_owner) {
+					ED_screen_set_scene(C, scene_owner);
+				}
+				/* important to use 'scene_owner' not scene_act else deleting objects can crash.
+				 * only use 'scene_act' when 'scene_owner' is NULL, which can happen when the
+				 * outliner isnt showing scenes: Visible Layer draw mode for eg. */
+				operation_cb(C, scene_owner ? scene_owner : scene_act, te, NULL, tselem);
+			}
+		}
+		if((tselem->flag & TSE_CLOSED)==0) {
+			outliner_do_object_operation(C, scene_act, soops, &te->subtree, operation_cb);
+		}
+	}
+}
+
+/* ******************************************** */
+
+#if 0 // GSOC_PEPPER
+
+static void unlinkact_animdata_cb(int UNUSED(event), TreeElement *UNUSED(te), TreeStoreElem *tselem)
+{
+	/* just set action to NULL */
+	BKE_animdata_set_action(NULL, tselem->id, NULL);
+}
+
+#endif // GSOC_PEPPER
+
+static void cleardrivers_animdata_cb(int UNUSED(event), TreeElement *UNUSED(te), TreeStoreElem *tselem)
+{
+	IdAdtTemplate *iat = (IdAdtTemplate *)tselem->id;
+	
+	/* just free drivers - stored as a list of F-Curves */
+	free_fcurves(&iat->adt->drivers);
+}
+
+static void refreshdrivers_animdata_cb(int UNUSED(event), TreeElement *UNUSED(te), TreeStoreElem *tselem)
+{
+	IdAdtTemplate *iat = (IdAdtTemplate *)tselem->id;
+	FCurve *fcu;
+	
+	/* loop over drivers, performing refresh (i.e. check graph_buttons.c and rna_fcurve.c for details) */
+	for (fcu = iat->adt->drivers.first; fcu; fcu= fcu->next) {
+		fcu->flag &= ~FCURVE_DISABLED;
+		
+		if (fcu->driver)
+			fcu->driver->flag &= ~DRIVER_FLAG_INVALID;
+	}
+}
+
+/* --------------------------------- */
+
+static void pchan_cb(int event, TreeElement *te, TreeStoreElem *UNUSED(tselem))
+{
+	bPoseChannel *pchan= (bPoseChannel *)te->directdata;
+	
+	if(event==1)
+		pchan->bone->flag |= BONE_SELECTED;
+	else if(event==2)
+		pchan->bone->flag &= ~BONE_SELECTED;
+	else if(event==3) {
+		pchan->bone->flag |= BONE_HIDDEN_P;
+		pchan->bone->flag &= ~BONE_SELECTED;
+	}
+	else if(event==4)
+		pchan->bone->flag &= ~BONE_HIDDEN_P;
+}
+
+static void bone_cb(int event, TreeElement *te, TreeStoreElem *UNUSED(tselem))
+{
+	Bone *bone= (Bone *)te->directdata;
+	
+	if(event==1)
+		bone->flag |= BONE_SELECTED;
+	else if(event==2)
+		bone->flag &= ~BONE_SELECTED;
+	else if(event==3) {
+		bone->flag |= BONE_HIDDEN_P;
+		bone->flag &= ~BONE_SELECTED;
+	}
+	else if(event==4)
+		bone->flag &= ~BONE_HIDDEN_P;
+}
+
+static void ebone_cb(int event, TreeElement *te, TreeStoreElem *UNUSED(tselem))
+{
+	EditBone *ebone= (EditBone *)te->directdata;
+	
+	if(event==1)
+		ebone->flag |= BONE_SELECTED;
+	else if(event==2)
+		ebone->flag &= ~BONE_SELECTED;
+	else if(event==3) {
+		ebone->flag |= BONE_HIDDEN_A;
+		ebone->flag &= ~BONE_SELECTED|BONE_TIPSEL|BONE_ROOTSEL;
+	}
+	else if(event==4)
+		ebone->flag &= ~BONE_HIDDEN_A;
+}
+
+static void sequence_cb(int event, TreeElement *UNUSED(te), TreeStoreElem *UNUSED(tselem))
+{
+//	Sequence *seq= (Sequence*) te->directdata;
+	if(event==1) {
+// XXX		select_single_seq(seq, 1);
+	}
+}
+
+static void outliner_do_data_operation(SpaceOops *soops, int type, int event, ListBase *lb, 
+										 void (*operation_cb)(int, TreeElement *, TreeStoreElem *))
+{
+	TreeElement *te;
+	TreeStoreElem *tselem;
+	
+	for(te=lb->first; te; te= te->next) {
+		tselem= TREESTORE(te);
+		if(tselem->flag & TSE_SELECTED) {
+			if(tselem->type==type) {
+				operation_cb(event, te, tselem);
+			}
+		}
+		if((tselem->flag & TSE_CLOSED)==0) {
+			outliner_do_data_operation(soops, type, event, &te->subtree, operation_cb);
+		}
+	}
+}
+
+/* **************************************** */
+
+static EnumPropertyItem prop_object_op_types[] = {
+	{1, "SELECT", 0, "Select", ""},
+	{2, "DESELECT", 0, "Deselect", ""},
+	{4, "DELETE", 0, "Delete", ""},
+	{6, "TOGVIS", 0, "Toggle Visible", ""},
+	{7, "TOGSEL", 0, "Toggle Selectable", ""},
+	{8, "TOGREN", 0, "Toggle Renderable", ""},
+	{0, NULL, 0, NULL, NULL}
+};
+
+static int outliner_object_operation_exec(bContext *C, wmOperator *op)
+{
+	Main *bmain= CTX_data_main(C);
+	Scene *scene= CTX_data_scene(C);
+	SpaceOops *soops= CTX_wm_space_outliner(C);
+	int event;
+	const char *str= NULL;
+	
+	/* check for invalid states */
+	if (soops == NULL)
+		return OPERATOR_CANCELLED;
+	
+	event= RNA_enum_get(op->ptr, "type");
+
+	if(event==1) {
+		Scene *sce= scene;	// to be able to delete, scenes are set...
+		outliner_do_object_operation(C, scene, soops, &soops->tree, object_select_cb);
+		if(scene != sce) {
+			ED_screen_set_scene(C, sce);
+		}
+		
+		str= "Select Objects";
+		WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
+	}
+	else if(event==2) {
+		outliner_do_object_operation(C, scene, soops, &soops->tree, object_deselect_cb);
+		str= "Deselect Objects";
+		WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
+	}
+	else if(event==4) {
+		outliner_do_object_operation(C, scene, soops, &soops->tree, object_delete_cb);
+		DAG_scene_sort(bmain, scene);
+		str= "Delete Objects";
+		WM_event_add_notifier(C, NC_SCENE|ND_OB_ACTIVE, scene);
+	}
+	else if(event==5) {	/* disabled, see above enum (ton) */
+		outliner_do_object_operation(C, scene, soops, &soops->tree, id_local_cb);
+		str= "Localized Objects";
+	}
+	else if(event==6) {
+		outliner_do_object_operation(C, scene, soops, &soops->tree, object_toggle_visibility_cb);
+		str= "Toggle Visibility";
+		WM_event_add_notifier(C, NC_SCENE|ND_OB_VISIBLE, scene);
+	}
+	else if(event==7) {
+		outliner_do_object_operation(C, scene, soops, &soops->tree, object_toggle_selectability_cb);
+		str= "Toggle Selectability";
+		WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
+	}
+	else if(event==8) {
+		outliner_do_object_operation(C, scene, soops, &soops->tree, object_toggle_renderability_cb);
+		str= "Toggle Renderability";
+		WM_event_add_notifier(C, NC_SCENE|ND_OB_RENDER, scene);
+	}
+
+	ED_undo_push(C, str);
+	
+	return OPERATOR_FINISHED;
+}
+
+
+void OUTLINER_OT_object_operation(wmOperatorType *ot)
+{
+	/* identifiers */
+	ot->name= "Outliner Object Operation";
+	ot->idname= "OUTLINER_OT_object_operation";
+	ot->description= "";
+	
+	/* callbacks */
+	ot->invoke= WM_menu_invoke;
+	ot->exec= outliner_object_operation_exec;
+	ot->poll= ED_operator_outliner_active;
+	
+	ot->flag= 0;
+
+	ot->prop= RNA_def_enum(ot->srna, "type", prop_object_op_types, 0, "Object Operation", "");
+}
+
+/* **************************************** */
+
+static EnumPropertyItem prop_group_op_types[] = {
+	{1, "UNLINK", 0, "Unlink", ""},
+	{2, "LOCAL", 0, "Make Local", ""},
+	{3, "LINK", 0, "Link Group Objects to Scene", ""},
+	{4, "TOGVIS", 0, "Toggle Visible", ""},
+	{5, "TOGSEL", 0, "Toggle Selectable", ""},
+	{6, "TOGREN", 0, "Toggle Renderable", ""},
+	{0, NULL, 0, NULL, NULL}
+};
+
+static int outliner_group_operation_exec(bContext *C, wmOperator *op)
+{
+	Scene *scene= CTX_data_scene(C);
+	SpaceOops *soops= CTX_wm_space_outliner(C);
+	int event;
+	
+	/* check for invalid states */
+	if (soops == NULL)
+		return OPERATOR_CANCELLED;
+	
+	event= RNA_enum_get(op->ptr, "type");
+	
+	if(event==1) {
+		outliner_do_libdata_operation(C, scene, soops, &soops->tree, unlink_group_cb);
+		ED_undo_push(C, "Unlink group");
+	}
+	else if(event==2) {
+		outliner_do_libdata_operation(C, scene, soops, &soops->tree, id_local_cb);
+		ED_undo_push(C, "Localized Data");
+	}
+	else if(event==3) {
+		outliner_do_libdata_operation(C, scene, soops, &soops->tree, group_linkobs2scene_cb);
+		ED_undo_push(C, "Link Group Objects to Scene");
+	}
+	
+	
+	WM_event_add_notifier(C, NC_GROUP, NULL);
+	
+	return OPERATOR_FINISHED;
+}
+
+
+void OUTLINER_OT_group_operation(wmOperatorType *ot)
+{
+	/* identifiers */
+	ot->name= "Outliner Group Operation";
+	ot->idname= "OUTLINER_OT_group_operation";
+	ot->description= "";
+	
+	/* callbacks */
+	ot->invoke= WM_menu_invoke;
+	ot->exec= outliner_group_operation_exec;
+	ot->poll= ED_operator_outliner_active;
+	
+	ot->flag= 0;
+	
+	ot->prop= RNA_def_enum(ot->srna, "type", prop_group_op_types, 0, "Group Operation", "");
+}
+
+/* **************************************** */
+
+typedef enum eOutlinerIdOpTypes {
+	OUTLINER_IDOP_INVALID = 0,
+	
+	OUTLINER_IDOP_UNLINK,
+	OUTLINER_IDOP_LOCAL,
+	OUTLINER_IDOP_SINGLE,
+	
+	OUTLINER_IDOP_FAKE_ADD,
+	OUTLINER_IDOP_FAKE_CLEAR
+} eOutlinerIdOpTypes;
+
+// TODO: implement support for changing the ID-block used
+static EnumPropertyItem prop_id_op_types[] = {
+	{OUTLINER_IDOP_UNLINK, "UNLINK", 0, "Unlink", ""},
+	{OUTLINER_IDOP_LOCAL, "LOCAL", 0, "Make Local", ""},
+	{OUTLINER_IDOP_SINGLE, "SINGLE", 0, "Make Single User", ""},
+	{OUTLINER_IDOP_FAKE_ADD, "ADD_FAKE", 0, "Add Fake User", "Ensure datablock gets saved even if it isn't in use (e.g. for motion and material libraries)"},
+	{OUTLINER_IDOP_FAKE_CLEAR, "CLEAR_FAKE", 0, "Clear Fake User", ""},
+	{0, NULL, 0, NULL, NULL}
+};
+
+static int outliner_id_operation_exec(bContext *C, wmOperator *op)
+{
+	Scene *scene= CTX_data_scene(C);
+	SpaceOops *soops= CTX_wm_space_outliner(C);
+	int scenelevel=0, objectlevel=0, idlevel=0, datalevel=0;
+	eOutlinerIdOpTypes event;
+	
+	/* check for invalid states */
+	if (soops == NULL)
+		return OPERATOR_CANCELLED;
+	
+	set_operation_types(soops, &soops->tree, &scenelevel, &objectlevel, &idlevel, &datalevel);
+	
+	event= RNA_enum_get(op->ptr, "type");
+	
+	switch (event) {
+		case OUTLINER_IDOP_UNLINK:
+		{
+			/* unlink datablock from its parent */
+			switch (idlevel) {
+
+#if 0 // GSOC_PEPPER
+
+				case ID_AC:
+					outliner_do_libdata_operation(C, scene, soops, &soops->tree, unlink_action_cb);
+					
+					WM_event_add_notifier(C, NC_ANIMATION|ND_NLA_ACTCHANGE, NULL);
+					ED_undo_push(C, "Unlink action");
+					break;
+
+#endif // GSOC_PEPPER
+
+				case ID_MA:
+					outliner_do_libdata_operation(C, scene, soops, &soops->tree, unlink_material_cb);
+					
+					WM_event_add_notifier(C, NC_OBJECT|ND_OB_SHADING, NULL);
+					ED_undo_push(C, "Unlink material");
+					break;
+				case ID_TE:
+					outliner_do_libdata_operation(C, scene, soops, &soops->tree, unlink_texture_cb);
+					
+					WM_event_add_notifier(C, NC_OBJECT|ND_OB_SHADING, NULL);
+					ED_undo_push(C, "Unlink texture");
+					break;
+				default:
+					BKE_report(op->reports, RPT_WARNING, "Not Yet");
+					break;
+			}
+		}
+			break;
+			
+		case OUTLINER_IDOP_LOCAL:
+		{
+			/* make local */
+			outliner_do_libdata_operation(C, scene, soops, &soops->tree, id_local_cb);
+			ED_undo_push(C, "Localized Data");
+		}
+			break;
+			
+#if 0 // GSOC_PEPPER
+
+		case OUTLINER_IDOP_SINGLE:
+		{
+			/* make single user */
+			switch (idlevel) {
+				case ID_AC:
+					outliner_do_libdata_operation(C, scene, soops, &soops->tree, singleuser_action_cb);
+					
+					WM_event_add_notifier(C, NC_ANIMATION|ND_NLA_ACTCHANGE, NULL);
+					ED_undo_push(C, "Single-User Action");
+					break;
+					
+				default:
+					BKE_report(op->reports, RPT_WARNING, "Not Yet");
+					break;
+			}
+		}
+			break;
+			
+#endif // GSOC_PEPPER
+
+		case OUTLINER_IDOP_FAKE_ADD:
+		{
+			/* set fake user */
+			outliner_do_libdata_operation(C, scene, soops, &soops->tree, id_fake_user_set_cb);
+			
+			WM_event_add_notifier(C, NC_ID|NA_EDITED, NULL);
+			ED_undo_push(C, "Add Fake User");
+		}
+			break;
+			
+		case OUTLINER_IDOP_FAKE_CLEAR:
+		{
+			/* clear fake user */
+			outliner_do_libdata_operation(C, scene, soops, &soops->tree, id_fake_user_clear_cb);
+			
+			WM_event_add_notifier(C, NC_ID|NA_EDITED, NULL);
+			ED_undo_push(C, "Clear Fake User");
+		}
+			break;
+			
+		default:
+			// invalid - unhandled
+			break;
+	}
+	
+	/* wrong notifier still... */
+	WM_event_add_notifier(C, NC_ID|NA_EDITED, NULL);
+	
+	// XXX: this is just so that outliner is always up to date 
+	WM_event_add_notifier(C, NC_SPACE|ND_SPACE_OUTLINER, NULL);
+	
+	return OPERATOR_FINISHED;
+}
+
+
+void OUTLINER_OT_id_operation(wmOperatorType *ot)
+{
+	/* identifiers */
+	ot->name= "Outliner ID data Operation";
+	ot->idname= "OUTLINER_OT_id_operation";
+	ot->description= "";
+	
+	/* callbacks */
+	ot->invoke= WM_menu_invoke;
+	ot->exec= outliner_id_operation_exec;
+	ot->poll= ED_operator_outliner_active;
+	
+	ot->flag= 0;
+	
+	ot->prop= RNA_def_enum(ot->srna, "type", prop_id_op_types, 0, "ID data Operation", "");
+}
+
+/* **************************************** */
+
+static void outliner_do_id_set_operation(SpaceOops *soops, int type, ListBase *lb, ID *newid,
+										 void (*operation_cb)(TreeElement *, TreeStoreElem *, TreeStoreElem *, ID *))
+{
+	TreeElement *te;
+	TreeStoreElem *tselem;
+	
+	for (te=lb->first; te; te= te->next) {
+		tselem= TREESTORE(te);
+		if (tselem->flag & TSE_SELECTED) {
+			if(tselem->type==type) {
+				TreeStoreElem *tsep = TREESTORE(te->parent);
+				operation_cb(te, tselem, tsep, newid);
+			}
+		}
+		if ((tselem->flag & TSE_CLOSED)==0) {
+			outliner_do_id_set_operation(soops, type, &te->subtree, newid, operation_cb);
+		}
+	}
+}
+
+/* ------------------------------------------ */
+
+#if 0 // GSOC_PEPPER
+
+static void actionset_id_cb(TreeElement *te, TreeStoreElem *tselem, TreeStoreElem *tsep, ID *actId)
+{
+	bAction *act = (bAction *)actId;
+	
+	if (tselem->type == TSE_ANIM_DATA) {
+		/* "animation" entries - action is child of this */
+		BKE_animdata_set_action(NULL, tselem->id, act);
+	}
+	/* TODO: if any other "expander" channels which own actions need to support this menu, 
+	 * add: tselem->type = ...
+	 */
+	else if (tsep && (tsep->type == TSE_ANIM_DATA)) {
+		/* "animation" entries case again */
+		BKE_animdata_set_action(NULL, tsep->id, act);
+	}
+	// TODO: other cases not supported yet
+}
+
+static int outliner_action_set_exec(bContext *C, wmOperator *op)
+{
+	SpaceOops *soops= CTX_wm_space_outliner(C);
+	int scenelevel=0, objectlevel=0, idlevel=0, datalevel=0;
+	
+	bAction *act;
+	
+	/* check for invalid states */
+	if (soops == NULL)
+		return OPERATOR_CANCELLED;
+	set_operation_types(soops, &soops->tree, &scenelevel, &objectlevel, &idlevel, &datalevel);
+	
+	/* get action to use */
+	act= BLI_findlink(&CTX_data_main(C)->action, RNA_enum_get(op->ptr, "action"));
+	
+	if (act == NULL) {
+		BKE_report(op->reports, RPT_ERROR, "No valid Action to add.");
+		return OPERATOR_CANCELLED;
+	}
+	else if (act->idroot == 0) {
+		/* hopefully in this case (i.e. library of userless actions), the user knows what they're doing... */
+		BKE_reportf(op->reports, RPT_WARNING,
+			"Action '%s' does not specify what datablocks it can be used on. Try setting the 'ID Root Type' setting from the Datablocks Editor for this Action to avoid future problems",
+			act->id.name+2);
+	}
+	
+	/* perform action if valid channel */
+	if (datalevel == TSE_ANIM_DATA)
+		outliner_do_id_set_operation(soops, datalevel, &soops->tree, (ID*)act, actionset_id_cb);
+	else if (idlevel == ID_AC)
+		outliner_do_id_set_operation(soops, idlevel, &soops->tree, (ID*)act, actionset_id_cb);
+	else
+		return OPERATOR_CANCELLED;
+		
+	/* set notifier that things have changed */
+	WM_event_add_notifier(C, NC_ANIMATION|ND_NLA_ACTCHANGE, NULL);
+	ED_undo_push(C, "Set action");
+	
+	/* done */
+	return OPERATOR_FINISHED;
+}
+
+void OUTLINER_OT_action_set(wmOperatorType *ot)
+{
+	PropertyRNA *prop;
+
+	/* identifiers */
+	ot->name= "Outliner Set Action";
+	ot->idname= "OUTLINER_OT_action_set";
+	ot->description= "Change the active action used";
+	
+	/* api callbacks */
+	ot->invoke= WM_enum_search_invoke;
+	ot->exec= outliner_action_set_exec;
+	ot->poll= ED_operator_outliner_active;
+	
+	/* flags */
+	ot->flag= 0;
+	
+	/* props */
+		// TODO: this would be nicer as an ID-pointer...
+	prop= RNA_def_enum(ot->srna, "action", DummyRNA_NULL_items, 0, "Action", "");
+	RNA_def_enum_funcs(prop, RNA_action_itemf);
+	ot->prop= prop;
+}
+
+#endif // GSOC_PEPPER
+
+/* **************************************** */
+
+typedef enum eOutliner_AnimDataOps {
+	OUTLINER_ANIMOP_INVALID = 0,
+	
+	OUTLINER_ANIMOP_SET_ACT,
+	OUTLINER_ANIMOP_CLEAR_ACT,
+	
+	OUTLINER_ANIMOP_REFRESH_DRV,
+	OUTLINER_ANIMOP_CLEAR_DRV
+	
+	//OUTLINER_ANIMOP_COPY_DRIVERS,
+	//OUTLINER_ANIMOP_PASTE_DRIVERS
+} eOutliner_AnimDataOps;
+
+static EnumPropertyItem prop_animdata_op_types[] = {
+	{OUTLINER_ANIMOP_SET_ACT, "SET_ACT", 0, "Set Action", ""},
+	{OUTLINER_ANIMOP_CLEAR_ACT, "CLEAR_ACT", 0, "Unlink Action", ""},
+	{OUTLINER_ANIMOP_REFRESH_DRV, "REFRESH_DRIVERS", 0, "Refresh Drivers", ""},
+	//{OUTLINER_ANIMOP_COPY_DRIVERS, "COPY_DRIVERS", 0, "Copy Drivers", ""},
+	//{OUTLINER_ANIMOP_PASTE_DRIVERS, "PASTE_DRIVERS", 0, "Paste Drivers", ""},
+	{OUTLINER_ANIMOP_CLEAR_DRV, "CLEAR_DRIVERS", 0, "Clear Drivers", ""},
+	{0, NULL, 0, NULL, NULL}
+};
+
+static int outliner_animdata_operation_exec(bContext *C, wmOperator *op)
+{
+	SpaceOops *soops= CTX_wm_space_outliner(C);
+	int scenelevel=0, objectlevel=0, idlevel=0, datalevel=0;
+	eOutliner_AnimDataOps event;
+	short updateDeps = 0;
+	
+	/* check for invalid states */
+	if (soops == NULL)
+		return OPERATOR_CANCELLED;
+	
+	event= RNA_enum_get(op->ptr, "type");
+	set_operation_types(soops, &soops->tree, &scenelevel, &objectlevel, &idlevel, &datalevel);
+	
+	if (datalevel != TSE_ANIM_DATA)
+		return OPERATOR_CANCELLED;
+	
+	/* perform the core operation */
+	switch (event) {
+
+#if 0 // GSOC_PEPPER
+
+		case OUTLINER_ANIMOP_SET_ACT:
+			/* delegate once again... */
+			WM_operator_name_call(C, "OUTLINER_OT_action_set", WM_OP_INVOKE_REGION_WIN, NULL);
+			break;
+		
+		case OUTLINER_ANIMOP_CLEAR_ACT:
+			/* clear active action - using standard rules */
+			outliner_do_data_operation(soops, datalevel, event, &soops->tree, unlinkact_animdata_cb);
+			
+			WM_event_add_notifier(C, NC_ANIMATION|ND_NLA_ACTCHANGE, NULL);
+			ED_undo_push(C, "Unlink action");
+			break;
+			
+#endif // GSOC_PEPPER
+
+		case OUTLINER_ANIMOP_REFRESH_DRV:
+			outliner_do_data_operation(soops, datalevel, event, &soops->tree, refreshdrivers_animdata_cb);
+			
+			WM_event_add_notifier(C, NC_ANIMATION|ND_ANIMCHAN, NULL);
+			//ED_undo_push(C, "Refresh Drivers"); /* no undo needed - shouldn't have any impact? */
+			updateDeps = 1;
+			break;
+			
+		case OUTLINER_ANIMOP_CLEAR_DRV:
+			outliner_do_data_operation(soops, datalevel, event, &soops->tree, cleardrivers_animdata_cb);
+			
+			WM_event_add_notifier(C, NC_ANIMATION|ND_ANIMCHAN, NULL);
+			ED_undo_push(C, "Clear Drivers");
+			updateDeps = 1;
+			break;
+			
+		default: // invalid
+			break;
+	}
+	
+	/* update dependencies */
+	if (updateDeps) {
+		Main *bmain = CTX_data_main(C);
+		Scene *scene = CTX_data_scene(C);
+		
+		/* rebuild depsgraph for the new deps */
+		DAG_scene_sort(bmain, scene);
+		
+		/* force an update of depsgraph */
+		DAG_ids_flush_update(bmain, 0);
+	}
+	
+	return OPERATOR_FINISHED;
+}
+
+
+void OUTLINER_OT_animdata_operation(wmOperatorType *ot)
+{
+	/* identifiers */
+	ot->name= "Outliner Animation Data Operation";
+	ot->idname= "OUTLINER_OT_animdata_operation";
+	ot->description= "";
+	
+	/* callbacks */
+	ot->invoke= WM_menu_invoke;
+	ot->exec= outliner_animdata_operation_exec;
+	ot->poll= ED_operator_outliner_active;
+	
+	ot->flag= 0;
+	
+	ot->prop= RNA_def_enum(ot->srna, "type", prop_animdata_op_types, 0, "Animation Operation", "");
+}
+
+/* **************************************** */
+
+static EnumPropertyItem prop_data_op_types[] = {
+	{1, "SELECT", 0, "Select", ""},
+	{2, "DESELECT", 0, "Deselect", ""},
+	{3, "HIDE", 0, "Hide", ""},
+	{4, "UNHIDE", 0, "Unhide", ""},
+	{0, NULL, 0, NULL, NULL}
+};
+
+static int outliner_data_operation_exec(bContext *C, wmOperator *op)
+{
+	SpaceOops *soops= CTX_wm_space_outliner(C);
+	int scenelevel=0, objectlevel=0, idlevel=0, datalevel=0;
+	int event;
+	
+	/* check for invalid states */
+	if (soops == NULL)
+		return OPERATOR_CANCELLED;
+	
+	event= RNA_enum_get(op->ptr, "type");
+	set_operation_types(soops, &soops->tree, &scenelevel, &objectlevel, &idlevel, &datalevel);
+	
+	if(datalevel==TSE_POSE_CHANNEL) {
+		if(event>0) {
+			outliner_do_data_operation(soops, datalevel, event, &soops->tree, pchan_cb);
+			WM_event_add_notifier(C, NC_OBJECT|ND_POSE, NULL);
+			ED_undo_push(C, "PoseChannel operation");
+		}
+	}
+	else if(datalevel==TSE_BONE) {
+		if(event>0) {
+			outliner_do_data_operation(soops, datalevel, event, &soops->tree, bone_cb);
+			WM_event_add_notifier(C, NC_OBJECT|ND_POSE, NULL);
+			ED_undo_push(C, "Bone operation");
+		}
+	}
+	else if(datalevel==TSE_EBONE) {
+		if(event>0) {
+			outliner_do_data_operation(soops, datalevel, event, &soops->tree, ebone_cb);
+			WM_event_add_notifier(C, NC_OBJECT|ND_POSE, NULL);
+			ED_undo_push(C, "EditBone operation");
+		}
+	}
+	else if(datalevel==TSE_SEQUENCE) {
+		if(event>0) {
+			outliner_do_data_operation(soops, datalevel, event, &soops->tree, sequence_cb);
+		}
+	}
+	
+	return OPERATOR_FINISHED;
+}
+
+
+void OUTLINER_OT_data_operation(wmOperatorType *ot)
+{
+	/* identifiers */
+	ot->name= "Outliner Data Operation";
+	ot->idname= "OUTLINER_OT_data_operation";
+	ot->description= "";
+	
+	/* callbacks */
+	ot->invoke= WM_menu_invoke;
+	ot->exec= outliner_data_operation_exec;
+	ot->poll= ED_operator_outliner_active;
+	
+	ot->flag= 0;
+	
+	ot->prop= RNA_def_enum(ot->srna, "type", prop_data_op_types, 0, "Data Operation", "");
+}
+
+
+/* ******************** */
+
+
+static int do_outliner_operation_event(bContext *C, Scene *scene, ARegion *ar, SpaceOops *soops, TreeElement *te, wmEvent *event, const float mval[2])
+{
+	ReportList *reports = CTX_wm_reports(C); // XXX...
+	
+	if(mval[1]>te->ys && mval[1]<te->ys+UI_UNIT_Y) {
+		int scenelevel=0, objectlevel=0, idlevel=0, datalevel=0;
+		TreeStoreElem *tselem= TREESTORE(te);
+		
+		/* select object that's clicked on and popup context menu */
+		if (!(tselem->flag & TSE_SELECTED)) {
+			
+			if ( outliner_has_one_flag(soops, &soops->tree, TSE_SELECTED, 1) )
+				outliner_set_flag(soops, &soops->tree, TSE_SELECTED, 0);
+			
+			tselem->flag |= TSE_SELECTED;
+			/* redraw, same as outliner_select function */
+			soops->storeflag |= SO_TREESTORE_REDRAW;
+			ED_region_tag_redraw(ar);
+		}
+		
+		set_operation_types(soops, &soops->tree, &scenelevel, &objectlevel, &idlevel, &datalevel);
+		
+		if(scenelevel) {
+			//if(objectlevel || datalevel || idlevel) error("Mixed selection");
+			//else pupmenu("Scene Operations%t|Delete");
+		}
+		else if(objectlevel) {
+			WM_operator_name_call(C, "OUTLINER_OT_object_operation", WM_OP_INVOKE_REGION_WIN, NULL);
+		}
+		else if(idlevel) {
+			if(idlevel==-1 || datalevel) BKE_report(reports, RPT_WARNING, "Mixed selection");
+			else {
+				if (idlevel==ID_GR)
+					WM_operator_name_call(C, "OUTLINER_OT_group_operation", WM_OP_INVOKE_REGION_WIN, NULL);
+				else
+					WM_operator_name_call(C, "OUTLINER_OT_id_operation", WM_OP_INVOKE_REGION_WIN, NULL);
+			}
+		}
+		else if(datalevel) {
+			if(datalevel==-1) BKE_report(reports, RPT_WARNING, "Mixed selection");
+			else {
+				if (datalevel == TSE_ANIM_DATA)
+					WM_operator_name_call(C, "OUTLINER_OT_animdata_operation", WM_OP_INVOKE_REGION_WIN, NULL);
+				else if (datalevel == TSE_DRIVER_BASE)
+					/* do nothing... no special ops needed yet */;
+				else
+					WM_operator_name_call(C, "OUTLINER_OT_data_operation", WM_OP_INVOKE_REGION_WIN, NULL);
+			}
+		}
+		
+		return 1;
+	}
+	
+	for(te= te->subtree.first; te; te= te->next) {
+		if(do_outliner_operation_event(C, scene, ar, soops, te, event, mval)) 
+			return 1;
+	}
+	return 0;
+}
+
+
+static int outliner_operation(bContext *C, wmOperator *UNUSED(op), wmEvent *event)
+{
+	Scene *scene= CTX_data_scene(C);
+	ARegion *ar= CTX_wm_region(C);
+	SpaceOops *soops= CTX_wm_space_outliner(C);
+	TreeElement *te;
+	float fmval[2];
+	
+	UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1], fmval, fmval+1);
+	
+	for(te= soops->tree.first; te; te= te->next) {
+		if(do_outliner_operation_event(C, scene, ar, soops, te, event, fmval)) break;
+	}
+	
+	return OPERATOR_FINISHED;
+}
+
+/* Menu only! Calls other operators */
+void OUTLINER_OT_operation(wmOperatorType *ot)
+{
+	ot->name= "Execute Operation";
+	ot->idname= "OUTLINER_OT_operation";
+	ot->description= "Context menu for item operations";
+	
+	ot->invoke= outliner_operation;
+	
+	ot->poll= ED_operator_outliner_active;
+}
+
+/* ****************************************************** */
diff --git a/source/blender/editors/space_outliner/outliner_tree.c b/source/blender/editors/space_outliner/outliner_tree.c
new file mode 100644
index 00000000000..3560bfb9896
--- /dev/null
+++ b/source/blender/editors/space_outliner/outliner_tree.c
@@ -0,0 +1,1585 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version. 
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) 2004 Blender Foundation.
+ * All rights reserved.
+ *
+ * The Original Code is: all of this file.
+ *
+ * Contributor(s): Joshua Leung
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/editors/space_outliner/outliner_tree.c
+ *  \ingroup spoutliner
+ */
+ 
+#include <math.h>
+#include <string.h>
+#include <stdlib.h>
+#include <stddef.h>
+
+#include "MEM_guardedalloc.h"
+
+#include "DNA_anim_types.h"
+#include "DNA_armature_types.h"
+#include "DNA_constraint_types.h"
+#include "DNA_camera_types.h"
+#include "DNA_group_types.h"
+#include "DNA_key_types.h"
+#include "DNA_lamp_types.h"
+#include "DNA_material_types.h"
+#include "DNA_mesh_types.h"
+#include "DNA_meta_types.h"
+#include "DNA_particle_types.h"
+#include "DNA_scene_types.h"
+#include "DNA_world_types.h"
+#include "DNA_sequence_types.h"
+
+#if 0 // GSOC_PEPPER
+
+#include "DNA_speaker_types.h"
+
+#endif // GSOC_PEPPER
+
+#include "DNA_object_types.h"
+
+#include "BLI_blenlib.h"
+#include "BLI_utildefines.h"
+#include "BLI_math_base.h"
+
+#if defined WIN32 && !defined _LIBC
+# include "BLI_fnmatch.h" /* use fnmatch included in blenlib */
+#else
+#  ifndef _GNU_SOURCE
+#    define _GNU_SOURCE
+#  endif
+# include <fnmatch.h>
+#endif
+
+
+#include "BKE_animsys.h"
+#include "BKE_context.h"
+#include "BKE_deform.h"
+#include "BKE_depsgraph.h"
+#include "BKE_fcurve.h"
+#include "BKE_global.h"
+#include "BKE_group.h"
+#include "BKE_library.h"
+#include "BKE_main.h"
+#include "BKE_modifier.h"
+#include "BKE_report.h"
+#include "BKE_scene.h"
+#include "BKE_sequencer.h"
+
+#include "ED_armature.h"
+#include "ED_object.h"
+#include "ED_screen.h"
+#include "ED_util.h"
+
+#include "WM_api.h"
+#include "WM_types.h"
+
+#include "BIF_gl.h"
+#include "BIF_glutil.h"
+
+#include "UI_interface.h"
+#include "UI_interface_icons.h"
+#include "UI_resources.h"
+#include "UI_view2d.h"
+
+#include "RNA_access.h"
+#include "RNA_define.h"
+#include "RNA_enum_types.h"
+
+#include "outliner_intern.h"
+
+/* ********************************************************* */
+/* Defines */
+
+#define TS_CHUNK	128
+
+/* ********************************************************* */
+/* Persistant Data */
+
+static void outliner_storage_cleanup(SpaceOops *soops)
+{
+	TreeStore *ts= soops->treestore;
+	
+	if(ts) {
+		TreeStoreElem *tselem;
+		int a, unused= 0;
+		
+		/* each element used once, for ID blocks with more users to have each a treestore */
+		for(a=0, tselem= ts->data; a<ts->usedelem; a++, tselem++) tselem->used= 0;
+		
+		/* cleanup only after reading file or undo step, and always for
+		 * RNA datablocks view in order to save memory */
+		if(soops->storeflag & SO_TREESTORE_CLEANUP) {
+			
+			for(a=0, tselem= ts->data; a<ts->usedelem; a++, tselem++) {
+				if(tselem->id==NULL) unused++;
+			}
+			
+			if(unused) {
+				if(ts->usedelem == unused) {
+					MEM_freeN(ts->data);
+					ts->data= NULL;
+					ts->usedelem= ts->totelem= 0;
+				}
+				else {
+					TreeStoreElem *tsnewar, *tsnew;
+					
+					tsnew=tsnewar= MEM_mallocN((ts->usedelem-unused)*sizeof(TreeStoreElem), "new tselem");
+					for(a=0, tselem= ts->data; a<ts->usedelem; a++, tselem++) {
+						if(tselem->id) {
+							*tsnew= *tselem;
+							tsnew++;
+						}
+					}
+					MEM_freeN(ts->data);
+					ts->data= tsnewar;
+					ts->usedelem-= unused;
+					ts->totelem= ts->usedelem;
+				}
+			}
+		}
+	}
+}
+
+static void check_persistant(SpaceOops *soops, TreeElement *te, ID *id, short type, short nr)
+{
+	TreeStore *ts;
+	TreeStoreElem *tselem;
+	int a;
+	
+	/* case 1; no TreeStore */
+	if(soops->treestore==NULL) {
+		soops->treestore= MEM_callocN(sizeof(TreeStore), "treestore");
+	}
+	ts= soops->treestore;
+	
+	/* check if 'te' is in treestore */
+	tselem= ts->data;
+	for(a=0; a<ts->usedelem; a++, tselem++) {
+		if(tselem->id==id && tselem->used==0) {
+			if((type==0 && tselem->type==0) ||(tselem->type==type && tselem->nr==nr)) {
+				te->store_index= a;
+				tselem->used= 1;
+				return;
+			}
+		}
+	}
+	
+	/* add 1 element to treestore */
+	if(ts->usedelem==ts->totelem) {
+		TreeStoreElem *tsnew;
+		
+		tsnew= MEM_mallocN((ts->totelem+TS_CHUNK)*sizeof(TreeStoreElem), "treestore data");
+		if(ts->data) {
+			memcpy(tsnew, ts->data, ts->totelem*sizeof(TreeStoreElem));
+			MEM_freeN(ts->data);
+		}
+		ts->data= tsnew;
+		ts->totelem+= TS_CHUNK;
+	}
+	
+	tselem= ts->data+ts->usedelem;
+	
+	tselem->type= type;
+	if(type) tselem->nr= nr; // we're picky! :)
+	else tselem->nr= 0;
+	tselem->id= id;
+	tselem->used = 0;
+	tselem->flag= TSE_CLOSED;
+	te->store_index= ts->usedelem;
+	
+	ts->usedelem++;
+}
+
+/* ********************************************************* */
+/* Tree Management */
+
+void outliner_free_tree(ListBase *lb)
+{
+	while(lb->first) {
+		TreeElement *te= lb->first;
+		
+		outliner_free_tree(&te->subtree);
+		BLI_remlink(lb, te);
+		
+		if(te->flag & TE_FREE_NAME) MEM_freeN((void *)te->name);
+		MEM_freeN(te);
+	}
+}
+
+/* Find ith item from the treestore */
+TreeElement *outliner_find_tree_element(ListBase *lb, int store_index)
+{
+	TreeElement *te= lb->first, *tes;
+	while(te) {
+		if(te->store_index==store_index) return te;
+		tes= outliner_find_tree_element(&te->subtree, store_index);
+		if(tes) return tes;
+		te= te->next;
+	}
+	return NULL;
+}
+
+/* tse is not in the treestore, we use its contents to find a match */
+TreeElement *outliner_find_tse(SpaceOops *soops, TreeStoreElem *tse)
+{
+	TreeStore *ts= soops->treestore;
+	TreeStoreElem *tselem;
+	int a;
+	
+	if(tse->id==NULL) return NULL;
+	
+	/* check if 'tse' is in treestore */
+	tselem= ts->data;
+	for(a=0; a<ts->usedelem; a++, tselem++) {
+		if((tse->type==0 && tselem->type==0) || (tselem->type==tse->type && tselem->nr==tse->nr)) {
+			if(tselem->id==tse->id) {
+				break;
+			}
+		}
+	}
+	if(tselem) 
+		return outliner_find_tree_element(&soops->tree, a);
+	
+	return NULL;
+}
+
+/* Find treestore that refers to given ID */
+TreeElement *outliner_find_id(SpaceOops *soops, ListBase *lb, ID *id)
+{
+	TreeElement *te, *tes;
+	TreeStoreElem *tselem;
+	
+	for(te= lb->first; te; te= te->next) {
+		tselem= TREESTORE(te);
+		if(tselem->type==0) {
+			if(tselem->id==id) return te;
+			/* only deeper on scene or object */
+			if( te->idcode==ID_OB || te->idcode==ID_SCE || (soops->outlinevis == SO_GROUPS && te->idcode==ID_GR)) {
+				tes= outliner_find_id(soops, &te->subtree, id);
+				if(tes) return tes;
+			}
+		}
+	}
+	return NULL;
+}
+
+
+ID *outliner_search_back(SpaceOops *soops, TreeElement *te, short idcode)
+{
+	TreeStoreElem *tselem;
+	te= te->parent;
+	
+	while(te) {
+		tselem= TREESTORE(te);
+		if(tselem->type==0 && te->idcode==idcode) return tselem->id;
+		te= te->parent;
+	}
+	return NULL;
+}
+
+
+/* ********************************************************* */
+
+/* Prototype, see functions below */
+static TreeElement *outliner_add_element(SpaceOops *soops, ListBase *lb, void *idv, 
+										 TreeElement *parent, short type, short index);
+
+/* -------------------------------------------------------- */
+
+/* special handling of hierarchical non-lib data */
+static void outliner_add_bone(SpaceOops *soops, ListBase *lb, ID *id, Bone *curBone, 
+							  TreeElement *parent, int *a)
+{
+	TreeElement *te= outliner_add_element(soops, lb, id, parent, TSE_BONE, *a);
+	
+	(*a)++;
+	te->name= curBone->name;
+	te->directdata= curBone;
+	
+	for(curBone= curBone->childbase.first; curBone; curBone=curBone->next) {
+		outliner_add_bone(soops, &te->subtree, id, curBone, te, a);
+	}
+}
+
+/* -------------------------------------------------------- */
+
+#define LOG2I(x) (int)(log(x)/M_LN2)
+
+static void outliner_add_passes(SpaceOops *soops, TreeElement *tenla, ID *id, SceneRenderLayer *srl)
+{
+	TreeStoreElem *tselem = NULL;
+	TreeElement *te = NULL;
+
+	/* log stuff is to convert bitflags (powers of 2) to small integers,
+	 * in order to not overflow short tselem->nr */
+	
+	te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_COMBINED));
+	te->name= "Combined";
+	te->directdata= &srl->passflag;
+	
+	/* save cpu cycles, but we add the first to invoke an open/close triangle */
+	tselem = TREESTORE(tenla);
+	if(tselem->flag & TSE_CLOSED)
+		return;
+	
+	te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_Z));
+	te->name= "Z";
+	te->directdata= &srl->passflag;
+	
+	te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_VECTOR));
+	te->name= "Vector";
+	te->directdata= &srl->passflag;
+	
+	te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_NORMAL));
+	te->name= "Normal";
+	te->directdata= &srl->passflag;
+	
+	te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_UV));
+	te->name= "UV";
+	te->directdata= &srl->passflag;
+	
+	te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_MIST));
+	te->name= "Mist";
+	te->directdata= &srl->passflag;
+	
+	te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_INDEXOB));
+	te->name= "Index Object";
+	te->directdata= &srl->passflag;
+	
+	te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_INDEXMA));
+	te->name= "Index Material";
+	te->directdata= &srl->passflag;
+
+	te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_RGBA));
+	te->name= "Color";
+	te->directdata= &srl->passflag;
+	
+	te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_DIFFUSE));
+	te->name= "Diffuse";
+	te->directdata= &srl->passflag;
+	
+	te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_SPEC));
+	te->name= "Specular";
+	te->directdata= &srl->passflag;
+	
+	te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_SHADOW));
+	te->name= "Shadow";
+	te->directdata= &srl->passflag;
+	
+	te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_AO));
+	te->name= "AO";
+	te->directdata= &srl->passflag;
+	
+	te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_REFLECT));
+	te->name= "Reflection";
+	te->directdata= &srl->passflag;
+	
+	te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_REFRACT));
+	te->name= "Refraction";
+	te->directdata= &srl->passflag;
+	
+	te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_INDIRECT));
+	te->name= "Indirect";
+	te->directdata= &srl->passflag;
+
+	te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_ENVIRONMENT));
+	te->name= "Environment";
+	te->directdata= &srl->passflag;
+
+	te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_EMIT));
+	te->name= "Emit";
+	te->directdata= &srl->passflag;
+}
+
+#undef LOG2I
+
+static void outliner_add_scene_contents(SpaceOops *soops, ListBase *lb, Scene *sce, TreeElement *te)
+{
+	SceneRenderLayer *srl;
+	TreeElement *tenla= outliner_add_element(soops, lb, sce, te, TSE_R_LAYER_BASE, 0);
+	int a;
+	
+	tenla->name= "RenderLayers";
+	for(a=0, srl= sce->r.layers.first; srl; srl= srl->next, a++) {
+		TreeElement *tenlay= outliner_add_element(soops, &tenla->subtree, sce, te, TSE_R_LAYER, a);
+		tenlay->name= srl->name;
+		tenlay->directdata= &srl->passflag;
+		
+		if(srl->light_override)
+			outliner_add_element(soops, &tenlay->subtree, srl->light_override, tenlay, TSE_LINKED_LAMP, 0);
+		if(srl->mat_override)
+			outliner_add_element(soops, &tenlay->subtree, srl->mat_override, tenlay, TSE_LINKED_MAT, 0);
+		
+		outliner_add_passes(soops, tenlay, &sce->id, srl);
+	}
+	
+	// TODO: move this to the front?
+	if (sce->adt)
+		outliner_add_element(soops, lb, sce, te, TSE_ANIM_DATA, 0);
+	
+	outliner_add_element(soops,  lb, sce->world, te, 0, 0);
+}
+
+// can be inlined if necessary
+static void outliner_add_object_contents(SpaceOops *soops, TreeElement *te, TreeStoreElem *tselem, Object *ob)
+{
+	int a = 0;
+	
+	if (ob->adt)
+		outliner_add_element(soops, &te->subtree, ob, te, TSE_ANIM_DATA, 0);
+	
+	outliner_add_element(soops, &te->subtree, ob->poselib, te, 0, 0); // XXX FIXME.. add a special type for this
+	
+	if (ob->proxy && ob->id.lib==NULL)
+		outliner_add_element(soops, &te->subtree, ob->proxy, te, TSE_PROXY, 0);
+	
+	outliner_add_element(soops, &te->subtree, ob->data, te, 0, 0);
+	
+	if (ob->pose) {
+		bArmature *arm= ob->data;
+		bPoseChannel *pchan;
+		TreeElement *ten;
+		TreeElement *tenla= outliner_add_element(soops, &te->subtree, ob, te, TSE_POSE_BASE, 0);
+		
+		tenla->name= "Pose";
+		
+		/* channels undefined in editmode, but we want the 'tenla' pose icon itself */
+		if ((arm->edbo == NULL) && (ob->mode & OB_MODE_POSE)) {
+			int a= 0, const_index= 1000;	/* ensure unique id for bone constraints */
+			
+			for(pchan= ob->pose->chanbase.first; pchan; pchan= pchan->next, a++) {
+				ten= outliner_add_element(soops, &tenla->subtree, ob, tenla, TSE_POSE_CHANNEL, a);
+				ten->name= pchan->name;
+				ten->directdata= pchan;
+				pchan->prev= (bPoseChannel *)ten;
+				
+				if(pchan->constraints.first) {
+					//Object *target;
+					bConstraint *con;
+					TreeElement *ten1;
+					TreeElement *tenla1= outliner_add_element(soops, &ten->subtree, ob, ten, TSE_CONSTRAINT_BASE, 0);
+					//char *str;
+					
+					tenla1->name= "Constraints";
+					for(con= pchan->constraints.first; con; con= con->next, const_index++) {
+						ten1= outliner_add_element(soops, &tenla1->subtree, ob, tenla1, TSE_CONSTRAINT, const_index);
+#if 0 /* disabled as it needs to be reworked for recoded constraints system */
+						target= get_constraint_target(con, &str);
+						if(str && str[0]) ten1->name= str;
+						else if(target) ten1->name= target->id.name+2;
+						else ten1->name= con->name;
+#endif
+						ten1->name= con->name;
+						ten1->directdata= con;
+						/* possible add all other types links? */
+					}
+				}
+			}
+			/* make hierarchy */
+			ten= tenla->subtree.first;
+			while(ten) {
+				TreeElement *nten= ten->next, *par;
+				tselem= TREESTORE(ten);
+				if(tselem->type==TSE_POSE_CHANNEL) {
+					pchan= (bPoseChannel *)ten->directdata;
+					if(pchan->parent) {
+						BLI_remlink(&tenla->subtree, ten);
+						par= (TreeElement *)pchan->parent->prev;
+						BLI_addtail(&par->subtree, ten);
+						ten->parent= par;
+					}
+				}
+				ten= nten;
+			}
+			/* restore prev pointers */
+			pchan= ob->pose->chanbase.first;
+			if(pchan) pchan->prev= NULL;
+			for(; pchan; pchan= pchan->next) {
+				if(pchan->next) pchan->next->prev= pchan;
+			}
+		}
+		
+		/* Pose Groups */
+		if(ob->pose->agroups.first) {
+			bActionGroup *agrp;
+			TreeElement *ten;
+			TreeElement *tenla= outliner_add_element(soops, &te->subtree, ob, te, TSE_POSEGRP_BASE, 0);
+			int a= 0;
+			
+			tenla->name= "Bone Groups";
+			for (agrp=ob->pose->agroups.first; agrp; agrp=agrp->next, a++) {
+				ten= outliner_add_element(soops, &tenla->subtree, ob, tenla, TSE_POSEGRP, a);
+				ten->name= agrp->name;
+				ten->directdata= agrp;
+			}
+		}
+	}
+	
+	for(a=0; a<ob->totcol; a++) 
+		outliner_add_element(soops, &te->subtree, ob->mat[a], te, 0, a);
+	
+	if(ob->constraints.first) {
+		//Object *target;
+		bConstraint *con;
+		TreeElement *ten;
+		TreeElement *tenla= outliner_add_element(soops, &te->subtree, ob, te, TSE_CONSTRAINT_BASE, 0);
+		//char *str;
+		
+		tenla->name= "Constraints";
+		for (con=ob->constraints.first, a=0; con; con= con->next, a++) {
+			ten= outliner_add_element(soops, &tenla->subtree, ob, tenla, TSE_CONSTRAINT, a);
+#if 0 /* disabled due to constraints system targets recode... code here needs review */
+			target= get_constraint_target(con, &str);
+			if(str && str[0]) ten->name= str;
+			else if(target) ten->name= target->id.name+2;
+			else ten->name= con->name;
+#endif
+			ten->name= con->name;
+			ten->directdata= con;
+			/* possible add all other types links? */
+		}
+	}
+	
+	if (ob->modifiers.first) {
+		ModifierData *md;
+		TreeElement *temod = outliner_add_element(soops, &te->subtree, ob, te, TSE_MODIFIER_BASE, 0);
+		int index;
+		
+		temod->name = "Modifiers";
+		for (index=0,md=ob->modifiers.first; md; index++,md=md->next) {
+			TreeElement *te = outliner_add_element(soops, &temod->subtree, ob, temod, TSE_MODIFIER, index);
+			te->name= md->name;
+			te->directdata = md;
+			
+			if (md->type==eModifierType_Lattice) {
+				outliner_add_element(soops, &te->subtree, ((LatticeModifierData*) md)->object, te, TSE_LINKED_OB, 0);
+			} 
+			else if (md->type==eModifierType_Curve) {
+				outliner_add_element(soops, &te->subtree, ((CurveModifierData*) md)->object, te, TSE_LINKED_OB, 0);
+			} 
+			else if (md->type==eModifierType_Armature) {
+				outliner_add_element(soops, &te->subtree, ((ArmatureModifierData*) md)->object, te, TSE_LINKED_OB, 0);
+			} 
+			else if (md->type==eModifierType_Hook) {
+				outliner_add_element(soops, &te->subtree, ((HookModifierData*) md)->object, te, TSE_LINKED_OB, 0);
+			} 
+			else if (md->type==eModifierType_ParticleSystem) {
+				TreeElement *ten;
+				ParticleSystem *psys= ((ParticleSystemModifierData*) md)->psys;
+				
+				ten = outliner_add_element(soops, &te->subtree, ob, te, TSE_LINKED_PSYS, 0);
+				ten->directdata = psys;
+				ten->name = psys->part->id.name+2;
+			}
+		}
+	}
+	
+	/* vertex groups */
+	if (ob->defbase.first) {
+		bDeformGroup *defgroup;
+		TreeElement *ten;
+		TreeElement *tenla= outliner_add_element(soops, &te->subtree, ob, te, TSE_DEFGROUP_BASE, 0);
+		
+		tenla->name= "Vertex Groups";
+		for (defgroup=ob->defbase.first, a=0; defgroup; defgroup=defgroup->next, a++) {
+			ten= outliner_add_element(soops, &tenla->subtree, ob, tenla, TSE_DEFGROUP, a);
+			ten->name= defgroup->name;
+			ten->directdata= defgroup;
+		}
+	}
+	
+	/* duplicated group */
+	if (ob->dup_group)
+		outliner_add_element(soops, &te->subtree, ob->dup_group, te, 0, 0);	
+}
+
+// can be inlined if necessary
+static void outliner_add_id_contents(SpaceOops *soops, TreeElement *te, TreeStoreElem *tselem, ID *id)
+{
+	/* tuck pointer back in object, to construct hierarchy */
+	if (GS(id->name)==ID_OB) id->newid= (ID *)te;
+	
+	/* expand specific data always */
+	switch (GS(id->name)) {
+		case ID_LI:
+		{
+			te->name= ((Library *)id)->name;
+		}
+			break;
+		case ID_SCE:
+		{
+			outliner_add_scene_contents(soops, &te->subtree, (Scene *)id, te);
+		}
+			break;
+		case ID_OB:
+		{
+			outliner_add_object_contents(soops, te, tselem, (Object *)id);
+		}
+			break;
+		case ID_ME:
+		{
+			Mesh *me= (Mesh *)id;
+			int a;
+			
+			if (me->adt)
+				outliner_add_element(soops, &te->subtree, me, te, TSE_ANIM_DATA, 0);
+			
+			outliner_add_element(soops, &te->subtree, me->key, te, 0, 0);
+			for(a=0; a<me->totcol; a++) 
+				outliner_add_element(soops, &te->subtree, me->mat[a], te, 0, a);
+			/* could do tfaces with image links, but the images are not grouped nicely.
+			   would require going over all tfaces, sort images in use. etc... */
+		}
+			break;
+		case ID_CU:
+		{
+			Curve *cu= (Curve *)id;
+			int a;
+			
+			if (cu->adt)
+				outliner_add_element(soops, &te->subtree, cu, te, TSE_ANIM_DATA, 0);
+			
+			for(a=0; a<cu->totcol; a++) 
+				outliner_add_element(soops, &te->subtree, cu->mat[a], te, 0, a);
+		}
+			break;
+		case ID_MB:
+		{
+			MetaBall *mb= (MetaBall *)id;
+			int a;
+			
+			if (mb->adt)
+				outliner_add_element(soops, &te->subtree, mb, te, TSE_ANIM_DATA, 0);
+			
+			for(a=0; a<mb->totcol; a++) 
+				outliner_add_element(soops, &te->subtree, mb->mat[a], te, 0, a);
+		}
+			break;
+		case ID_MA:
+		{
+			Material *ma= (Material *)id;
+			int a;
+			
+			if (ma->adt)
+				outliner_add_element(soops, &te->subtree, ma, te, TSE_ANIM_DATA, 0);
+			
+			for(a=0; a<MAX_MTEX; a++) {
+				if(ma->mtex[a]) outliner_add_element(soops, &te->subtree, ma->mtex[a]->tex, te, 0, a);
+			}
+		}
+			break;
+		case ID_TE:
+		{
+			Tex *tex= (Tex *)id;
+			
+			if (tex->adt)
+				outliner_add_element(soops, &te->subtree, tex, te, TSE_ANIM_DATA, 0);
+			
+			outliner_add_element(soops, &te->subtree, tex->ima, te, 0, 0);
+		}
+			break;
+		case ID_CA:
+		{
+			Camera *ca= (Camera *)id;
+			
+			if (ca->adt)
+				outliner_add_element(soops, &te->subtree, ca, te, TSE_ANIM_DATA, 0);
+		}
+			break;
+		case ID_LA:
+		{
+			Lamp *la= (Lamp *)id;
+			int a;
+			
+			if (la->adt)
+				outliner_add_element(soops, &te->subtree, la, te, TSE_ANIM_DATA, 0);
+			
+			for(a=0; a<MAX_MTEX; a++) {
+				if(la->mtex[a]) outliner_add_element(soops, &te->subtree, la->mtex[a]->tex, te, 0, a);
+			}
+		}
+			break;
+
+#if 0 // GSOC_PEPPER
+
+		case ID_SPK:
+			{
+				Speaker *spk= (Speaker *)id;
+
+				if(spk->adt)
+					outliner_add_element(soops, &te->subtree, spk, te, TSE_ANIM_DATA, 0);
+			}
+			break;
+
+#endif // GSOC_PEPPER
+
+		case ID_WO:
+		{
+			World *wrld= (World *)id;
+			int a;
+			
+			if (wrld->adt)
+				outliner_add_element(soops, &te->subtree, wrld, te, TSE_ANIM_DATA, 0);
+			
+			for(a=0; a<MAX_MTEX; a++) {
+				if(wrld->mtex[a]) outliner_add_element(soops, &te->subtree, wrld->mtex[a]->tex, te, 0, a);
+			}
+		}
+			break;
+		case ID_KE:
+		{
+			Key *key= (Key *)id;
+			
+			if (key->adt)
+				outliner_add_element(soops, &te->subtree, key, te, TSE_ANIM_DATA, 0);
+		}
+			break;
+		case ID_AC:
+		{
+			// XXX do we want to be exposing the F-Curves here?
+			//bAction *act= (bAction *)id;
+		}
+			break;
+		case ID_AR:
+		{
+			bArmature *arm= (bArmature *)id;
+			int a= 0;
+			
+			if (arm->adt)
+				outliner_add_element(soops, &te->subtree, arm, te, TSE_ANIM_DATA, 0);
+			
+			if(arm->edbo) {
+				EditBone *ebone;
+				TreeElement *ten;
+				
+				for (ebone = arm->edbo->first; ebone; ebone=ebone->next, a++) {
+					ten= outliner_add_element(soops, &te->subtree, id, te, TSE_EBONE, a);
+					ten->directdata= ebone;
+					ten->name= ebone->name;
+					ebone->temp= ten;
+				}
+				/* make hierarchy */
+				ten= te->subtree.first;
+				while(ten) {
+					TreeElement *nten= ten->next, *par;
+					ebone= (EditBone *)ten->directdata;
+					if(ebone->parent) {
+						BLI_remlink(&te->subtree, ten);
+						par= ebone->parent->temp;
+						BLI_addtail(&par->subtree, ten);
+						ten->parent= par;
+					}
+					ten= nten;
+				}
+			}
+			else {
+				/* do not extend Armature when we have posemode */
+				tselem= TREESTORE(te->parent);
+				if( GS(tselem->id->name)==ID_OB && ((Object *)tselem->id)->mode & OB_MODE_POSE);
+				else {
+					Bone *curBone;
+					for (curBone=arm->bonebase.first; curBone; curBone=curBone->next){
+						outliner_add_bone(soops, &te->subtree, id, curBone, te, &a);
+					}
+				}
+			}
+		}
+			break;
+	}
+}
+
+// TODO: this function needs to be split up! It's getting a bit too large...
+static TreeElement *outliner_add_element(SpaceOops *soops, ListBase *lb, void *idv, 
+										 TreeElement *parent, short type, short index)
+{
+	TreeElement *te;
+	TreeStoreElem *tselem;
+	ID *id= idv;
+	int a = 0;
+	
+	if(ELEM3(type, TSE_RNA_STRUCT, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM)) {
+		id= ((PointerRNA*)idv)->id.data;
+		if(!id) id= ((PointerRNA*)idv)->data;
+	}
+
+	if(id==NULL) return NULL;
+
+	te= MEM_callocN(sizeof(TreeElement), "tree elem");
+	/* add to the visual tree */
+	BLI_addtail(lb, te);
+	/* add to the storage */
+	check_persistant(soops, te, id, type, index);
+	tselem= TREESTORE(te);	
+	
+	te->parent= parent;
+	te->index= index;	// for data arays
+	if(ELEM3(type, TSE_SEQUENCE, TSE_SEQ_STRIP, TSE_SEQUENCE_DUP));
+	else if(ELEM3(type, TSE_RNA_STRUCT, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM));
+	else if(type==TSE_ANIM_DATA);
+	else {
+		te->name= id->name+2; // default, can be overridden by Library or non-ID data
+		te->idcode= GS(id->name);
+	}
+	
+	if(type==0) {
+		/* ID datablock */
+		outliner_add_id_contents(soops, te, tselem, id);
+	}
+	else if(type==TSE_ANIM_DATA) {
+		IdAdtTemplate *iat = (IdAdtTemplate *)idv;
+		AnimData *adt= (AnimData *)iat->adt;
+		
+		/* this element's info */
+		te->name= "Animation";
+		te->directdata= adt;
+		
+		/* Action */
+		outliner_add_element(soops, &te->subtree, adt->action, te, 0, 0);
+		
+		/* Drivers */
+		if (adt->drivers.first) {
+			TreeElement *ted= outliner_add_element(soops, &te->subtree, adt, te, TSE_DRIVER_BASE, 0);
+			ID *lastadded= NULL;
+			FCurve *fcu;
+			
+			ted->name= "Drivers";
+		
+			for (fcu= adt->drivers.first; fcu; fcu= fcu->next) {
+				if (fcu->driver && fcu->driver->variables.first)  {
+					ChannelDriver *driver= fcu->driver;
+					DriverVar *dvar;
+					
+					for (dvar= driver->variables.first; dvar; dvar= dvar->next) {
+						/* loop over all targets used here */
+						DRIVER_TARGETS_USED_LOOPER(dvar) 
+						{
+							if (lastadded != dtar->id) {
+								// XXX this lastadded check is rather lame, and also fails quite badly...
+								outliner_add_element(soops, &ted->subtree, dtar->id, ted, TSE_LINKED_OB, 0);
+								lastadded= dtar->id;
+							}
+						}
+						DRIVER_TARGETS_LOOPER_END
+					}
+				}
+			}
+		}
+		
+		/* NLA Data */
+		if (adt->nla_tracks.first) {
+			TreeElement *tenla= outliner_add_element(soops, &te->subtree, adt, te, TSE_NLA, 0);
+			NlaTrack *nlt;
+			int a= 0;
+			
+			tenla->name= "NLA Tracks";
+			
+			for (nlt= adt->nla_tracks.first; nlt; nlt= nlt->next) {
+				TreeElement *tenlt= outliner_add_element(soops, &tenla->subtree, nlt, tenla, TSE_NLA_TRACK, a);
+				NlaStrip *strip;
+				TreeElement *ten;
+				int b= 0;
+				
+				tenlt->name= nlt->name;
+				
+				for (strip=nlt->strips.first; strip; strip=strip->next, b++) {
+					ten= outliner_add_element(soops, &tenlt->subtree, strip->act, tenlt, TSE_NLA_ACTION, b);
+					if(ten) ten->directdata= strip;
+				}
+			}
+		}
+	}
+	else if(type==TSE_SEQUENCE) {
+		Sequence *seq= (Sequence*) idv;
+		Sequence *p;
+
+		/*
+		 * The idcode is a little hack, but the outliner
+		 * only check te->idcode if te->type is equal to zero,
+		 * so this is "safe".
+		 */
+		te->idcode= seq->type;
+		te->directdata= seq;
+
+		if(seq->type<7) {
+			/*
+			 * This work like the sequence.
+			 * If the sequence have a name (not default name)
+			 * show it, in other case put the filename.
+			 */
+			if(strcmp(seq->name, "SQ"))
+				te->name= seq->name;
+			else {
+				if((seq->strip) && (seq->strip->stripdata))
+					te->name= seq->strip->stripdata->name;
+				else
+					te->name= "SQ None";
+			}
+
+			if(seq->type==SEQ_META) {
+				te->name= "Meta Strip";
+				p= seq->seqbase.first;
+				while(p) {
+					outliner_add_element(soops, &te->subtree, (void*)p, te, TSE_SEQUENCE, index);
+					p= p->next;
+				}
+			}
+			else
+				outliner_add_element(soops, &te->subtree, (void*)seq->strip, te, TSE_SEQ_STRIP, index);
+		}
+		else
+			te->name= "Effect";
+	}
+	else if(type==TSE_SEQ_STRIP) {
+		Strip *strip= (Strip *)idv;
+
+		if(strip->dir)
+			te->name= strip->dir;
+		else
+			te->name= "Strip None";
+		te->directdata= strip;
+	}
+	else if(type==TSE_SEQUENCE_DUP) {
+		Sequence *seq= (Sequence*)idv;
+
+		te->idcode= seq->type;
+		te->directdata= seq;
+		te->name= seq->strip->stripdata->name;
+	}
+	else if(ELEM3(type, TSE_RNA_STRUCT, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM)) {
+		PointerRNA pptr, propptr, *ptr= (PointerRNA*)idv;
+		PropertyRNA *prop, *iterprop;
+		PropertyType proptype;
+		int a, tot;
+
+		/* we do lazy build, for speed and to avoid infinite recusion */
+
+		if(ptr->data == NULL) {
+			te->name= "(empty)";
+		}
+		else if(type == TSE_RNA_STRUCT) {
+			/* struct */
+			te->name= RNA_struct_name_get_alloc(ptr, NULL, 0);
+
+			if(te->name)
+				te->flag |= TE_FREE_NAME;
+			else
+				te->name= (char*)RNA_struct_ui_name(ptr->type);
+
+			iterprop= RNA_struct_iterator_property(ptr->type);
+			tot= RNA_property_collection_length(ptr, iterprop);
+
+			/* auto open these cases */
+			if(!parent || (RNA_property_type(parent->directdata)) == PROP_POINTER)
+				if(!tselem->used)
+					tselem->flag &= ~TSE_CLOSED;
+
+			if(!(tselem->flag & TSE_CLOSED)) {
+				for(a=0; a<tot; a++)
+					outliner_add_element(soops, &te->subtree, (void*)ptr, te, TSE_RNA_PROPERTY, a);
+			}
+			else if(tot)
+				te->flag |= TE_LAZY_CLOSED;
+
+			te->rnaptr= *ptr;
+		}
+		else if(type == TSE_RNA_PROPERTY) {
+			/* property */
+			iterprop= RNA_struct_iterator_property(ptr->type);
+			RNA_property_collection_lookup_int(ptr, iterprop, index, &propptr);
+
+			prop= propptr.data;
+			proptype= RNA_property_type(prop);
+
+			te->name= (char*)RNA_property_ui_name(prop);
+			te->directdata= prop;
+			te->rnaptr= *ptr;
+
+			if(proptype == PROP_POINTER) {
+				pptr= RNA_property_pointer_get(ptr, prop);
+
+				if(pptr.data) {
+					if(!(tselem->flag & TSE_CLOSED))
+						outliner_add_element(soops, &te->subtree, (void*)&pptr, te, TSE_RNA_STRUCT, -1);
+					else
+						te->flag |= TE_LAZY_CLOSED;
+				}
+			}
+			else if(proptype == PROP_COLLECTION) {
+				tot= RNA_property_collection_length(ptr, prop);
+
+				if(!(tselem->flag & TSE_CLOSED)) {
+					for(a=0; a<tot; a++) {
+						RNA_property_collection_lookup_int(ptr, prop, a, &pptr);
+						outliner_add_element(soops, &te->subtree, (void*)&pptr, te, TSE_RNA_STRUCT, a);
+					}
+				}
+				else if(tot)
+					te->flag |= TE_LAZY_CLOSED;
+			}
+			else if(ELEM3(proptype, PROP_BOOLEAN, PROP_INT, PROP_FLOAT)) {
+				tot= RNA_property_array_length(ptr, prop);
+
+				if(!(tselem->flag & TSE_CLOSED)) {
+					for(a=0; a<tot; a++)
+						outliner_add_element(soops, &te->subtree, (void*)ptr, te, TSE_RNA_ARRAY_ELEM, a);
+				}
+				else if(tot)
+					te->flag |= TE_LAZY_CLOSED;
+			}
+		}
+		else if(type == TSE_RNA_ARRAY_ELEM) {
+			char c;
+
+			prop= parent->directdata;
+
+			te->directdata= prop;
+			te->rnaptr= *ptr;
+			te->index= index;
+
+			c= RNA_property_array_item_char(prop, index);
+
+			te->name= MEM_callocN(sizeof(char)*20, "OutlinerRNAArrayName");
+			if(c) sprintf((char *)te->name, "  %c", c);
+			else sprintf((char *)te->name, "  %d", index+1);
+			te->flag |= TE_FREE_NAME;
+		}
+	}
+	else if(type == TSE_KEYMAP) {
+		wmKeyMap *km= (wmKeyMap *)idv;
+		wmKeyMapItem *kmi;
+		char opname[OP_MAX_TYPENAME];
+		
+		te->directdata= idv;
+		te->name= km->idname;
+		
+		if(!(tselem->flag & TSE_CLOSED)) {
+			a= 0;
+			
+			for (kmi= km->items.first; kmi; kmi= kmi->next, a++) {
+				const char *key= WM_key_event_string(kmi->type);
+				
+				if(key[0]) {
+					wmOperatorType *ot= NULL;
+					
+					if(kmi->propvalue);
+					else ot= WM_operatortype_find(kmi->idname, 0);
+					
+					if(ot || kmi->propvalue) {
+						TreeElement *ten= outliner_add_element(soops, &te->subtree, kmi, te, TSE_KEYMAP_ITEM, a);
+						
+						ten->directdata= kmi;
+						
+						if(kmi->propvalue) {
+							ten->name= "Modal map, not yet";
+						}
+						else {
+							WM_operator_py_idname(opname, ot->idname);
+							ten->name= BLI_strdup(opname);
+							ten->flag |= TE_FREE_NAME;
+						}
+					}
+				}
+			}
+		}
+		else 
+			te->flag |= TE_LAZY_CLOSED;
+	}
+
+	return te;
+}
+
+/* ======================================================= */
+/* Sequencer mode tree building */
+
+/* Helped function to put duplicate sequence in the same tree. */
+static int need_add_seq_dup(Sequence *seq)
+{
+	Sequence *p;
+
+	if((!seq->strip) || (!seq->strip->stripdata) || (!seq->strip->stripdata->name))
+		return(1);
+
+	/*
+	 * First check backward, if we found a duplicate
+	 * sequence before this, don't need it, just return.
+	 */
+	p= seq->prev;
+	while(p) {
+		if((!p->strip) || (!p->strip->stripdata) || (!p->strip->stripdata->name)) {
+			p= p->prev;
+			continue;
+		}
+
+		if(!strcmp(p->strip->stripdata->name, seq->strip->stripdata->name))
+			return(2);
+		p= p->prev;
+	}
+
+	p= seq->next;
+	while(p) {
+		if((!p->strip) || (!p->strip->stripdata) || (!p->strip->stripdata->name)) {
+			p= p->next;
+			continue;
+		}
+
+		if(!strcmp(p->strip->stripdata->name, seq->strip->stripdata->name))
+			return(0);
+		p= p->next;
+	}
+	return(1);
+}
+
+static void outliner_add_seq_dup(SpaceOops *soops, Sequence *seq, TreeElement *te, short index)
+{
+	TreeElement *ch;
+	Sequence *p;
+
+	p= seq;
+	while(p) {
+		if((!p->strip) || (!p->strip->stripdata) || (!p->strip->stripdata->name)) {
+			p= p->next;
+			continue;
+		}
+
+		if(!strcmp(p->strip->stripdata->name, seq->strip->stripdata->name))
+			ch= outliner_add_element(soops, &te->subtree, (void*)p, te, TSE_SEQUENCE, index);
+		p= p->next;
+	}
+}
+
+/* ======================================================= */
+/* Generic Tree Building helpers - order these are called is top to bottom */
+
+/* Hierarchy --------------------------------------------- */
+
+/* make sure elements are correctly nested */
+static void outliner_make_hierarchy(SpaceOops *soops, ListBase *lb)
+{
+	TreeElement *te, *ten, *tep;
+	TreeStoreElem *tselem;
+
+	/* build hierarchy */
+	// XXX also, set extents here...
+	te= lb->first;
+	while(te) {
+		ten= te->next;
+		tselem= TREESTORE(te);
+		
+		if(tselem->type==0 && te->idcode==ID_OB) {
+			Object *ob= (Object *)tselem->id;
+			if(ob->parent && ob->parent->id.newid) {
+				BLI_remlink(lb, te);
+				tep= (TreeElement *)ob->parent->id.newid;
+				BLI_addtail(&tep->subtree, te);
+				// set correct parent pointers
+				for(te=tep->subtree.first; te; te= te->next) te->parent= tep;
+			}
+		}
+		te= ten;
+	}
+}
+
+/* Sorting ------------------------------------------------------ */
+
+typedef struct tTreeSort {
+	TreeElement *te;
+	ID *id;
+	const char *name;
+	short idcode;
+} tTreeSort;
+
+/* alphabetical comparator */
+static int treesort_alpha(const void *v1, const void *v2)
+{
+	const tTreeSort *x1= v1, *x2= v2;
+	int comp;
+	
+	/* first put objects last (hierarchy) */
+	comp= (x1->idcode==ID_OB);
+	if(x2->idcode==ID_OB) comp+=2;
+	
+	if(comp==1) return 1;
+	else if(comp==2) return -1;
+	else if(comp==3) {
+		comp= strcmp(x1->name, x2->name);
+		
+		if( comp>0 ) return 1;
+		else if( comp<0) return -1;
+		return 0;
+	}
+	return 0;
+}
+
+/* this is nice option for later? doesnt look too useful... */
+#if 0
+static int treesort_obtype_alpha(const void *v1, const void *v2)
+{
+	const tTreeSort *x1= v1, *x2= v2;
+	
+	/* first put objects last (hierarchy) */
+	if(x1->idcode==ID_OB && x2->idcode!=ID_OB) return 1;
+	else if(x2->idcode==ID_OB && x1->idcode!=ID_OB) return -1;
+	else {
+		/* 2nd we check ob type */
+		if(x1->idcode==ID_OB && x2->idcode==ID_OB) {
+			if( ((Object *)x1->id)->type > ((Object *)x2->id)->type) return 1;
+			else if( ((Object *)x1->id)->type > ((Object *)x2->id)->type) return -1;
+			else return 0;
+		}
+		else {
+			int comp= strcmp(x1->name, x2->name);
+			
+			if( comp>0 ) return 1;
+			else if( comp<0) return -1;
+			return 0;
+		}
+	}
+}
+#endif
+
+/* sort happens on each subtree individual */
+static void outliner_sort(SpaceOops *soops, ListBase *lb)
+{
+	TreeElement *te;
+	TreeStoreElem *tselem;
+	int totelem=0;
+	
+	te= lb->last;
+	if(te==NULL) return;
+	tselem= TREESTORE(te);
+	
+	/* sorting rules; only object lists or deformgroups */
+	if( (tselem->type==TSE_DEFGROUP) || (tselem->type==0 && te->idcode==ID_OB)) {
+		
+		/* count first */
+		for(te= lb->first; te; te= te->next) totelem++;
+		
+		if(totelem>1) {
+			tTreeSort *tear= MEM_mallocN(totelem*sizeof(tTreeSort), "tree sort array");
+			tTreeSort *tp=tear;
+			int skip= 0;
+			
+			for(te= lb->first; te; te= te->next, tp++) {
+				tselem= TREESTORE(te);
+				tp->te= te;
+				tp->name= te->name;
+				tp->idcode= te->idcode;
+				if(tselem->type && tselem->type!=TSE_DEFGROUP) tp->idcode= 0;	// dont sort this
+				tp->id= tselem->id;
+			}
+			/* keep beginning of list */
+			for(tp= tear, skip=0; skip<totelem; skip++, tp++)
+				if(tp->idcode) break;
+			
+			if(skip<totelem)
+				qsort(tear+skip, totelem-skip, sizeof(tTreeSort), treesort_alpha);
+			
+			lb->first=lb->last= NULL;
+			tp= tear;
+			while(totelem--) {
+				BLI_addtail(lb, tp->te);
+				tp++;
+			}
+			MEM_freeN(tear);
+		}
+	}
+	
+	for(te= lb->first; te; te= te->next) {
+		outliner_sort(soops, &te->subtree);
+	}
+}
+
+/* Filtering ----------------------------------------------- */
+
+static int outliner_filter_has_name(TreeElement *te, const char *name, int flags)
+{
+#if 0
+	int found= 0;
+	
+	/* determine if match */
+	if (flags & SO_FIND_CASE_SENSITIVE) {
+		if (flags & SO_FIND_COMPLETE)
+			found= strcmp(te->name, name) == 0;
+		else
+			found= strstr(te->name, name) != NULL;
+	}
+	else {
+		if (flags & SO_FIND_COMPLETE)
+			found= BLI_strcasecmp(te->name, name) == 0;
+		else
+			found= BLI_strcasestr(te->name, name) != NULL;
+	}
+#else
+	
+	int fn_flag= 0;
+	int found= 0;
+	
+	if ((flags & SO_FIND_CASE_SENSITIVE) == 0)
+		fn_flag |= FNM_CASEFOLD;
+
+	if (flags & SO_FIND_COMPLETE) {
+		found= fnmatch(name, te->name, fn_flag)==0;
+	}
+	else {
+		char fn_name[sizeof(((struct SpaceOops *)NULL)->search_string) + 2];
+		sprintf(fn_name, "*%s*", name);
+		found= fnmatch(fn_name, te->name, fn_flag)==0;
+	}
+	return found;
+#endif
+}
+
+static int outliner_filter_tree(SpaceOops *soops, ListBase *lb)
+{
+	TreeElement *te, *ten;
+	TreeStoreElem *tselem;
+	
+	/* although we don't have any search string, we return TRUE 
+	 * since the entire tree is ok then...
+	 */
+	if (soops->search_string[0]==0) 
+		return 1;
+
+	for (te= lb->first; te; te= ten) {
+		ten= te->next;
+		
+		if (0==outliner_filter_has_name(te, soops->search_string, soops->search_flags)) {
+			/* item isn't something we're looking for, but...
+			 * 	- if the subtree is expanded, check if there are any matches that can be easily found
+			 *		so that searching for "cu" in the default scene will still match the Cube
+			 *	- otherwise, we can't see within the subtree and the item doesn't match,
+			 *		so these can be safely ignored (i.e. the subtree can get freed)
+			 */
+			tselem= TREESTORE(te);
+			
+			if ((tselem->flag & TSE_CLOSED) || outliner_filter_tree(soops, &te->subtree)==0) { 
+				outliner_free_tree(&te->subtree);
+				BLI_remlink(lb, te);
+				
+				if(te->flag & TE_FREE_NAME) MEM_freeN((void *)te->name);
+				MEM_freeN(te);
+			}
+		}
+		else {
+			/* filter subtree too */
+			outliner_filter_tree(soops, &te->subtree);
+		}
+	}
+	
+	/* if there are still items in the list, that means that there were still some matches */
+	return (lb->first != NULL);
+}
+
+/* ======================================================= */
+/* Main Tree Building API */
+
+/* Main entry point for building the tree data-structure that the outliner represents */
+// TODO: split each mode into its own function?
+void outliner_build_tree(Main *mainvar, Scene *scene, SpaceOops *soops)
+{
+	Base *base;
+	Object *ob;
+	TreeElement *te=NULL, *ten;
+	TreeStoreElem *tselem;
+	int show_opened= (soops->treestore==NULL); /* on first view, we open scenes */
+
+	if(soops->tree.first && (soops->storeflag & SO_TREESTORE_REDRAW))
+		return;
+
+	outliner_free_tree(&soops->tree);
+	outliner_storage_cleanup(soops);
+	
+	/* clear ob id.new flags */
+	for(ob= mainvar->object.first; ob; ob= ob->id.next) ob->id.newid= NULL;
+	
+	/* options */
+	if(soops->outlinevis == SO_LIBRARIES) {
+		Library *lib;
+		
+		for(lib= mainvar->library.first; lib; lib= lib->id.next) {
+			ten= outliner_add_element(soops, &soops->tree, lib, NULL, 0, 0);
+			lib->id.newid= (ID *)ten;
+		}
+		/* make hierarchy */
+		ten= soops->tree.first;
+		while(ten) {
+			TreeElement *nten= ten->next, *par;
+			tselem= TREESTORE(ten);
+			lib= (Library *)tselem->id;
+			if(lib->parent) {
+				BLI_remlink(&soops->tree, ten);
+				par= (TreeElement *)lib->parent->id.newid;
+				BLI_addtail(&par->subtree, ten);
+				ten->parent= par;
+			}
+			ten= nten;
+		}
+		/* restore newid pointers */
+		for(lib= mainvar->library.first; lib; lib= lib->id.next)
+			lib->id.newid= NULL;
+		
+	}
+	else if(soops->outlinevis == SO_ALL_SCENES) {
+		Scene *sce;
+		for(sce= mainvar->scene.first; sce; sce= sce->id.next) {
+			te= outliner_add_element(soops, &soops->tree, sce, NULL, 0, 0);
+			tselem= TREESTORE(te);
+			if(sce==scene && show_opened) 
+				tselem->flag &= ~TSE_CLOSED;
+			
+			for(base= sce->base.first; base; base= base->next) {
+				ten= outliner_add_element(soops, &te->subtree, base->object, te, 0, 0);
+				ten->directdata= base;
+			}
+			outliner_make_hierarchy(soops, &te->subtree);
+			/* clear id.newid, to prevent objects be inserted in wrong scenes (parent in other scene) */
+			for(base= sce->base.first; base; base= base->next) base->object->id.newid= NULL;
+		}
+	}
+	else if(soops->outlinevis == SO_CUR_SCENE) {
+		
+		outliner_add_scene_contents(soops, &soops->tree, scene, NULL);
+		
+		for(base= scene->base.first; base; base= base->next) {
+			ten= outliner_add_element(soops, &soops->tree, base->object, NULL, 0, 0);
+			ten->directdata= base;
+		}
+		outliner_make_hierarchy(soops, &soops->tree);
+	}
+	else if(soops->outlinevis == SO_VISIBLE) {
+		for(base= scene->base.first; base; base= base->next) {
+			if(base->lay & scene->lay)
+				outliner_add_element(soops, &soops->tree, base->object, NULL, 0, 0);
+		}
+		outliner_make_hierarchy(soops, &soops->tree);
+	}
+	else if(soops->outlinevis == SO_GROUPS) {
+		Group *group;
+		GroupObject *go;
+		
+		for(group= mainvar->group.first; group; group= group->id.next) {
+			if(group->gobject.first) {
+				te= outliner_add_element(soops, &soops->tree, group, NULL, 0, 0);
+				
+				for(go= group->gobject.first; go; go= go->next) {
+					ten= outliner_add_element(soops, &te->subtree, go->ob, te, 0, 0);
+					ten->directdata= NULL; /* eh, why? */
+				}
+				outliner_make_hierarchy(soops, &te->subtree);
+				/* clear id.newid, to prevent objects be inserted in wrong scenes (parent in other scene) */
+				for(go= group->gobject.first; go; go= go->next) go->ob->id.newid= NULL;
+			}
+		}
+	}
+	else if(soops->outlinevis == SO_SAME_TYPE) {
+		Object *ob= OBACT;
+		if(ob) {
+			for(base= scene->base.first; base; base= base->next) {
+				if(base->object->type==ob->type) {
+					ten= outliner_add_element(soops, &soops->tree, base->object, NULL, 0, 0);
+					ten->directdata= base;
+				}
+			}
+			outliner_make_hierarchy(soops, &soops->tree);
+		}
+	}
+	else if(soops->outlinevis == SO_SELECTED) {
+		for(base= scene->base.first; base; base= base->next) {
+			if(base->lay & scene->lay) {
+				if(base==BASACT || (base->flag & SELECT)) {
+					ten= outliner_add_element(soops, &soops->tree, base->object, NULL, 0, 0);
+					ten->directdata= base;
+				}
+			}
+		}
+		outliner_make_hierarchy(soops, &soops->tree);
+	}
+	else if(soops->outlinevis==SO_SEQUENCE) {
+		Sequence *seq;
+		Editing *ed= seq_give_editing(scene, FALSE);
+		int op;
+
+		if(ed==NULL)
+			return;
+
+		seq= ed->seqbasep->first;
+		if(!seq)
+			return;
+
+		while(seq) {
+			op= need_add_seq_dup(seq);
+			if(op==1)
+				ten= outliner_add_element(soops, &soops->tree, (void*)seq, NULL, TSE_SEQUENCE, 0);
+			else if(op==0) {
+				ten= outliner_add_element(soops, &soops->tree, (void*)seq, NULL, TSE_SEQUENCE_DUP, 0);
+				outliner_add_seq_dup(soops, seq, ten, 0);
+			}
+			seq= seq->next;
+		}
+	}
+	else if(soops->outlinevis==SO_DATABLOCKS) {
+		PointerRNA mainptr;
+
+		RNA_main_pointer_create(mainvar, &mainptr);
+
+		ten= outliner_add_element(soops, &soops->tree, (void*)&mainptr, NULL, TSE_RNA_STRUCT, -1);
+
+		if(show_opened)  {
+			tselem= TREESTORE(ten);
+			tselem->flag &= ~TSE_CLOSED;
+		}
+	}
+	else if(soops->outlinevis==SO_USERDEF) {
+		PointerRNA userdefptr;
+
+		RNA_pointer_create(NULL, &RNA_UserPreferences, &U, &userdefptr);
+
+		ten= outliner_add_element(soops, &soops->tree, (void*)&userdefptr, NULL, TSE_RNA_STRUCT, -1);
+
+		if(show_opened)  {
+			tselem= TREESTORE(ten);
+			tselem->flag &= ~TSE_CLOSED;
+		}
+	}
+	else if(soops->outlinevis==SO_KEYMAP) {
+		wmWindowManager *wm= mainvar->wm.first;
+		wmKeyMap *km;
+		
+		for(km= wm->defaultconf->keymaps.first; km; km= km->next) {
+			ten= outliner_add_element(soops, &soops->tree, (void*)km, NULL, TSE_KEYMAP, 0);
+		}
+	}
+	else {
+		ten= outliner_add_element(soops, &soops->tree, OBACT, NULL, 0, 0);
+		if(ten) ten->directdata= BASACT;
+	}
+
+	outliner_sort(soops, &soops->tree);
+	outliner_filter_tree(soops, &soops->tree);
+}
+
+
diff --git a/source/blender/editors/space_outliner/space_outliner.c b/source/blender/editors/space_outliner/space_outliner.c
index 13b186b174b..603be557a3c 100644
--- a/source/blender/editors/space_outliner/space_outliner.c
+++ b/source/blender/editors/space_outliner/space_outliner.c
@@ -179,6 +179,13 @@ static void outliner_main_area_listener(ARegion *ar, wmNotifier *wmn)
 					break;
 			}
 			break;
+		case NC_ANIMATION:
+			switch(wmn->data) {
+				case ND_NLA_ACTCHANGE:
+					ED_region_tag_redraw(ar);
+					break;
+			}
+			break;
 	}
 	
 }
diff --git a/source/blender/editors/space_sequencer/sequencer_add.c b/source/blender/editors/space_sequencer/sequencer_add.c
index b105b2507ab..14004e7fbba 100644
--- a/source/blender/editors/space_sequencer/sequencer_add.c
+++ b/source/blender/editors/space_sequencer/sequencer_add.c
@@ -83,9 +83,8 @@
 /* avoid passing multiple args and be more verbose */
 #define SEQPROP_STARTFRAME	(1<<0)
 #define SEQPROP_ENDFRAME	(1<<1)
-#define SEQPROP_FILES		(1<<2)
-#define SEQPROP_NOPATHS		(1<<3)
-#define SEQPROP_NOCHAN		(1<<4)
+#define SEQPROP_NOPATHS		(1<<2)
+#define SEQPROP_NOCHAN		(1<<3)
 
 #define SELECT 1
 
@@ -102,9 +101,6 @@ static void sequencer_generic_props__internal(wmOperatorType *ot, int flag)
 	RNA_def_boolean(ot->srna, "replace_sel", 1, "Replace Selection", "replace the current selection");
 
 	RNA_def_boolean(ot->srna, "overlap", 0, "Allow Overlap", "Don't correct overlap on new sequence strips");
-
-	if(flag & SEQPROP_FILES)
-		RNA_def_collection_runtime(ot->srna, "files", &RNA_OperatorFileListElement, "Files", "");
 }
 
 static void sequencer_generic_invoke_path__internal(bContext *C, wmOperator *op, const char *identifier)
@@ -411,8 +407,8 @@ void SEQUENCER_OT_movie_strip_add(struct wmOperatorType *ot)
 	/* flags */
 	ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
 	
-	WM_operator_properties_filesel(ot, FOLDERFILE|MOVIEFILE, FILE_SPECIAL, FILE_OPENFILE, WM_FILESEL_FILEPATH|WM_FILESEL_RELPATH);
-	sequencer_generic_props__internal(ot, SEQPROP_STARTFRAME|SEQPROP_FILES);
+	WM_operator_properties_filesel(ot, FOLDERFILE|MOVIEFILE, FILE_SPECIAL, FILE_OPENFILE, WM_FILESEL_FILEPATH|WM_FILESEL_RELPATH|WM_FILESEL_FILES);
+	sequencer_generic_props__internal(ot, SEQPROP_STARTFRAME);
 	RNA_def_boolean(ot->srna, "sound", TRUE, "Sound", "Load sound with the movie");
 }
 
@@ -466,8 +462,8 @@ void SEQUENCER_OT_sound_strip_add(struct wmOperatorType *ot)
 	/* flags */
 	ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
 	
-	WM_operator_properties_filesel(ot, FOLDERFILE|SOUNDFILE, FILE_SPECIAL, FILE_OPENFILE, WM_FILESEL_FILEPATH|WM_FILESEL_RELPATH);
-	sequencer_generic_props__internal(ot, SEQPROP_STARTFRAME|SEQPROP_FILES);
+	WM_operator_properties_filesel(ot, FOLDERFILE|SOUNDFILE, FILE_SPECIAL, FILE_OPENFILE, WM_FILESEL_FILEPATH|WM_FILESEL_RELPATH|WM_FILESEL_FILES);
+	sequencer_generic_props__internal(ot, SEQPROP_STARTFRAME);
 	RNA_def_boolean(ot->srna, "cache", FALSE, "Cache", "Cache the sound in memory.");
 }
 
@@ -573,8 +569,8 @@ void SEQUENCER_OT_image_strip_add(struct wmOperatorType *ot)
 	/* flags */
 	ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
 	
-	WM_operator_properties_filesel(ot, FOLDERFILE|IMAGEFILE, FILE_SPECIAL, FILE_OPENFILE, WM_FILESEL_DIRECTORY|WM_FILESEL_RELPATH);
-	sequencer_generic_props__internal(ot, SEQPROP_STARTFRAME|SEQPROP_ENDFRAME|SEQPROP_FILES);
+	WM_operator_properties_filesel(ot, FOLDERFILE|IMAGEFILE, FILE_SPECIAL, FILE_OPENFILE, WM_FILESEL_DIRECTORY|WM_FILESEL_RELPATH|WM_FILESEL_FILES);
+	sequencer_generic_props__internal(ot, SEQPROP_STARTFRAME|SEQPROP_ENDFRAME);
 }
 
 
diff --git a/source/blender/editors/space_sequencer/sequencer_draw.c b/source/blender/editors/space_sequencer/sequencer_draw.c
index 98687bb90e0..dc84289a8de 100644
--- a/source/blender/editors/space_sequencer/sequencer_draw.c
+++ b/source/blender/editors/space_sequencer/sequencer_draw.c
@@ -702,7 +702,7 @@ static void draw_seq_strip(Scene *scene, ARegion *ar, Sequence *seq, int outline
 
 static Sequence *special_seq_update= 0;
 
-static void set_special_seq_update(int val)
+static void UNUSED_FUNCTION(set_special_seq_update)(int val)
 {
 //	int x;
 
diff --git a/source/blender/editors/space_sequencer/sequencer_edit.c b/source/blender/editors/space_sequencer/sequencer_edit.c
index 6a69d32d307..5429f0ee98f 100644
--- a/source/blender/editors/space_sequencer/sequencer_edit.c
+++ b/source/blender/editors/space_sequencer/sequencer_edit.c
@@ -75,10 +75,6 @@
 /* own include */
 #include "sequencer_intern.h"
 
-static void error(const char *UNUSED(dummy)) {}
-static void waitcursor(int UNUSED(val)) {}
-static void activate_fileselect(int UNUSED(d1), const char *UNUSED(d2), const char *UNUSED(d3), void *UNUSED(d4)) {}
-static int pupmenu(const char *UNUSED(dummy)) {return 0;}
 static int okee(const char *UNUSED(dummy)) {return 0;}
 
 
@@ -139,7 +135,7 @@ void seq_rectf(Sequence *seq, rctf *rectf)
 	rectf->ymax= seq->machine+SEQ_STRIP_OFSTOP;
 }
 
-static void change_plugin_seq(Scene *scene, char *str)	/* called from fileselect */
+static void UNUSED_FUNCTION(change_plugin_seq)(Scene *scene, char *str) /* called from fileselect */
 {
 	Editing *ed= seq_give_editing(scene, FALSE);
 	struct SeqEffectHandle sh;
@@ -392,205 +388,6 @@ void recurs_sel_seq(Sequence *seqm)
 	}
 }
 
-int event_to_efftype(int event)
-{
-	if(event==2) return SEQ_CROSS;
-	if(event==3) return SEQ_GAMCROSS;
-	if(event==4) return SEQ_ADD;
-	if(event==5) return SEQ_SUB;
-	if(event==6) return SEQ_MUL;
-	if(event==7) return SEQ_ALPHAOVER;
-	if(event==8) return SEQ_ALPHAUNDER;
-	if(event==9) return SEQ_OVERDROP;
-	if(event==10) return SEQ_PLUGIN;
-	if(event==13) return SEQ_WIPE;
-	if(event==14) return SEQ_GLOW;
-	if(event==15) return SEQ_TRANSFORM;
-	if(event==16) return SEQ_COLOR;
-	if(event==17) return SEQ_SPEED;
-	if(event==18) return SEQ_ADJUSTMENT;
-	return 0;
-}
-
-#if 0
-static void reload_sound_strip(Scene *scene, char *name)
-{
-	Editing *ed;
-	Sequence *seq, *seqact;
-	SpaceFile *sfile;
-	Sequence *last_seq= seq_active_get(scene);
-
-	ed= scene->ed;
-
-	if(last_seq==0 || last_seq->type!=SEQ_SOUND) return;
-	seqact= last_seq;	/* last_seq changes in alloc_sequence */
-
-	/* search sfile */
-//	sfile= scrarea_find_space_of_type(curarea, SPACE_FILE);
-	if(sfile==0) return;
-
-	waitcursor(1);
-
-	seq = sfile_to_snd_sequence(sfile, seqact->start, seqact->machine);
-	printf("seq->type: %i\n", seq->type);
-	if(seq && seq!=seqact) {
-		/* i'm not sure about this one, seems to work without it -- sgefant */
-		seq_free_strip(seqact->strip);
-
-		seqact->strip= seq->strip;
-
-		seqact->len= seq->len;
-		calc_sequence(scene, seqact);
-
-		seq->strip= 0;
-		seq_free_sequence(scene, seq);
-		BLI_remlink(ed->seqbasep, seq);
-
-		seq= ed->seqbasep->first;
-
-	}
-
-	waitcursor(0);
-
-}
-#endif
-
-static void reload_image_strip(Scene *scene, char *UNUSED(name))
-{
-	Editing *ed= seq_give_editing(scene, FALSE);
-	Sequence *seq=NULL, *seqact;
-	SpaceFile *sfile=NULL;
-	Sequence *last_seq= seq_active_get(scene);
-
-
-
-	if(last_seq==NULL || last_seq->type!=SEQ_IMAGE) return;
-	seqact= last_seq;	/* last_seq changes in alloc_sequence */
-
-	/* search sfile */
-//	sfile= scrarea_find_space_of_type(curarea, SPACE_FILE);
-	if(sfile == NULL) return;
-
-	waitcursor(1);
-
-//	seq= sfile_to_sequence(scene, sfile, seqact->start, seqact->machine, 1); // XXX ADD BACK
-	if(seq && seq!=seqact) {
-		seq_free_strip(seqact->strip);
-
-		seqact->strip= seq->strip;
-
-		seqact->len= seq->len;
-		calc_sequence(scene, seqact);
-
-		seq->strip= NULL;
-		seq_free_sequence(scene, seq);
-		BLI_remlink(ed->seqbasep, seq);
-
-		update_changed_seq_and_deps(scene, seqact, 1, 1);
-	}
-	waitcursor(0);
-
-}
-
-
-static void change_sequence(Scene *scene)
-{
-	Editing *ed= seq_give_editing(scene, FALSE);
-	Sequence *last_seq= seq_active_get(scene);
-	Scene *sce;
-	short event;
-
-	if(last_seq == NULL) return;
-
-	if(last_seq->type & SEQ_EFFECT) {
-		event = pupmenu("Change Effect%t"
-				"|Switch A <-> B %x1"
-				"|Switch B <-> C %x10"
-				"|Plugin%x11"
-				"|Recalculate%x12"
-				"|Cross%x2"
-				"|Gamma Cross%x3"
-				"|Add%x4"
-				"|Sub%x5"
-				"|Mul%x6"
-				"|Alpha Over%x7"
-				"|Alpha Under%x8"
-				"|Alpha Over Drop%x9"
-				"|Wipe%x13"
-				"|Glow%x14"
-				"|Transform%x15"
-				"|Color Generator%x16"
-				"|Speed Control%x17"
-				"|Adjustment Layer%x18");
-		if(event > 0) {
-			if(event==1) {
-				SWAP(Sequence *,last_seq->seq1,last_seq->seq2);
-			}
-			else if(event==10) {
-				SWAP(Sequence *,last_seq->seq2,last_seq->seq3);
-			}
-			else if(event==11) {
-				activate_fileselect(
-					FILE_SPECIAL, "Select Plugin", 
-					U.plugseqdir, change_plugin_seq);
-			}
-			else if(event==12);	
-								/* recalculate: only new_stripdata */
-			else {
-				/* free previous effect and init new effect */
-				struct SeqEffectHandle sh;
-
-				if (get_sequence_effect_num_inputs(
-						last_seq->type)
-					< get_sequence_effect_num_inputs(
-						event_to_efftype(event))) {
-					error("New effect needs more "
-						  "input strips!");
-				} else {
-					sh = get_sequence_effect(last_seq);
-					sh.free(last_seq);
-					
-					last_seq->type 
-						= event_to_efftype(event);
-					
-					sh = get_sequence_effect(last_seq);
-					sh.init(last_seq);
-				}
-			}
-
-			update_changed_seq_and_deps(scene, last_seq, 0, 1);
-		}
-	}
-	else if(last_seq->type == SEQ_IMAGE) {
-		if(okee("Change images")) {
-			activate_fileselect(FILE_SPECIAL, 
-						"Select Images", 
-						ed->act_imagedir, 
-						reload_image_strip);
-		}
-	}
-	else if(last_seq->type == SEQ_MOVIE) {
-		;
-	}
-	else if(last_seq->type == SEQ_SCENE) {
-		event= pupmenu("Change Scene%t|Update Start and End");
-
-		if(event==1) {
-			sce= last_seq->scene;
-
-			last_seq->len= sce->r.efra - sce->r.sfra + 1;
-			last_seq->sfra= sce->r.sfra;
-			
-			/* bad code to change seq->len? update_changed_seq_and_deps() expects the strip->len to be OK */
-			new_tstripdata(last_seq);
-			
-			update_changed_seq_and_deps(scene, last_seq, 1, 1);
-
-		}
-	}
-
-}
-
 int seq_effect_find_selected(Scene *scene, Sequence *activeseq, int type, Sequence **selseq1, Sequence **selseq2, Sequence **selseq3, const char **error_str)
 {
 	Editing *ed = seq_give_editing(scene, FALSE);
@@ -961,7 +758,7 @@ static int insert_gap(Scene *scene, int gap, int cfra)
 	return done;
 }
 
-static void touch_seq_files(Scene *scene)
+static void UNUSED_FUNCTION(touch_seq_files)(Scene *scene)
 {
 	Sequence *seq;
 	Editing *ed= seq_give_editing(scene, FALSE);
@@ -973,7 +770,7 @@ static void touch_seq_files(Scene *scene)
 
 	if(okee("Touch and print selected movies")==0) return;
 
-	waitcursor(1);
+	WM_cursor_wait(1);
 
 	SEQP_BEGIN(ed, seq) {
 		if(seq->flag & SELECT) {
@@ -988,7 +785,7 @@ static void touch_seq_files(Scene *scene)
 	}
 	SEQ_END
 
-	waitcursor(0);
+	WM_cursor_wait(0);
 }
 
 /*
@@ -1016,7 +813,7 @@ static void set_filter_seq(Scene *scene)
 }
 */
 
-static void seq_remap_paths(Scene *scene)
+static void UNUSED_FUNCTION(seq_remap_paths)(Scene *scene)
 {
 	Sequence *seq, *last_seq = seq_active_get(scene);
 	Editing *ed= seq_give_editing(scene, FALSE);
@@ -1057,7 +854,7 @@ static void seq_remap_paths(Scene *scene)
 }
 
 
-static void no_gaps(Scene *scene)
+static void UNUSED_FUNCTION(no_gaps)(Scene *scene)
 {
 	Editing *ed= seq_give_editing(scene, FALSE);
 	int cfra, first= 0, done;
@@ -1103,6 +900,19 @@ int sequencer_edit_poll(bContext *C)
 	return (seq_give_editing(CTX_data_scene(C), FALSE) != NULL);
 }
 
+int sequencer_strip_poll(bContext *C)
+{
+	Editing *ed;
+	return (((ed= seq_give_editing(CTX_data_scene(C), FALSE)) != NULL) && (ed->act_seq != NULL));
+}
+
+int sequencer_strip_has_path_poll(bContext *C)
+{
+	Editing *ed;
+	Sequence *seq;
+	return (((ed= seq_give_editing(CTX_data_scene(C), FALSE)) != NULL) && ((seq= ed->act_seq) != NULL) && (SEQ_HAS_PATH(seq)));
+}
+
 int sequencer_view_poll(bContext *C)
 {
 	SpaceSeq *sseq= CTX_wm_space_seq(C);
@@ -1755,6 +1565,58 @@ void SEQUENCER_OT_delete(wmOperatorType *ot)
 }
 
 
+/* offset clear operator */
+static int sequencer_offset_clear_exec(bContext *C, wmOperator *UNUSED(op))
+{
+	Scene *scene= CTX_data_scene(C);
+	Editing *ed= seq_give_editing(scene, FALSE);
+	Sequence *seq;
+
+	/* for effects, try to find a replacement input */
+	for(seq=ed->seqbasep->first; seq; seq=seq->next) {
+		if((seq->type & SEQ_EFFECT)==0 && (seq->flag & SELECT)) {
+			seq->startofs= seq->endofs= seq->startstill= seq->endstill= 0;
+		}
+	}
+
+	/* updates lengths etc */
+	seq= ed->seqbasep->first;
+	while(seq) {
+		calc_sequence(scene, seq);
+		seq= seq->next;
+	}
+
+	for(seq=ed->seqbasep->first; seq; seq=seq->next) {
+		if((seq->type & SEQ_EFFECT)==0 && (seq->flag & SELECT)) {
+			if(seq_test_overlap(ed->seqbasep, seq)) {
+				shuffle_seq(ed->seqbasep, seq, scene);
+			}
+		}
+	}
+
+	WM_event_add_notifier(C, NC_SCENE|ND_SEQUENCER, scene);
+
+	return OPERATOR_FINISHED;
+}
+
+
+void SEQUENCER_OT_offset_clear(wmOperatorType *ot)
+{
+
+	/* identifiers */
+	ot->name= "Clear Strip Offset";
+	ot->idname= "SEQUENCER_OT_offset_clear";
+	ot->description="Clear strip offsets from the start and end frames";
+
+	/* api callbacks */
+	ot->exec= sequencer_offset_clear_exec;
+	ot->poll= sequencer_edit_poll;
+
+	/* flags */
+	ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+}
+
+
 /* separate_images operator */
 static int sequencer_separate_images_exec(bContext *C, wmOperator *op)
 {
@@ -2830,3 +2692,230 @@ void SEQUENCER_OT_view_ghost_border(wmOperatorType *ot)
 	/* rna */
 	WM_operator_properties_gesture_border(ot, FALSE);
 }
+
+
+/* change ops */
+
+static EnumPropertyItem prop_change_effect_input_types[] = {
+	{0, "A_B", 0, "A -> B", ""},
+	{1, "B_C", 0, "B -> C", ""},
+	{2, "A_C", 0, "A -> C", ""},
+	{0, NULL, 0, NULL, NULL}
+};
+
+static int sequencer_change_effect_input_exec(bContext *C, wmOperator *op)
+{
+	Scene *scene= CTX_data_scene(C);
+	Editing *ed= seq_give_editing(scene, FALSE);
+	Sequence *seq= seq_active_get(scene);
+
+	Sequence **seq_1, **seq_2;
+
+	switch(RNA_enum_get(op->ptr, "swap")) {
+		case 0:
+			seq_1= &seq->seq1;
+			seq_2= &seq->seq2;
+			break;
+		case 1:
+			seq_1= &seq->seq2;
+			seq_2= &seq->seq3;
+			break;
+		default: /* 2 */
+			seq_1= &seq->seq1;
+			seq_2= &seq->seq3;
+			break;
+	}
+
+	if(*seq_1 == NULL || *seq_2 == NULL) {
+		BKE_report(op->reports, RPT_ERROR, "One of the effect inputs is unset, can't swap");
+		return OPERATOR_CANCELLED;
+	}
+	else {
+		SWAP(Sequence *, *seq_1, *seq_2);
+	}
+
+	update_changed_seq_and_deps(scene, seq, 0, 1);
+
+	/* important else we dont get the imbuf cache flushed */
+	free_imbuf_seq(scene, &ed->seqbase, FALSE, FALSE);
+
+	WM_event_add_notifier(C, NC_SCENE|ND_SEQUENCER, scene);
+
+	return OPERATOR_FINISHED;
+}
+
+void SEQUENCER_OT_change_effect_input(struct wmOperatorType *ot)
+{
+	/* identifiers */
+	ot->name= "Change Effect Input";
+	ot->idname= "SEQUENCER_OT_change_effect_input";
+	ot->description="";
+
+	/* api callbacks */
+	ot->exec= sequencer_change_effect_input_exec;
+	ot->poll= sequencer_effect_poll;
+
+	/* flags */
+	ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+
+	ot->prop= RNA_def_enum(ot->srna, "swap", prop_change_effect_input_types, 0, "Swap", "The effect inputs to swap");
+}
+
+static int sequencer_change_effect_type_exec(bContext *C, wmOperator *op)
+{
+	Scene *scene= CTX_data_scene(C);
+	Editing *ed= seq_give_editing(scene, FALSE);
+	Sequence *seq= seq_active_get(scene);
+	const int new_type= RNA_enum_get(op->ptr, "type");
+
+	/* free previous effect and init new effect */
+	struct SeqEffectHandle sh;
+
+	if ((seq->type & SEQ_EFFECT) == 0) {
+		return OPERATOR_CANCELLED;
+	}
+
+	/* can someone explain the logic behind only allowing to increse this,
+	 * copied from 2.4x - campbell */
+	if (get_sequence_effect_num_inputs(seq->type) <
+		get_sequence_effect_num_inputs(new_type)
+	) {
+		BKE_report(op->reports, RPT_ERROR, "New effect needs more input strips");
+		return OPERATOR_CANCELLED;
+	}
+	else {
+		sh = get_sequence_effect(seq);
+		sh.free(seq);
+
+		seq->type= new_type;
+
+		sh = get_sequence_effect(seq);
+		sh.init(seq);
+	}
+
+	/* update */
+	update_changed_seq_and_deps(scene, seq, 0, 1);
+
+	/* important else we dont get the imbuf cache flushed */
+	free_imbuf_seq(scene, &ed->seqbase, FALSE, FALSE);
+
+	WM_event_add_notifier(C, NC_SCENE|ND_SEQUENCER, scene);
+
+	return OPERATOR_FINISHED;
+}
+
+void SEQUENCER_OT_change_effect_type(struct wmOperatorType *ot)
+{
+	/* identifiers */
+	ot->name= "Change Effect Type";
+	ot->idname= "SEQUENCER_OT_change_effect_type";
+	ot->description="";
+
+	/* api callbacks */
+	ot->exec= sequencer_change_effect_type_exec;
+	ot->poll= sequencer_effect_poll;
+
+	/* flags */
+	ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+
+	ot->prop= RNA_def_enum(ot->srna, "type", sequencer_prop_effect_types, SEQ_CROSS, "Type", "Sequencer effect type");
+}
+
+static int sequencer_change_path_exec(bContext *C, wmOperator *op)
+{
+	Scene *scene= CTX_data_scene(C);
+	Editing *ed= seq_give_editing(scene, FALSE);
+	Sequence *seq= seq_active_get(scene);
+
+	if(seq->type == SEQ_IMAGE) {
+		char directory[FILE_MAX];
+		const int len= RNA_property_collection_length(op->ptr, RNA_struct_find_property(op->ptr, "files"));
+		StripElem *se;
+
+		if(len==0)
+			return OPERATOR_CANCELLED;
+
+		RNA_string_get(op->ptr, "directory", directory);
+		BLI_strncpy(seq->strip->dir, directory, sizeof(seq->strip->dir));
+
+		if(seq->strip->stripdata) {
+			MEM_freeN(seq->strip->stripdata);
+		}
+		seq->strip->stripdata= se= MEM_callocN(len*sizeof(StripElem), "stripelem");
+
+		RNA_BEGIN(op->ptr, itemptr, "files") {
+			char *filename= RNA_string_get_alloc(&itemptr, "name", NULL, 0);
+			BLI_strncpy(se->name, filename, sizeof(se->name));
+			MEM_freeN(filename);
+			se++;
+		}
+		RNA_END;
+
+		/* reset these else we wont see all the images */
+		seq->anim_startofs= seq->anim_endofs= 0;
+
+		/* correct start/end frames so we dont move
+		 * important not to set seq->len= len; allow the function to handle it */
+		reload_sequence_new_file(scene, seq, TRUE);
+
+		calc_sequence(scene, seq);
+
+		/* important else we dont get the imbuf cache flushed */
+		free_imbuf_seq(scene, &ed->seqbase, FALSE, FALSE);
+	}
+	else {
+		/* lame, set rna filepath */
+		PointerRNA seq_ptr;
+		PropertyRNA *prop;
+		char filepath[FILE_MAX];
+
+		RNA_pointer_create(&scene->id, &RNA_Sequence, seq, &seq_ptr);
+
+		RNA_string_get(op->ptr, "filepath", filepath);
+		prop= RNA_struct_find_property(&seq_ptr, "filepath");
+		RNA_property_string_set(&seq_ptr, prop, filepath);
+		RNA_property_update(C, &seq_ptr, prop);
+	}
+
+	WM_event_add_notifier(C, NC_SCENE|ND_SEQUENCER, scene);
+
+	return OPERATOR_FINISHED;
+}
+
+static int sequencer_change_path_invoke(bContext *C, wmOperator *op, wmEvent *UNUSED(event))
+{
+	Scene *scene= CTX_data_scene(C);
+	Sequence *seq= seq_active_get(scene);
+
+	RNA_string_set(op->ptr, "directory", seq->strip->dir);
+
+	/* set default display depending on seq type */
+	if(seq->type == SEQ_IMAGE) {
+		RNA_boolean_set(op->ptr, "filter_movie", 0);
+	}
+	else {
+		RNA_boolean_set(op->ptr, "filter_image", 0);
+	}
+
+	WM_event_add_fileselect(C, op);
+
+	return OPERATOR_RUNNING_MODAL;
+}
+
+void SEQUENCER_OT_change_path(struct wmOperatorType *ot)
+{
+	/* identifiers */
+	ot->name= "Change Data/Files";
+	ot->idname= "SEQUENCER_OT_change_path";
+	ot->description="";
+
+	/* api callbacks */
+	ot->exec= sequencer_change_path_exec;
+	ot->invoke= sequencer_change_path_invoke;
+	ot->poll= sequencer_strip_has_path_poll;
+
+	/* flags */
+	ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+
+	WM_operator_properties_filesel(ot, FOLDERFILE|IMAGEFILE|MOVIEFILE, FILE_SPECIAL, FILE_OPENFILE, WM_FILESEL_DIRECTORY|WM_FILESEL_RELPATH|WM_FILESEL_FILEPATH|WM_FILESEL_FILES);
+}
diff --git a/source/blender/editors/space_sequencer/sequencer_intern.h b/source/blender/editors/space_sequencer/sequencer_intern.h
index 209b39662aa..7ab76f9b6d7 100644
--- a/source/blender/editors/space_sequencer/sequencer_intern.h
+++ b/source/blender/editors/space_sequencer/sequencer_intern.h
@@ -70,6 +70,8 @@ int seq_effect_find_selected(struct Scene *scene, struct Sequence *activeseq, in
 
 /* operator helpers */
 int sequencer_edit_poll(struct bContext *C);
+int sequencer_strip_poll(struct bContext *C);
+int sequencer_strip_has_path_poll(struct bContext *C);
 int sequencer_view_poll(struct bContext *C);
 
 /* externs */
@@ -91,6 +93,7 @@ void SEQUENCER_OT_reassign_inputs(struct wmOperatorType *ot);
 void SEQUENCER_OT_swap_inputs(struct wmOperatorType *ot);
 void SEQUENCER_OT_duplicate(struct wmOperatorType *ot);
 void SEQUENCER_OT_delete(struct wmOperatorType *ot);
+void SEQUENCER_OT_offset_clear(struct wmOperatorType *ot);
 void SEQUENCER_OT_images_separate(struct wmOperatorType *ot);
 void SEQUENCER_OT_meta_toggle(struct wmOperatorType *ot);
 void SEQUENCER_OT_meta_make(struct wmOperatorType *ot);
@@ -108,6 +111,10 @@ void SEQUENCER_OT_view_selected(struct wmOperatorType *ot);
 void SEQUENCER_OT_view_zoom_ratio(struct wmOperatorType *ot);
 void SEQUENCER_OT_view_ghost_border(struct wmOperatorType *ot);
 
+void SEQUENCER_OT_change_effect_input(struct wmOperatorType *ot);
+void SEQUENCER_OT_change_effect_type(struct wmOperatorType *ot);
+void SEQUENCER_OT_change_path(struct wmOperatorType *ot);
+
 void SEQUENCER_OT_copy(struct wmOperatorType *ot);
 void SEQUENCER_OT_paste(struct wmOperatorType *ot);
 
diff --git a/source/blender/editors/space_sequencer/sequencer_ops.c b/source/blender/editors/space_sequencer/sequencer_ops.c
index f5c26cb17d3..df33ce73b9c 100644
--- a/source/blender/editors/space_sequencer/sequencer_ops.c
+++ b/source/blender/editors/space_sequencer/sequencer_ops.c
@@ -68,6 +68,7 @@ void sequencer_operatortypes(void)
 	WM_operatortype_append(SEQUENCER_OT_swap_inputs);
 	WM_operatortype_append(SEQUENCER_OT_duplicate);
 	WM_operatortype_append(SEQUENCER_OT_delete);
+	WM_operatortype_append(SEQUENCER_OT_offset_clear);
 	WM_operatortype_append(SEQUENCER_OT_images_separate);
 	WM_operatortype_append(SEQUENCER_OT_meta_toggle);
 	WM_operatortype_append(SEQUENCER_OT_meta_make);
@@ -86,6 +87,10 @@ void sequencer_operatortypes(void)
 	WM_operatortype_append(SEQUENCER_OT_view_zoom_ratio);
 	WM_operatortype_append(SEQUENCER_OT_view_ghost_border);
 
+	WM_operatortype_append(SEQUENCER_OT_change_effect_input);
+	WM_operatortype_append(SEQUENCER_OT_change_effect_type);
+	WM_operatortype_append(SEQUENCER_OT_change_path);
+
 	/* sequencer_select.c */
 	WM_operatortype_append(SEQUENCER_OT_select_all_toggle);
 	WM_operatortype_append(SEQUENCER_OT_select_inverse);
@@ -145,6 +150,8 @@ void sequencer_keymap(wmKeyConfig *keyconf)
 	WM_keymap_add_item(keymap, "SEQUENCER_OT_reassign_inputs", RKEY, KM_PRESS, 0, 0);
 	WM_keymap_add_item(keymap, "SEQUENCER_OT_reload", RKEY, KM_PRESS, KM_ALT, 0);
 
+	WM_keymap_add_item(keymap, "SEQUENCER_OT_offset_clear", OKEY, KM_PRESS, KM_ALT, 0);
+
 	WM_keymap_add_item(keymap, "SEQUENCER_OT_duplicate", DKEY, KM_PRESS, KM_SHIFT, 0);
 
 	WM_keymap_add_item(keymap, "SEQUENCER_OT_delete", XKEY, KM_PRESS, 0, 0);
@@ -240,6 +247,8 @@ void sequencer_keymap(wmKeyConfig *keyconf)
 	WM_keymap_add_item(keymap, "SEQUENCER_OT_select_border", BKEY, KM_PRESS, 0, 0);
 
 	WM_keymap_add_menu(keymap, "SEQUENCER_MT_add", AKEY, KM_PRESS, KM_SHIFT, 0);
+
+	WM_keymap_add_menu(keymap, "SEQUENCER_MT_change", CKEY, KM_PRESS, 0, 0);
 	
 	kmi= WM_keymap_add_item(keymap, "WM_OT_context_set_int", OKEY, KM_PRESS, 0, 0);
 	RNA_string_set(kmi->ptr, "data_path", "scene.sequence_editor.overlay_frame");
diff --git a/source/blender/editors/space_sequencer/sequencer_select.c b/source/blender/editors/space_sequencer/sequencer_select.c
index 8d5f372f55e..0ac23765167 100644
--- a/source/blender/editors/space_sequencer/sequencer_select.c
+++ b/source/blender/editors/space_sequencer/sequencer_select.c
@@ -159,7 +159,7 @@ void select_surround_from_last(Scene *scene)
 #endif
 
 
-static void select_single_seq(Scene *scene, Sequence *seq, int deselect_all) /* BRING BACK */
+static void UNUSED_FUNCTION(select_single_seq)(Scene *scene, Sequence *seq, int deselect_all) /* BRING BACK */
 {
 	Editing *ed= seq_give_editing(scene, FALSE);
 	
diff --git a/source/blender/editors/space_text/text_python.c b/source/blender/editors/space_text/text_python.c
index 6e6f131655b..51b4b838171 100644
--- a/source/blender/editors/space_text/text_python.c
+++ b/source/blender/editors/space_text/text_python.c
@@ -43,6 +43,7 @@
 #include "BKE_text.h"
 
 #include "BLI_blenlib.h"
+#include "BLI_utildefines.h"
 
 #include "WM_types.h"
 
@@ -192,7 +193,7 @@ static void confirm_suggestion(Text *text, int skipleft)
 // XXX
 static int doc_scroll= 0;
 
-static short do_texttools(SpaceText *st, char ascii, unsigned short evnt, short val)
+static short UNUSED_FUNCTION(do_texttools)(SpaceText *st, char ascii, unsigned short evnt, short val)
 {
 	ARegion *ar= NULL; // XXX
 	int qual= 0; // XXX
@@ -375,7 +376,7 @@ static short do_texttools(SpaceText *st, char ascii, unsigned short evnt, short
 		; // XXX redraw_alltext();
 #endif
 
-static short do_textmarkers(SpaceText *st, char ascii, unsigned short evnt, short val)
+static short UNUSED_FUNCTION(do_textmarkers)(SpaceText *st, char ascii, unsigned short evnt, short val)
 {
 	Text *text;
 	TextMarker *marker, *mrk, *nxt;
diff --git a/source/blender/editors/space_view3d/drawobject.c b/source/blender/editors/space_view3d/drawobject.c
index 4a8fb92d7e1..2fe2a95de83 100644
--- a/source/blender/editors/space_view3d/drawobject.c
+++ b/source/blender/editors/space_view3d/drawobject.c
@@ -5475,7 +5475,7 @@ static void drawObjectSelect(Scene *scene, View3D *v3d, ARegion *ar, Base *base)
 		}
 	}
 	else if(ob->type==OB_ARMATURE) {
-		if(!(ob->mode & OB_MODE_POSE))
+		if(!(ob->mode & OB_MODE_POSE && base == scene->basact))
 			draw_armature(scene, v3d, ar, base, OB_WIRE, FALSE, TRUE);
 	}
 
@@ -5732,7 +5732,7 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, int flag)
 	/* if( ((int)ob->ctime) != F_(scene->r.cfra)) where_is_object(scene, ob); */
 	
 	/* draw motion paths (in view space) */
-	if (ob->mpath) {
+	if (ob->mpath && (v3d->flag2 & V3D_RENDER_OVERRIDE)==0) {
 		bAnimVizSettings *avs= &ob->avs;
 		
 		/* setup drawing environment for paths */
diff --git a/source/blender/editors/space_view3d/view3d_toolbar.c b/source/blender/editors/space_view3d/view3d_toolbar.c
index 50dd98b08a4..3cc3bde9754 100644
--- a/source/blender/editors/space_view3d/view3d_toolbar.c
+++ b/source/blender/editors/space_view3d/view3d_toolbar.c
@@ -46,6 +46,7 @@
 #include "BLI_editVert.h"
 #include "BLI_rand.h"
 #include "BLI_utildefines.h"
+#include "BLI_ghash.h"
 
 #include "BKE_context.h"
 #include "BKE_idprop.h"
@@ -140,10 +141,11 @@ static void operator_call_cb(struct bContext *C, void *arg_listbase, void *arg2)
 
 static void operator_search_cb(const struct bContext *C, void *UNUSED(arg), const char *str, uiSearchItems *items)
 {
-	wmOperatorType *ot = WM_operatortype_first();
-	
-	for(; ot; ot= ot->next) {
-		
+	GHashIterator *iter= WM_operatortype_iter();
+
+	for( ; !BLI_ghashIterator_isDone(iter); BLI_ghashIterator_step(iter)) {
+		wmOperatorType *ot= BLI_ghashIterator_getValue(iter);
+
 		if(BLI_strcasestr(ot->name, str)) {
 			if(WM_operator_poll((bContext*)C, ot)) {
 				
@@ -152,6 +154,7 @@ static void operator_search_cb(const struct bContext *C, void *UNUSED(arg), cons
 			}
 		}
 	}
+	BLI_ghashIterator_free(iter);
 }
 
 
diff --git a/source/blender/editors/transform/CMakeLists.txt b/source/blender/editors/transform/CMakeLists.txt
index 283b09f42e4..e44cc1f5df3 100644
--- a/source/blender/editors/transform/CMakeLists.txt
+++ b/source/blender/editors/transform/CMakeLists.txt
@@ -41,7 +41,6 @@ set(SRC
 	transform_generics.c
 	transform_input.c
 	transform_manipulator.c
-	transform_ndofinput.c
 	transform_ops.c
 	transform_orientations.c
 	transform_snap.c
diff --git a/source/blender/editors/transform/transform.c b/source/blender/editors/transform/transform.c
index 39e26bc6436..c1c812e8c68 100644
--- a/source/blender/editors/transform/transform.c
+++ b/source/blender/editors/transform/transform.c
@@ -1006,11 +1006,6 @@ int transformEvent(TransInfo *t, wmEvent *event)
 			else view_editmove(event->type);
 			t->redraw= 1;
 			break;
-#if 0
-		case NDOF_MOTION:
-			// should have been caught by tranform_modal
-			return OPERATOR_PASS_THROUGH;
-#endif
 		default:
 			handled = 0;
 			break;
diff --git a/source/blender/editors/transform/transform.h b/source/blender/editors/transform/transform.h
index d8e42488787..485344875d4 100644
--- a/source/blender/editors/transform/transform.h
+++ b/source/blender/editors/transform/transform.h
@@ -67,14 +67,6 @@ struct wmTimer;
 struct ARegion;
 struct ReportList;
 
-typedef struct NDofInput {
-	int		flag;
-	int		axis;
-	float	fval[7];
-	float	factor[3];
-} NDofInput;
-
-
 /*
 	The ctrl value has different meaning:
 		0			: No value has been typed
@@ -273,7 +265,6 @@ typedef struct TransInfo {
 	TransCon    con;            /* transformed constraint               */
 	TransSnap	tsnap;
 	NumInput    num;            /* numerical input                      */
-	NDofInput   ndof;           /* ndof input                           */
 	MouseInput	mouse;			/* mouse input                          */
 	char        redraw;         /* redraw flag                          */
 	float		prop_size;		/* proportional circle radius           */
@@ -340,9 +331,6 @@ typedef struct TransInfo {
 
 /* ******************** Macros & Prototypes *********************** */
 
-/* NDOFINPUT FLAGS */
-#define NDOF_INIT			1
-
 /* transinfo->state */
 #define TRANS_STARTING  0
 #define TRANS_RUNNING	1
@@ -683,20 +671,6 @@ void calculatePropRatio(TransInfo *t);
 
 void getViewVector(TransInfo *t, float coord[3], float vec[3]);
 
-/*********************** NDofInput ********************************/
-
-void initNDofInput(NDofInput *n);
-int hasNDofInput(NDofInput *n);
-void applyNDofInput(NDofInput *n, float *vec);
-int handleNDofInput(NDofInput *n, struct wmEvent *event);
-
-/* handleNDofInput return values */
-#define NDOF_REFRESH	1
-#define NDOF_NOMOVE		2
-#define NDOF_CONFIRM	3
-#define NDOF_CANCEL		4
-
-
 /*********************** Transform Orientations ******************************/
 
 void initTransformOrientation(struct bContext *C, TransInfo *t);
diff --git a/source/blender/editors/transform/transform_generics.c b/source/blender/editors/transform/transform_generics.c
index c81c398e696..306796efee9 100644
--- a/source/blender/editors/transform/transform_generics.c
+++ b/source/blender/editors/transform/transform_generics.c
@@ -1165,7 +1165,6 @@ int initTransInfo (bContext *C, TransInfo *t, wmOperator *op, wmEvent *event)
 	
 	setTransformViewMatrices(t);
 	initNumInput(&t->num);
-	initNDofInput(&t->ndof);
 	
 	return 1;
 }
diff --git a/source/blender/editors/transform/transform_ndofinput.c b/source/blender/editors/transform/transform_ndofinput.c
deleted file mode 100644
index c5946163770..00000000000
--- a/source/blender/editors/transform/transform_ndofinput.c
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
- * $Id$
- *
- * ***** BEGIN GPL LICENSE BLOCK *****
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): Martin Poirier
- *
- * ***** END GPL LICENSE BLOCK *****
- */
-
-/** \file blender/editors/transform/transform_ndofinput.c
- *  \ingroup edtransform
- */
-
- 
- #include <math.h>			/* fabs */
-#include <stdio.h>			/* for sprintf		*/
-
-#include "BLI_utildefines.h"
-
-#include "BKE_global.h"		/* for G			*/
-	/* ABS */
-
-#include "WM_types.h"
-
-#include "transform.h"
-
-#if 0
-static int updateNDofMotion(NDofInput *n); // return 0 when motion is null
-#endif
-static void resetNDofInput(NDofInput *n);
-
-void initNDofInput(NDofInput *n)
-{
-	int i;
-
-	n->flag = 0;
-	n->axis = 0;
-	
-	resetNDofInput(n);
-	
-	for(i = 0; i < 3; i++)
-	{
-		n->factor[i] = 1.0f;
-	}
-}
-
-static void resetNDofInput(NDofInput *n)
-{	
-	int i;
-	for(i = 0; i < 6; i++)
-	{
-		n->fval[i] = 0.0f;
-	}
-}
-
- 
-int handleNDofInput(NDofInput *UNUSED(n), wmEvent *UNUSED(event))
-{
-	int retval = 0;
-	// TRANSFORM_FIX_ME
-#if 0
-	switch(event)
-	{
-		case NDOFMOTION:
-			if (updateNDofMotion(n) == 0)
-			{
-				retval = NDOF_NOMOVE;
-			}
-			else
-			{
-				retval = NDOF_REFRESH;
-			}
-			break;
-		case NDOFBUTTON:
-			if (val == 1) 
-			{
-				retval = NDOF_CONFIRM;
-			}
-			else if (val == 2) 
-			{
-				retval = NDOF_CANCEL;
-				resetNDofInput(n);
-				n->flag &= ~NDOF_INIT;
-			}
-			break;
-	}
-#endif 	
-	return retval;
-}
-
-int hasNDofInput(NDofInput *n)
-{
-	return (n->flag & NDOF_INIT) == NDOF_INIT;
-}
-
-void applyNDofInput(NDofInput *n, float *vec)
-{
-	if (hasNDofInput(n))
-	{
-		int i, j;
-		
-		for (i = 0, j = 0; i < 6; i++)
-		{
-			if (n->axis & (1 << i))
-			{
-				vec[j] = n->fval[i] * n->factor[j];
-				j++;
-			}
-		}
-	}
-}
-
-// TRANSFORM_FIX_ME
-#if 0
-
-static int updateNDofMotion(NDofInput *n)
-{
-	float fval[7];
-	int i;
-	int retval = 0;
-
-	getndof(fval);
-
-	if (G.vd->ndoffilter)
-		filterNDOFvalues(fval);
-
-	for(i = 0; i < 6; i++)
-	{
-		if (!retval && fval[i] != 0.0f)
-		{
-			retval = 1;
-		}
-		
-		n->fval[i] += fval[i] / 1024.0f;
-	}
-	
-	n->flag |= NDOF_INIT;
-	
-	return retval;
-}
-#endif
-
-
-
-
diff --git a/source/blender/editors/transform/transform_ops.c b/source/blender/editors/transform/transform_ops.c
index 54e0b31e201..231293024f0 100644
--- a/source/blender/editors/transform/transform_ops.c
+++ b/source/blender/editors/transform/transform_ops.c
@@ -360,17 +360,14 @@ static int transform_modal(bContext *C, wmOperator *op, wmEvent *event)
 
 	TransInfo *t = op->customdata;
 
-	#if 0
+#if 0
 	// stable 2D mouse coords map to different 3D coords while the 3D mouse is active
 	// in other words, 2D deltas are no longer good enough!
 	// disable until individual 'transformers' behave better
 
 	if (event->type == NDOF_MOTION)
-	{
-		/* puts("transform_modal: passing through NDOF_MOTION"); */
 		return OPERATOR_PASS_THROUGH;
-	}
-	#endif
+#endif
 
 	/* XXX insert keys are called here, and require context */
 	t->context= C;
diff --git a/source/blender/imbuf/intern/anim_movie.c b/source/blender/imbuf/intern/anim_movie.c
index 919b0eb0c29..8b0104fcdca 100644
--- a/source/blender/imbuf/intern/anim_movie.c
+++ b/source/blender/imbuf/intern/anim_movie.c
@@ -355,7 +355,7 @@ struct anim * IMB_open_anim( const char * name, int ib_flags) {
 
 	anim = (struct anim*)MEM_callocN(sizeof(struct anim), "anim struct");
 	if (anim != NULL) {
-		strcpy(anim->name, name);  /* fixme: possible buffer overflow here? */
+		BLI_strncpy(anim->name, name, sizeof(anim->name));
 		anim->ib_flags = ib_flags;
 	}
 	return(anim);
diff --git a/source/blender/imbuf/intern/filter.c b/source/blender/imbuf/intern/filter.c
index 1644e653df4..3f391b91c0f 100644
--- a/source/blender/imbuf/intern/filter.c
+++ b/source/blender/imbuf/intern/filter.c
@@ -371,11 +371,15 @@ void IMB_filter_extend(struct ImBuf *ibuf, char *mask, int filter)
 	float weight[25];
 
 	/* build a weights buffer */
-	n= 2;
-	k= 0;
+	n= 1;
+	/*k= 0;
 	for(i = -n; i <= n; i++)
 		for(j = -n; j <= n; j++)
 			weight[k++] = sqrt((float) i * i + j * j);
+			*/
+	weight[0]=1; weight[1]=2; weight[2]=1;
+	weight[3]=2; weight[4]=0; weight[5]=2;
+	weight[6]=1; weight[7]=2; weight[8]=1;
 
 	/* run passes */
 	for(r = 0; cannot_early_out == 1 && r < filter; r++) {
@@ -393,10 +397,10 @@ void IMB_filter_extend(struct ImBuf *ibuf, char *mask, int filter)
 					float acc[4]={0,0,0,0};
 					k = 0;
 
-					if (check_pixel_assigned(srcbuf, srcmask, filter_make_index(x-1, y, width, height), depth, is_float) ||
+					/*if (check_pixel_assigned(srcbuf, srcmask, filter_make_index(x-1, y, width, height), depth, is_float) ||
 						check_pixel_assigned(srcbuf, srcmask, filter_make_index(x+1, y, width, height), depth, is_float) ||
 						check_pixel_assigned(srcbuf, srcmask, filter_make_index(x, y-1, width, height), depth, is_float) ||
-						check_pixel_assigned(srcbuf, srcmask, filter_make_index(x, y+1, width, height), depth, is_float)) {
+						check_pixel_assigned(srcbuf, srcmask, filter_make_index(x, y+1, width, height), depth, is_float))*/ {
 						for(i= -n; i<=n; i++) {
 							for(j=-n; j<=n; j++) {
 								if(i != 0 || j != 0) {
diff --git a/source/blender/makesdna/DNA_modifier_types.h b/source/blender/makesdna/DNA_modifier_types.h
index 3787675f339..053f3b38168 100644
--- a/source/blender/makesdna/DNA_modifier_types.h
+++ b/source/blender/makesdna/DNA_modifier_types.h
@@ -712,16 +712,16 @@ typedef struct ShapeKeyModifierData {
 typedef struct SolidifyModifierData {
 	ModifierData modifier;
 
-	char defgrp_name[32];		/* name of vertex group to use */
+	char defgrp_name[32];	/* name of vertex group to use */
 	float offset;			/* new surface offset level*/
 	float offset_fac;		/* midpoint of the offset  */
+	float offset_fac_vg;	/* factor for the minimum weight to use when vgroups are used, avoids 0.0 weights giving duplicate geometry */
 	float crease_inner;
 	float crease_outer;
 	float crease_rim;
 	int flag;
 	short mat_ofs;
 	short mat_ofs_rim;
-	int pad;
 } SolidifyModifierData;
 
 #define MOD_SOLIDIFY_RIM			(1<<0)
diff --git a/source/blender/makesrna/RNA_access.h b/source/blender/makesrna/RNA_access.h
index 963b3de3b4d..c1427ca0e79 100644
--- a/source/blender/makesrna/RNA_access.h
+++ b/source/blender/makesrna/RNA_access.h
@@ -47,532 +47,534 @@ struct Scene;
 /* Types */
 
 extern BlenderRNA BLENDER_RNA;
-extern LIBEXPORT StructRNA RNA_Action;
-extern LIBEXPORT StructRNA RNA_ActionConstraint;
-extern LIBEXPORT StructRNA RNA_ActionGroup;
-extern LIBEXPORT StructRNA RNA_Actuator;
-extern LIBEXPORT StructRNA RNA_ActuatorSensor;
-extern LIBEXPORT StructRNA RNA_Addon;
-extern LIBEXPORT StructRNA RNA_AdjustmentSequence;
-extern LIBEXPORT StructRNA RNA_AlwaysSensor;
-extern LIBEXPORT StructRNA RNA_AndController;
-extern LIBEXPORT StructRNA RNA_AnimData;
-extern LIBEXPORT StructRNA RNA_AnimViz;
-extern LIBEXPORT StructRNA RNA_AnimVizMotionPaths;
-extern LIBEXPORT StructRNA RNA_AnimVizOnionSkinning;
-extern LIBEXPORT StructRNA RNA_AnyType;
-extern LIBEXPORT StructRNA RNA_Area;
-extern LIBEXPORT StructRNA RNA_AreaLamp;
-extern LIBEXPORT StructRNA RNA_Armature;
-extern LIBEXPORT StructRNA RNA_ArmatureModifier;
-extern LIBEXPORT StructRNA RNA_ArmatureSensor;
-extern LIBEXPORT StructRNA RNA_ArrayModifier;
-extern LIBEXPORT StructRNA RNA_BackgroundImage;
-extern LIBEXPORT StructRNA RNA_BevelModifier;
-extern LIBEXPORT StructRNA RNA_BezierSplinePoint;
-extern LIBEXPORT StructRNA RNA_BlendData;
-extern LIBEXPORT StructRNA RNA_BlendTexture;
-extern LIBEXPORT StructRNA RNA_BlenderRNA;
-extern LIBEXPORT StructRNA RNA_BoidRule;
-extern LIBEXPORT StructRNA RNA_BoidRuleAverageSpeed;
-extern LIBEXPORT StructRNA RNA_BoidRuleAvoid;
-extern LIBEXPORT StructRNA RNA_BoidRuleAvoidCollision;
-extern LIBEXPORT StructRNA RNA_BoidRuleFight;
-extern LIBEXPORT StructRNA RNA_BoidRuleFollowLeader;
-extern LIBEXPORT StructRNA RNA_BoidRuleGoal;
-extern LIBEXPORT StructRNA RNA_BoidSettings;
-extern LIBEXPORT StructRNA RNA_BoidState;
-extern LIBEXPORT StructRNA RNA_Bone;
-extern LIBEXPORT StructRNA RNA_BoneGroup;
-extern LIBEXPORT StructRNA RNA_BooleanModifier;
-extern LIBEXPORT StructRNA RNA_BooleanProperty;
-extern LIBEXPORT StructRNA RNA_Brush;
-extern LIBEXPORT StructRNA RNA_BrushTextureSlot;
-extern LIBEXPORT StructRNA RNA_BuildModifier;
-extern LIBEXPORT StructRNA RNA_Camera;
-extern LIBEXPORT StructRNA RNA_CastModifier;
-extern LIBEXPORT StructRNA RNA_ChildOfConstraint;
-extern LIBEXPORT StructRNA RNA_ChildParticle;
-extern LIBEXPORT StructRNA RNA_ClampToConstraint;
-extern LIBEXPORT StructRNA RNA_ClothCollisionSettings;
-extern LIBEXPORT StructRNA RNA_ClothModifier;
-extern LIBEXPORT StructRNA RNA_ClothSettings;
-extern LIBEXPORT StructRNA RNA_CloudsTexture;
-extern LIBEXPORT StructRNA RNA_CollectionProperty;
-extern LIBEXPORT StructRNA RNA_CollisionModifier;
-extern LIBEXPORT StructRNA RNA_CollisionSensor;
-extern LIBEXPORT StructRNA RNA_CollisionSettings;
-extern LIBEXPORT StructRNA RNA_ColorRamp;
-extern LIBEXPORT StructRNA RNA_ColorRampElement;
-extern LIBEXPORT StructRNA RNA_ColorSequence;
-extern LIBEXPORT StructRNA RNA_CompositorNode;
-extern LIBEXPORT StructRNA RNA_CompositorNodeAlphaOver;
-extern LIBEXPORT StructRNA RNA_CompositorNodeBilateralblur;
-extern LIBEXPORT StructRNA RNA_CompositorNodeBlur;
-extern LIBEXPORT StructRNA RNA_CompositorNodeBrightContrast;
-extern LIBEXPORT StructRNA RNA_CompositorNodeChannelMatte;
-extern LIBEXPORT StructRNA RNA_CompositorNodeChromaMatte;
-extern LIBEXPORT StructRNA RNA_CompositorNodeColorMatte;
-extern LIBEXPORT StructRNA RNA_CompositorNodeColorSpill;
-extern LIBEXPORT StructRNA RNA_CompositorNodeCombHSVA;
-extern LIBEXPORT StructRNA RNA_CompositorNodeCombRGBA;
-extern LIBEXPORT StructRNA RNA_CompositorNodeCombYCCA;
-extern LIBEXPORT StructRNA RNA_CompositorNodeCombYUVA;
-extern LIBEXPORT StructRNA RNA_CompositorNodeComposite;
-extern LIBEXPORT StructRNA RNA_CompositorNodeCrop;
-extern LIBEXPORT StructRNA RNA_CompositorNodeCurveRGB;
-extern LIBEXPORT StructRNA RNA_CompositorNodeCurveVec;
-extern LIBEXPORT StructRNA RNA_CompositorNodeDBlur;
-extern LIBEXPORT StructRNA RNA_CompositorNodeDefocus;
-extern LIBEXPORT StructRNA RNA_CompositorNodeDiffMatte;
-extern LIBEXPORT StructRNA RNA_CompositorNodeDilateErode;
-extern LIBEXPORT StructRNA RNA_CompositorNodeDisplace;
-extern LIBEXPORT StructRNA RNA_CompositorNodeDistanceMatte;
-extern LIBEXPORT StructRNA RNA_CompositorNodeFilter;
-extern LIBEXPORT StructRNA RNA_CompositorNodeFlip;
-extern LIBEXPORT StructRNA RNA_CompositorNodeGamma;
-extern LIBEXPORT StructRNA RNA_CompositorNodeGlare;
-extern LIBEXPORT StructRNA RNA_CompositorNodeHueSat;
-extern LIBEXPORT StructRNA RNA_CompositorNodeIDMask;
-extern LIBEXPORT StructRNA RNA_CompositorNodeImage;
-extern LIBEXPORT StructRNA RNA_CompositorNodeInvert;
-extern LIBEXPORT StructRNA RNA_CompositorNodeLensdist;
-extern LIBEXPORT StructRNA RNA_CompositorNodeLevels;
-extern LIBEXPORT StructRNA RNA_CompositorNodeLumaMatte;
-extern LIBEXPORT StructRNA RNA_CompositorNodeMapUV;
-extern LIBEXPORT StructRNA RNA_CompositorNodeMapValue;
-extern LIBEXPORT StructRNA RNA_CompositorNodeMath;
-extern LIBEXPORT StructRNA RNA_CompositorNodeMixRGB;
-extern LIBEXPORT StructRNA RNA_CompositorNodeNormal;
-extern LIBEXPORT StructRNA RNA_CompositorNodeNormalize;
-extern LIBEXPORT StructRNA RNA_CompositorNodeOutputFile;
-extern LIBEXPORT StructRNA RNA_CompositorNodePremulKey;
-extern LIBEXPORT StructRNA RNA_CompositorNodeRGB;
-extern LIBEXPORT StructRNA RNA_CompositorNodeRGBToBW;
-extern LIBEXPORT StructRNA RNA_CompositorNodeRLayers;
-extern LIBEXPORT StructRNA RNA_CompositorNodeRotate;
-extern LIBEXPORT StructRNA RNA_CompositorNodeScale;
-extern LIBEXPORT StructRNA RNA_CompositorNodeSepHSVA;
-extern LIBEXPORT StructRNA RNA_CompositorNodeSepRGBA;
-extern LIBEXPORT StructRNA RNA_CompositorNodeSepYCCA;
-extern LIBEXPORT StructRNA RNA_CompositorNodeSepYUVA;
-extern LIBEXPORT StructRNA RNA_CompositorNodeSetAlpha;
-extern LIBEXPORT StructRNA RNA_CompositorNodeSplitViewer;
-extern LIBEXPORT StructRNA RNA_CompositorNodeTexture;
-extern LIBEXPORT StructRNA RNA_CompositorNodeTime;
-extern LIBEXPORT StructRNA RNA_CompositorNodeTonemap;
-extern LIBEXPORT StructRNA RNA_CompositorNodeTranslate;
-extern LIBEXPORT StructRNA RNA_CompositorNodeTree;
-extern LIBEXPORT StructRNA RNA_CompositorNodeValToRGB;
-extern LIBEXPORT StructRNA RNA_CompositorNodeValue;
-extern LIBEXPORT StructRNA RNA_CompositorNodeVecBlur;
-extern LIBEXPORT StructRNA RNA_CompositorNodeViewer;
-extern LIBEXPORT StructRNA RNA_CompositorNodeZcombine;
-extern LIBEXPORT StructRNA RNA_ConsoleLine;
-extern LIBEXPORT StructRNA RNA_Constraint;
-extern LIBEXPORT StructRNA RNA_ConstraintTarget;
-extern LIBEXPORT StructRNA RNA_Context;
-extern LIBEXPORT StructRNA RNA_ControlFluidSettings;
-extern LIBEXPORT StructRNA RNA_Controller;
-extern LIBEXPORT StructRNA RNA_CopyLocationConstraint;
-extern LIBEXPORT StructRNA RNA_CopyRotationConstraint;
-extern LIBEXPORT StructRNA RNA_CopyScaleConstraint;
-extern LIBEXPORT StructRNA RNA_CopyTransformsConstraint;
-extern LIBEXPORT StructRNA RNA_Curve;
-extern LIBEXPORT StructRNA RNA_CurveMap;
-extern LIBEXPORT StructRNA RNA_CurveMapPoint;
-extern LIBEXPORT StructRNA RNA_CurveMapping;
-extern LIBEXPORT StructRNA RNA_CurveModifier;
-extern LIBEXPORT StructRNA RNA_CurvePoint;
-extern LIBEXPORT StructRNA RNA_DampedTrackConstraint;
-extern LIBEXPORT StructRNA RNA_DecimateModifier;
-extern LIBEXPORT StructRNA RNA_DelaySensor;
-extern LIBEXPORT StructRNA RNA_DisplaceModifier;
-extern LIBEXPORT StructRNA RNA_DistortedNoiseTexture;
-extern LIBEXPORT StructRNA RNA_DomainFluidSettings;
-extern LIBEXPORT StructRNA RNA_Driver;
-extern LIBEXPORT StructRNA RNA_DriverTarget;
-extern LIBEXPORT StructRNA RNA_DriverVariable;
-extern LIBEXPORT StructRNA RNA_DupliObject;
-extern LIBEXPORT StructRNA RNA_EdgeSplitModifier;
-extern LIBEXPORT StructRNA RNA_EditBone;
-extern LIBEXPORT StructRNA RNA_EffectSequence;
-extern LIBEXPORT StructRNA RNA_EffectorWeights;
-extern LIBEXPORT StructRNA RNA_EnumProperty;
-extern LIBEXPORT StructRNA RNA_EnumPropertyItem;
-extern LIBEXPORT StructRNA RNA_EnvironmentMap;
-extern LIBEXPORT StructRNA RNA_EnvironmentMapTexture;
-extern LIBEXPORT StructRNA RNA_Event;
-extern LIBEXPORT StructRNA RNA_ExplodeModifier;
-extern LIBEXPORT StructRNA RNA_ExpressionController;
-extern LIBEXPORT StructRNA RNA_FCurve;
-extern LIBEXPORT StructRNA RNA_FCurveSample;
-extern LIBEXPORT StructRNA RNA_FModifier;
-extern LIBEXPORT StructRNA RNA_FModifierCycles;
-extern LIBEXPORT StructRNA RNA_FModifierEnvelope;
-extern LIBEXPORT StructRNA RNA_FModifierEnvelopeControlPoint;
-extern LIBEXPORT StructRNA RNA_FModifierFunctionGenerator;
-extern LIBEXPORT StructRNA RNA_FModifierGenerator;
-extern LIBEXPORT StructRNA RNA_FModifierLimits;
-extern LIBEXPORT StructRNA RNA_FModifierNoise;
-extern LIBEXPORT StructRNA RNA_FModifierPython;
-extern LIBEXPORT StructRNA RNA_FModifierStepped;
-extern LIBEXPORT StructRNA RNA_FieldSettings;
-extern LIBEXPORT StructRNA RNA_FileSelectParams;
-extern LIBEXPORT StructRNA RNA_FloatProperty;
-extern LIBEXPORT StructRNA RNA_FloorConstraint;
-extern LIBEXPORT StructRNA RNA_FluidFluidSettings;
-extern LIBEXPORT StructRNA RNA_FluidSettings;
-extern LIBEXPORT StructRNA RNA_FluidSimulationModifier;
-extern LIBEXPORT StructRNA RNA_FollowPathConstraint;
-extern LIBEXPORT StructRNA RNA_Function;
-extern LIBEXPORT StructRNA RNA_GPencilFrame;
-extern LIBEXPORT StructRNA RNA_GPencilLayer;
-extern LIBEXPORT StructRNA RNA_GPencilStroke;
-extern LIBEXPORT StructRNA RNA_GPencilStrokePoint;
-extern LIBEXPORT StructRNA RNA_GameBooleanProperty;
-extern LIBEXPORT StructRNA RNA_GameFloatProperty;
-extern LIBEXPORT StructRNA RNA_GameIntProperty;
-extern LIBEXPORT StructRNA RNA_GameObjectSettings;
-extern LIBEXPORT StructRNA RNA_GameProperty;
-extern LIBEXPORT StructRNA RNA_GameSoftBodySettings;
-extern LIBEXPORT StructRNA RNA_GameStringProperty;
-extern LIBEXPORT StructRNA RNA_GameTimerProperty;
-extern LIBEXPORT StructRNA RNA_GlowSequence;
-extern LIBEXPORT StructRNA RNA_GreasePencil;
-extern LIBEXPORT StructRNA RNA_Group;
-extern LIBEXPORT StructRNA RNA_Header;
-extern LIBEXPORT StructRNA RNA_HemiLamp;
-extern LIBEXPORT StructRNA RNA_Histogram;
-extern LIBEXPORT StructRNA RNA_HookModifier;
-extern LIBEXPORT StructRNA RNA_ID;
-extern LIBEXPORT StructRNA RNA_IKParam;
-extern LIBEXPORT StructRNA RNA_Image;
-extern LIBEXPORT StructRNA RNA_ImagePaint;
-extern LIBEXPORT StructRNA RNA_ImageSequence;
-extern LIBEXPORT StructRNA RNA_ImageTexture;
-extern LIBEXPORT StructRNA RNA_ImageUser;
-extern LIBEXPORT StructRNA RNA_InflowFluidSettings;
-extern LIBEXPORT StructRNA RNA_IntProperty;
-extern LIBEXPORT StructRNA RNA_Itasc;
-extern LIBEXPORT StructRNA RNA_JoystickSensor;
-extern LIBEXPORT StructRNA RNA_Key;
-extern LIBEXPORT StructRNA RNA_KeyConfig;
-extern LIBEXPORT StructRNA RNA_KeyMap;
-extern LIBEXPORT StructRNA RNA_KeyMapItem;
-extern LIBEXPORT StructRNA RNA_KeyboardSensor;
-extern LIBEXPORT StructRNA RNA_Keyframe;
-extern LIBEXPORT StructRNA RNA_KeyingSet;
-extern LIBEXPORT StructRNA RNA_KeyingSetInfo;
-extern LIBEXPORT StructRNA RNA_KeyingSetPath;
-extern LIBEXPORT StructRNA RNA_KinematicConstraint;
-extern LIBEXPORT StructRNA RNA_Lamp;
-extern LIBEXPORT StructRNA RNA_LampSkySettings;
-extern LIBEXPORT StructRNA RNA_LampTextureSlot;
-extern LIBEXPORT StructRNA RNA_Lattice;
-extern LIBEXPORT StructRNA RNA_LatticeModifier;
-extern LIBEXPORT StructRNA RNA_LatticePoint;
-extern LIBEXPORT StructRNA RNA_Library;
-extern LIBEXPORT StructRNA RNA_LimitDistanceConstraint;
-extern LIBEXPORT StructRNA RNA_LimitLocationConstraint;
-extern LIBEXPORT StructRNA RNA_LimitRotationConstraint;
-extern LIBEXPORT StructRNA RNA_LimitScaleConstraint;
-extern LIBEXPORT StructRNA RNA_LockedTrackConstraint;
-extern LIBEXPORT StructRNA RNA_Macro;
-extern LIBEXPORT StructRNA RNA_MagicTexture;
-extern LIBEXPORT StructRNA RNA_MarbleTexture;
-extern LIBEXPORT StructRNA RNA_MaskModifier;
-extern LIBEXPORT StructRNA RNA_Material;
-extern LIBEXPORT StructRNA RNA_MaterialHalo;
-extern LIBEXPORT StructRNA RNA_MaterialPhysics;
-extern LIBEXPORT StructRNA RNA_MaterialRaytraceMirror;
-extern LIBEXPORT StructRNA RNA_MaterialRaytraceTransparency;
-extern LIBEXPORT StructRNA RNA_MaterialSlot;
-extern LIBEXPORT StructRNA RNA_MaterialStrand;
-extern LIBEXPORT StructRNA RNA_MaterialSubsurfaceScattering;
-extern LIBEXPORT StructRNA RNA_MaterialTextureSlot;
-extern LIBEXPORT StructRNA RNA_MaterialVolume;
-extern LIBEXPORT StructRNA RNA_Menu;
-extern LIBEXPORT StructRNA RNA_Mesh;
-extern LIBEXPORT StructRNA RNA_MeshColor;
-extern LIBEXPORT StructRNA RNA_MeshColorLayer;
-extern LIBEXPORT StructRNA RNA_MeshDeformModifier;
-extern LIBEXPORT StructRNA RNA_MeshEdge;
-extern LIBEXPORT StructRNA RNA_MeshFace;
-extern LIBEXPORT StructRNA RNA_MeshFloatProperty;
-extern LIBEXPORT StructRNA RNA_MeshFloatPropertyLayer;
-extern LIBEXPORT StructRNA RNA_MeshIntProperty;
-extern LIBEXPORT StructRNA RNA_MeshIntPropertyLayer;
-extern LIBEXPORT StructRNA RNA_MeshSticky;
-extern LIBEXPORT StructRNA RNA_MeshStringProperty;
-extern LIBEXPORT StructRNA RNA_MeshStringPropertyLayer;
-extern LIBEXPORT StructRNA RNA_MeshTextureFace;
-extern LIBEXPORT StructRNA RNA_MeshTextureFaceLayer;
-extern LIBEXPORT StructRNA RNA_MeshVertex;
-extern LIBEXPORT StructRNA RNA_MessageSensor;
-extern LIBEXPORT StructRNA RNA_MetaBall;
-extern LIBEXPORT StructRNA RNA_MetaElement;
-extern LIBEXPORT StructRNA RNA_MetaSequence;
-extern LIBEXPORT StructRNA RNA_MirrorModifier;
-extern LIBEXPORT StructRNA RNA_Modifier;
-extern LIBEXPORT StructRNA RNA_MotionPath;
-extern LIBEXPORT StructRNA RNA_MotionPathVert;
-extern LIBEXPORT StructRNA RNA_MouseSensor;
-extern LIBEXPORT StructRNA RNA_MovieSequence;
-extern LIBEXPORT StructRNA RNA_MulticamSequence;
-extern LIBEXPORT StructRNA RNA_MultiresModifier;
-extern LIBEXPORT StructRNA RNA_MusgraveTexture;
-extern LIBEXPORT StructRNA RNA_NandController;
-extern LIBEXPORT StructRNA RNA_NearSensor;
-extern LIBEXPORT StructRNA RNA_NlaStrip;
-extern LIBEXPORT StructRNA RNA_NlaTrack;
-extern LIBEXPORT StructRNA RNA_Node;
-extern LIBEXPORT StructRNA RNA_NodeGroup;
-extern LIBEXPORT StructRNA RNA_NodeLink;
-extern LIBEXPORT StructRNA RNA_NodeSocket;
-extern LIBEXPORT StructRNA RNA_NodeTree;
-extern LIBEXPORT StructRNA RNA_NoiseTexture;
-extern LIBEXPORT StructRNA RNA_NorController;
-extern LIBEXPORT StructRNA RNA_Object;
-extern LIBEXPORT StructRNA RNA_ObjectBase;
-extern LIBEXPORT StructRNA RNA_ObstacleFluidSettings;
-extern LIBEXPORT StructRNA RNA_Operator;
-extern LIBEXPORT StructRNA RNA_OperatorFileListElement;
-extern LIBEXPORT StructRNA RNA_OperatorMousePath;
-extern LIBEXPORT StructRNA RNA_OperatorProperties;
-extern LIBEXPORT StructRNA RNA_OperatorStrokeElement;
-extern LIBEXPORT StructRNA RNA_OperatorTypeMacro;
-extern LIBEXPORT StructRNA RNA_OrController;
-extern LIBEXPORT StructRNA RNA_OutflowFluidSettings;
-extern LIBEXPORT StructRNA RNA_PackedFile;
-extern LIBEXPORT StructRNA RNA_Paint;
-extern LIBEXPORT StructRNA RNA_Panel;
-extern LIBEXPORT StructRNA RNA_Particle;
-extern LIBEXPORT StructRNA RNA_ParticleBrush;
-extern LIBEXPORT StructRNA RNA_ParticleDupliWeight;
-extern LIBEXPORT StructRNA RNA_ParticleEdit;
-extern LIBEXPORT StructRNA RNA_ParticleFluidSettings;
-extern LIBEXPORT StructRNA RNA_ParticleHairKey;
-extern LIBEXPORT StructRNA RNA_ParticleInstanceModifier;
-extern LIBEXPORT StructRNA RNA_ParticleKey;
-extern LIBEXPORT StructRNA RNA_ParticleSettings;
-extern LIBEXPORT StructRNA RNA_ParticleSettingsTextureSlot;
-extern LIBEXPORT StructRNA RNA_ParticleSystem;
-extern LIBEXPORT StructRNA RNA_ParticleSystemModifier;
-extern LIBEXPORT StructRNA RNA_ParticleTarget;
-extern LIBEXPORT StructRNA RNA_PivotConstraint;
-extern LIBEXPORT StructRNA RNA_PluginSequence;
-extern LIBEXPORT StructRNA RNA_PluginTexture;
-extern LIBEXPORT StructRNA RNA_PointCache;
-extern LIBEXPORT StructRNA RNA_PointDensity;
-extern LIBEXPORT StructRNA RNA_PointDensityTexture;
-extern LIBEXPORT StructRNA RNA_PointLamp;
-extern LIBEXPORT StructRNA RNA_PointerProperty;
-extern LIBEXPORT StructRNA RNA_Pose;
-extern LIBEXPORT StructRNA RNA_PoseBone;
-extern LIBEXPORT StructRNA RNA_Property;
-extern LIBEXPORT StructRNA RNA_PropertyGroup;
-extern LIBEXPORT StructRNA RNA_PropertyGroupItem;
-extern LIBEXPORT StructRNA RNA_PropertySensor;
-extern LIBEXPORT StructRNA RNA_PythonConstraint;
-extern LIBEXPORT StructRNA RNA_PythonController;
-extern LIBEXPORT StructRNA RNA_RGBANodeSocket;
-extern LIBEXPORT StructRNA RNA_RadarSensor;
-extern LIBEXPORT StructRNA RNA_RandomSensor;
-extern LIBEXPORT StructRNA RNA_RaySensor;
-extern LIBEXPORT StructRNA RNA_Region;
-extern LIBEXPORT StructRNA RNA_RenderEngine;
-extern LIBEXPORT StructRNA RNA_RenderLayer;
-extern LIBEXPORT StructRNA RNA_RenderPass;
-extern LIBEXPORT StructRNA RNA_RenderResult;
-extern LIBEXPORT StructRNA RNA_RenderSettings;
-extern LIBEXPORT StructRNA RNA_RigidBodyJointConstraint;
-extern LIBEXPORT StructRNA RNA_SPHFluidSettings;
-extern LIBEXPORT StructRNA RNA_Scene;
-extern LIBEXPORT StructRNA RNA_SceneGameData;
-extern LIBEXPORT StructRNA RNA_SceneRenderLayer;
-extern LIBEXPORT StructRNA RNA_SceneSequence;
-extern LIBEXPORT StructRNA RNA_Scopes;
-extern LIBEXPORT StructRNA RNA_Screen;
-extern LIBEXPORT StructRNA RNA_ScrewModifier;
-extern LIBEXPORT StructRNA RNA_Sculpt;
-extern LIBEXPORT StructRNA RNA_Sensor;
-extern LIBEXPORT StructRNA RNA_Sequence;
-extern LIBEXPORT StructRNA RNA_SequenceColorBalance;
-extern LIBEXPORT StructRNA RNA_SequenceCrop;
-extern LIBEXPORT StructRNA RNA_SequenceEditor;
-extern LIBEXPORT StructRNA RNA_SequenceElement;
-extern LIBEXPORT StructRNA RNA_SequenceProxy;
-extern LIBEXPORT StructRNA RNA_SequenceTransform;
-extern LIBEXPORT StructRNA RNA_ShaderNode;
-extern LIBEXPORT StructRNA RNA_ShaderNodeCameraData;
-extern LIBEXPORT StructRNA RNA_ShaderNodeCombineRGB;
-extern LIBEXPORT StructRNA RNA_ShaderNodeExtendedMaterial;
-extern LIBEXPORT StructRNA RNA_ShaderNodeGeometry;
-extern LIBEXPORT StructRNA RNA_ShaderNodeHueSaturation;
-extern LIBEXPORT StructRNA RNA_ShaderNodeInvert;
-extern LIBEXPORT StructRNA RNA_ShaderNodeMapping;
-extern LIBEXPORT StructRNA RNA_ShaderNodeMaterial;
-extern LIBEXPORT StructRNA RNA_ShaderNodeMath;
-extern LIBEXPORT StructRNA RNA_ShaderNodeMixRGB;
-extern LIBEXPORT StructRNA RNA_ShaderNodeNormal;
-extern LIBEXPORT StructRNA RNA_ShaderNodeOutput;
-extern LIBEXPORT StructRNA RNA_ShaderNodeRGB;
-extern LIBEXPORT StructRNA RNA_ShaderNodeRGBCurve;
-extern LIBEXPORT StructRNA RNA_ShaderNodeRGBToBW;
-extern LIBEXPORT StructRNA RNA_ShaderNodeSeparateRGB;
-extern LIBEXPORT StructRNA RNA_ShaderNodeSqueeze;
-extern LIBEXPORT StructRNA RNA_ShaderNodeTexture;
-extern LIBEXPORT StructRNA RNA_ShaderNodeTree;
-extern LIBEXPORT StructRNA RNA_ShaderNodeValToRGB;
-extern LIBEXPORT StructRNA RNA_ShaderNodeValue;
-extern LIBEXPORT StructRNA RNA_ShaderNodeVectorCurve;
-extern LIBEXPORT StructRNA RNA_ShaderNodeVectorMath;
-extern LIBEXPORT StructRNA RNA_ShapeKey;
-extern LIBEXPORT StructRNA RNA_ShapeKeyBezierPoint;
-extern LIBEXPORT StructRNA RNA_ShapeKeyCurvePoint;
-extern LIBEXPORT StructRNA RNA_ShapeKeyPoint;
-extern LIBEXPORT StructRNA RNA_ShrinkwrapConstraint;
-extern LIBEXPORT StructRNA RNA_ShrinkwrapModifier;
-extern LIBEXPORT StructRNA RNA_SimpleDeformModifier;
-extern LIBEXPORT StructRNA RNA_SmokeCollSettings;
-extern LIBEXPORT StructRNA RNA_SmokeDomainSettings;
-extern LIBEXPORT StructRNA RNA_SmokeFlowSettings;
-extern LIBEXPORT StructRNA RNA_SmokeModifier;
-extern LIBEXPORT StructRNA RNA_SmoothModifier;
-extern LIBEXPORT StructRNA RNA_SoftBodyModifier;
-extern LIBEXPORT StructRNA RNA_SoftBodySettings;
-extern LIBEXPORT StructRNA RNA_SolidifyModifier;
-extern LIBEXPORT StructRNA RNA_Sound;
-extern LIBEXPORT StructRNA RNA_SoundSequence;
-extern LIBEXPORT StructRNA RNA_Space;
-extern LIBEXPORT StructRNA RNA_SpaceConsole;
-extern LIBEXPORT StructRNA RNA_SpaceDopeSheetEditor;
-extern LIBEXPORT StructRNA RNA_SpaceFileBrowser;
-extern LIBEXPORT StructRNA RNA_SpaceGraphEditor;
-extern LIBEXPORT StructRNA RNA_SpaceImageEditor;
-extern LIBEXPORT StructRNA RNA_SpaceInfo;
-extern LIBEXPORT StructRNA RNA_SpaceLogicEditor;
-extern LIBEXPORT StructRNA RNA_SpaceNLA;
-extern LIBEXPORT StructRNA RNA_SpaceNodeEditor;
-extern LIBEXPORT StructRNA RNA_SpaceOutliner;
-extern LIBEXPORT StructRNA RNA_SpaceProperties;
-extern LIBEXPORT StructRNA RNA_SpaceSequenceEditor;
-extern LIBEXPORT StructRNA RNA_SpaceTextEditor;
-extern LIBEXPORT StructRNA RNA_SpaceTimeline;
-extern LIBEXPORT StructRNA RNA_SpaceUVEditor;
-extern LIBEXPORT StructRNA RNA_SpaceUserPreferences;
-extern LIBEXPORT StructRNA RNA_SpaceView3D;
-extern LIBEXPORT StructRNA RNA_SpeedControlSequence;
-extern LIBEXPORT StructRNA RNA_Spline;
-extern LIBEXPORT StructRNA RNA_SplineIKConstraint;
-extern LIBEXPORT StructRNA RNA_SpotLamp;
-extern LIBEXPORT StructRNA RNA_StretchToConstraint;
-extern LIBEXPORT StructRNA RNA_StringProperty;
-extern LIBEXPORT StructRNA RNA_Struct;
-extern LIBEXPORT StructRNA RNA_StucciTexture;
-extern LIBEXPORT StructRNA RNA_SubsurfModifier;
-extern LIBEXPORT StructRNA RNA_SunLamp;
-extern LIBEXPORT StructRNA RNA_SurfaceCurve;
-extern LIBEXPORT StructRNA RNA_SurfaceModifier;
-extern LIBEXPORT StructRNA RNA_TexMapping;
-extern LIBEXPORT StructRNA RNA_Text;
-extern LIBEXPORT StructRNA RNA_TextBox;
-extern LIBEXPORT StructRNA RNA_TextCharacterFormat;
-extern LIBEXPORT StructRNA RNA_TextCurve;
-extern LIBEXPORT StructRNA RNA_TextLine;
-extern LIBEXPORT StructRNA RNA_TextMarker;
-extern LIBEXPORT StructRNA RNA_Texture;
-extern LIBEXPORT StructRNA RNA_TextureNode;
-extern LIBEXPORT StructRNA RNA_TextureNodeBricks;
-extern LIBEXPORT StructRNA RNA_TextureNodeChecker;
-extern LIBEXPORT StructRNA RNA_TextureNodeCompose;
-extern LIBEXPORT StructRNA RNA_TextureNodeCoordinates;
-extern LIBEXPORT StructRNA RNA_TextureNodeCurveRGB;
-extern LIBEXPORT StructRNA RNA_TextureNodeCurveTime;
-extern LIBEXPORT StructRNA RNA_TextureNodeDecompose;
-extern LIBEXPORT StructRNA RNA_TextureNodeDistance;
-extern LIBEXPORT StructRNA RNA_TextureNodeHueSaturation;
-extern LIBEXPORT StructRNA RNA_TextureNodeImage;
-extern LIBEXPORT StructRNA RNA_TextureNodeInvert;
-extern LIBEXPORT StructRNA RNA_TextureNodeMath;
-extern LIBEXPORT StructRNA RNA_TextureNodeMixRGB;
-extern LIBEXPORT StructRNA RNA_TextureNodeOutput;
-extern LIBEXPORT StructRNA RNA_TextureNodeRGBToBW;
-extern LIBEXPORT StructRNA RNA_TextureNodeRotate;
-extern LIBEXPORT StructRNA RNA_TextureNodeScale;
-extern LIBEXPORT StructRNA RNA_TextureNodeTexture;
-extern LIBEXPORT StructRNA RNA_TextureNodeTranslate;
-extern LIBEXPORT StructRNA RNA_TextureNodeTree;
-extern LIBEXPORT StructRNA RNA_TextureNodeValToNor;
-extern LIBEXPORT StructRNA RNA_TextureNodeValToRGB;
-extern LIBEXPORT StructRNA RNA_TextureNodeViewer;
-extern LIBEXPORT StructRNA RNA_TextureSlot;
-extern LIBEXPORT StructRNA RNA_Theme;
-extern LIBEXPORT StructRNA RNA_ThemeAudioWindow;
-extern LIBEXPORT StructRNA RNA_ThemeBoneColorSet;
-extern LIBEXPORT StructRNA RNA_ThemeConsole;
-extern LIBEXPORT StructRNA RNA_ThemeDopeSheet;
-extern LIBEXPORT StructRNA RNA_ThemeFileBrowser;
-extern LIBEXPORT StructRNA RNA_ThemeFontStyle;
-extern LIBEXPORT StructRNA RNA_ThemeGraphEditor;
-extern LIBEXPORT StructRNA RNA_ThemeImageEditor;
-extern LIBEXPORT StructRNA RNA_ThemeInfo;
-extern LIBEXPORT StructRNA RNA_ThemeLogicEditor;
-extern LIBEXPORT StructRNA RNA_ThemeNLAEditor;
-extern LIBEXPORT StructRNA RNA_ThemeNodeEditor;
-extern LIBEXPORT StructRNA RNA_ThemeOutliner;
-extern LIBEXPORT StructRNA RNA_ThemeProperties;
-extern LIBEXPORT StructRNA RNA_ThemeSequenceEditor;
-extern LIBEXPORT StructRNA RNA_ThemeStyle;
-extern LIBEXPORT StructRNA RNA_ThemeTextEditor;
-extern LIBEXPORT StructRNA RNA_ThemeTimeline;
-extern LIBEXPORT StructRNA RNA_ThemeUserInterface;
-extern LIBEXPORT StructRNA RNA_ThemeUserPreferences;
-extern LIBEXPORT StructRNA RNA_ThemeView3D;
-extern LIBEXPORT StructRNA RNA_ThemeWidgetColors;
-extern LIBEXPORT StructRNA RNA_ThemeWidgetStateColors;
-extern LIBEXPORT StructRNA RNA_TimelineMarker;
-extern LIBEXPORT StructRNA RNA_Timer;
-extern LIBEXPORT StructRNA RNA_ToolSettings;
-extern LIBEXPORT StructRNA RNA_TouchSensor;
-extern LIBEXPORT StructRNA RNA_TrackToConstraint;
-extern LIBEXPORT StructRNA RNA_TransformConstraint;
-extern LIBEXPORT StructRNA RNA_TransformSequence;
-extern LIBEXPORT StructRNA RNA_UILayout;
-extern LIBEXPORT StructRNA RNA_UIListItem;
-extern LIBEXPORT StructRNA RNA_UVProjectModifier;
-extern LIBEXPORT StructRNA RNA_UVProjector;
-extern LIBEXPORT StructRNA RNA_UnitSettings;
-extern LIBEXPORT StructRNA RNA_UnknownType;
-extern LIBEXPORT StructRNA RNA_UserPreferences;
-extern LIBEXPORT StructRNA RNA_UserPreferencesEdit;
-extern LIBEXPORT StructRNA RNA_UserPreferencesFilePaths;
-extern LIBEXPORT StructRNA RNA_UserPreferencesSystem;
-extern LIBEXPORT StructRNA RNA_UserPreferencesView;
-extern LIBEXPORT StructRNA RNA_UserSolidLight;
-extern LIBEXPORT StructRNA RNA_ValueNodeSocket;
-extern LIBEXPORT StructRNA RNA_VectorFont;
-extern LIBEXPORT StructRNA RNA_VectorNodeSocket;
-extern LIBEXPORT StructRNA RNA_VertexGroup;
-extern LIBEXPORT StructRNA RNA_VertexGroupElement;
-extern LIBEXPORT StructRNA RNA_VertexPaint;
-extern LIBEXPORT StructRNA RNA_VoronoiTexture;
-extern LIBEXPORT StructRNA RNA_VoxelData;
-extern LIBEXPORT StructRNA RNA_VoxelDataTexture;
-extern LIBEXPORT StructRNA RNA_WarpModifier;
-extern LIBEXPORT StructRNA RNA_WaveModifier;
-extern LIBEXPORT StructRNA RNA_Window;
-extern LIBEXPORT StructRNA RNA_WindowManager;
-extern LIBEXPORT StructRNA RNA_WipeSequence;
-extern LIBEXPORT StructRNA RNA_WoodTexture;
-extern LIBEXPORT StructRNA RNA_World;
-extern LIBEXPORT StructRNA RNA_WorldAmbientOcclusion;
-extern LIBEXPORT StructRNA RNA_WorldMistSettings;
-extern LIBEXPORT StructRNA RNA_WorldStarsSettings;
-extern LIBEXPORT StructRNA RNA_WorldTextureSlot;
-extern LIBEXPORT StructRNA RNA_XnorController;
-extern LIBEXPORT StructRNA RNA_XorController;
+extern StructRNA RNA_Action;
+extern StructRNA RNA_ActionConstraint;
+extern StructRNA RNA_ActionGroup;
+extern StructRNA RNA_Actuator;
+extern StructRNA RNA_ActuatorSensor;
+extern StructRNA RNA_Addon;
+extern StructRNA RNA_AdjustmentSequence;
+extern StructRNA RNA_AlwaysSensor;
+extern StructRNA RNA_AndController;
+extern StructRNA RNA_AnimData;
+extern StructRNA RNA_AnimViz;
+extern StructRNA RNA_AnimVizMotionPaths;
+extern StructRNA RNA_AnimVizOnionSkinning;
+extern StructRNA RNA_AnyType;
+extern StructRNA RNA_Area;
+extern StructRNA RNA_AreaLamp;
+extern StructRNA RNA_Armature;
+extern StructRNA RNA_ArmatureModifier;
+extern StructRNA RNA_ArmatureSensor;
+extern StructRNA RNA_ArrayModifier;
+extern StructRNA RNA_BackgroundImage;
+extern StructRNA RNA_BevelModifier;
+extern StructRNA RNA_BezierSplinePoint;
+extern StructRNA RNA_BlendData;
+extern StructRNA RNA_BlendTexture;
+extern StructRNA RNA_BlenderRNA;
+extern StructRNA RNA_BoidRule;
+extern StructRNA RNA_BoidRuleAverageSpeed;
+extern StructRNA RNA_BoidRuleAvoid;
+extern StructRNA RNA_BoidRuleAvoidCollision;
+extern StructRNA RNA_BoidRuleFight;
+extern StructRNA RNA_BoidRuleFollowLeader;
+extern StructRNA RNA_BoidRuleGoal;
+extern StructRNA RNA_BoidSettings;
+extern StructRNA RNA_BoidState;
+extern StructRNA RNA_Bone;
+extern StructRNA RNA_BoneGroup;
+extern StructRNA RNA_BooleanModifier;
+extern StructRNA RNA_BooleanProperty;
+extern StructRNA RNA_Brush;
+extern StructRNA RNA_BrushTextureSlot;
+extern StructRNA RNA_BuildModifier;
+extern StructRNA RNA_Camera;
+extern StructRNA RNA_CastModifier;
+extern StructRNA RNA_ChildOfConstraint;
+extern StructRNA RNA_ChildParticle;
+extern StructRNA RNA_ClampToConstraint;
+extern StructRNA RNA_ClothCollisionSettings;
+extern StructRNA RNA_ClothModifier;
+extern StructRNA RNA_ClothSettings;
+extern StructRNA RNA_CloudsTexture;
+extern StructRNA RNA_CollectionProperty;
+extern StructRNA RNA_CollisionModifier;
+extern StructRNA RNA_CollisionSensor;
+extern StructRNA RNA_CollisionSettings;
+extern StructRNA RNA_ColorRamp;
+extern StructRNA RNA_ColorRampElement;
+extern StructRNA RNA_ColorSequence;
+extern StructRNA RNA_CompositorNode;
+extern StructRNA RNA_CompositorNodeAlphaOver;
+extern StructRNA RNA_CompositorNodeBilateralblur;
+extern StructRNA RNA_CompositorNodeBlur;
+extern StructRNA RNA_CompositorNodeBrightContrast;
+extern StructRNA RNA_CompositorNodeChannelMatte;
+extern StructRNA RNA_CompositorNodeChromaMatte;
+extern StructRNA RNA_CompositorNodeColorMatte;
+extern StructRNA RNA_CompositorNodeColorSpill;
+extern StructRNA RNA_CompositorNodeCombHSVA;
+extern StructRNA RNA_CompositorNodeCombRGBA;
+extern StructRNA RNA_CompositorNodeCombYCCA;
+extern StructRNA RNA_CompositorNodeCombYUVA;
+extern StructRNA RNA_CompositorNodeComposite;
+extern StructRNA RNA_CompositorNodeCrop;
+extern StructRNA RNA_CompositorNodeCurveRGB;
+extern StructRNA RNA_CompositorNodeCurveVec;
+extern StructRNA RNA_CompositorNodeDBlur;
+extern StructRNA RNA_CompositorNodeDefocus;
+extern StructRNA RNA_CompositorNodeDiffMatte;
+extern StructRNA RNA_CompositorNodeDilateErode;
+extern StructRNA RNA_CompositorNodeDisplace;
+extern StructRNA RNA_CompositorNodeDistanceMatte;
+extern StructRNA RNA_CompositorNodeFilter;
+extern StructRNA RNA_CompositorNodeFlip;
+extern StructRNA RNA_CompositorNodeGamma;
+extern StructRNA RNA_CompositorNodeGlare;
+extern StructRNA RNA_CompositorNodeHueSat;
+extern StructRNA RNA_CompositorNodeIDMask;
+extern StructRNA RNA_CompositorNodeImage;
+extern StructRNA RNA_CompositorNodeInvert;
+extern StructRNA RNA_CompositorNodeLensdist;
+extern StructRNA RNA_CompositorNodeLevels;
+extern StructRNA RNA_CompositorNodeLumaMatte;
+extern StructRNA RNA_CompositorNodeMapUV;
+extern StructRNA RNA_CompositorNodeMapValue;
+extern StructRNA RNA_CompositorNodeMath;
+extern StructRNA RNA_CompositorNodeMixRGB;
+extern StructRNA RNA_CompositorNodeNormal;
+extern StructRNA RNA_CompositorNodeNormalize;
+extern StructRNA RNA_CompositorNodeOutputFile;
+extern StructRNA RNA_CompositorNodePremulKey;
+extern StructRNA RNA_CompositorNodeRGB;
+extern StructRNA RNA_CompositorNodeRGBToBW;
+extern StructRNA RNA_CompositorNodeRLayers;
+extern StructRNA RNA_CompositorNodeRotate;
+extern StructRNA RNA_CompositorNodeScale;
+extern StructRNA RNA_CompositorNodeSepHSVA;
+extern StructRNA RNA_CompositorNodeSepRGBA;
+extern StructRNA RNA_CompositorNodeSepYCCA;
+extern StructRNA RNA_CompositorNodeSepYUVA;
+extern StructRNA RNA_CompositorNodeSetAlpha;
+extern StructRNA RNA_CompositorNodeSplitViewer;
+extern StructRNA RNA_CompositorNodeTexture;
+extern StructRNA RNA_CompositorNodeTime;
+extern StructRNA RNA_CompositorNodeTonemap;
+extern StructRNA RNA_CompositorNodeTranslate;
+extern StructRNA RNA_CompositorNodeTree;
+extern StructRNA RNA_CompositorNodeValToRGB;
+extern StructRNA RNA_CompositorNodeValue;
+extern StructRNA RNA_CompositorNodeVecBlur;
+extern StructRNA RNA_CompositorNodeViewer;
+extern StructRNA RNA_CompositorNodeZcombine;
+extern StructRNA RNA_ConsoleLine;
+extern StructRNA RNA_Constraint;
+extern StructRNA RNA_ConstraintTarget;
+extern StructRNA RNA_Context;
+extern StructRNA RNA_ControlFluidSettings;
+extern StructRNA RNA_Controller;
+extern StructRNA RNA_CopyLocationConstraint;
+extern StructRNA RNA_CopyRotationConstraint;
+extern StructRNA RNA_CopyScaleConstraint;
+extern StructRNA RNA_CopyTransformsConstraint;
+extern StructRNA RNA_Curve;
+extern StructRNA RNA_CurveMap;
+extern StructRNA RNA_CurveMapPoint;
+extern StructRNA RNA_CurveMapping;
+extern StructRNA RNA_CurveModifier;
+extern StructRNA RNA_CurvePoint;
+extern StructRNA RNA_DampedTrackConstraint;
+extern StructRNA RNA_DecimateModifier;
+extern StructRNA RNA_DelaySensor;
+extern StructRNA RNA_DisplaceModifier;
+extern StructRNA RNA_DistortedNoiseTexture;
+extern StructRNA RNA_DomainFluidSettings;
+extern StructRNA RNA_Driver;
+extern StructRNA RNA_DriverTarget;
+extern StructRNA RNA_DriverVariable;
+extern StructRNA RNA_DupliObject;
+extern StructRNA RNA_EdgeSplitModifier;
+extern StructRNA RNA_EditBone;
+extern StructRNA RNA_EffectSequence;
+extern StructRNA RNA_EffectorWeights;
+extern StructRNA RNA_EnumProperty;
+extern StructRNA RNA_EnumPropertyItem;
+extern StructRNA RNA_EnvironmentMap;
+extern StructRNA RNA_EnvironmentMapTexture;
+extern StructRNA RNA_Event;
+extern StructRNA RNA_ExplodeModifier;
+extern StructRNA RNA_ExpressionController;
+extern StructRNA RNA_FCurve;
+extern StructRNA RNA_FCurveSample;
+extern StructRNA RNA_FModifier;
+extern StructRNA RNA_FModifierCycles;
+extern StructRNA RNA_FModifierEnvelope;
+extern StructRNA RNA_FModifierEnvelopeControlPoint;
+extern StructRNA RNA_FModifierFunctionGenerator;
+extern StructRNA RNA_FModifierGenerator;
+extern StructRNA RNA_FModifierLimits;
+extern StructRNA RNA_FModifierNoise;
+extern StructRNA RNA_FModifierPython;
+extern StructRNA RNA_FModifierStepped;
+extern StructRNA RNA_FieldSettings;
+extern StructRNA RNA_FileSelectParams;
+extern StructRNA RNA_FloatProperty;
+extern StructRNA RNA_FloorConstraint;
+extern StructRNA RNA_FluidFluidSettings;
+extern StructRNA RNA_FluidSettings;
+extern StructRNA RNA_FluidSimulationModifier;
+extern StructRNA RNA_FollowPathConstraint;
+extern StructRNA RNA_Function;
+extern StructRNA RNA_GPencilFrame;
+extern StructRNA RNA_GPencilLayer;
+extern StructRNA RNA_GPencilStroke;
+extern StructRNA RNA_GPencilStrokePoint;
+extern StructRNA RNA_GameBooleanProperty;
+extern StructRNA RNA_GameFloatProperty;
+extern StructRNA RNA_GameIntProperty;
+extern StructRNA RNA_GameObjectSettings;
+extern StructRNA RNA_GameProperty;
+extern StructRNA RNA_GameSoftBodySettings;
+extern StructRNA RNA_GameStringProperty;
+extern StructRNA RNA_GameTimerProperty;
+extern StructRNA RNA_GlowSequence;
+extern StructRNA RNA_GreasePencil;
+extern StructRNA RNA_Group;
+extern StructRNA RNA_Header;
+extern StructRNA RNA_HemiLamp;
+extern StructRNA RNA_Histogram;
+extern StructRNA RNA_HookModifier;
+extern StructRNA RNA_ID;
+extern StructRNA RNA_IKParam;
+extern StructRNA RNA_Image;
+extern StructRNA RNA_ImagePaint;
+extern StructRNA RNA_ImageSequence;
+extern StructRNA RNA_ImageTexture;
+extern StructRNA RNA_ImageUser;
+extern StructRNA RNA_InflowFluidSettings;
+extern StructRNA RNA_IntProperty;
+extern StructRNA RNA_Itasc;
+extern StructRNA RNA_JoystickSensor;
+extern StructRNA RNA_Key;
+extern StructRNA RNA_KeyConfig;
+extern StructRNA RNA_KeyMap;
+extern StructRNA RNA_KeyMapItem;
+extern StructRNA RNA_KeyboardSensor;
+extern StructRNA RNA_Keyframe;
+extern StructRNA RNA_KeyingSet;
+extern StructRNA RNA_KeyingSetInfo;
+extern StructRNA RNA_KeyingSetPath;
+extern StructRNA RNA_KinematicConstraint;
+extern StructRNA RNA_Lamp;
+extern StructRNA RNA_LampSkySettings;
+extern StructRNA RNA_LampTextureSlot;
+extern StructRNA RNA_Lattice;
+extern StructRNA RNA_LatticeModifier;
+extern StructRNA RNA_LatticePoint;
+extern StructRNA RNA_Library;
+extern StructRNA RNA_LimitDistanceConstraint;
+extern StructRNA RNA_LimitLocationConstraint;
+extern StructRNA RNA_LimitRotationConstraint;
+extern StructRNA RNA_LimitScaleConstraint;
+extern StructRNA RNA_LockedTrackConstraint;
+extern StructRNA RNA_Macro;
+extern StructRNA RNA_MagicTexture;
+extern StructRNA RNA_MarbleTexture;
+extern StructRNA RNA_MaskModifier;
+extern StructRNA RNA_Material;
+extern StructRNA RNA_MaterialHalo;
+extern StructRNA RNA_MaterialPhysics;
+extern StructRNA RNA_MaterialRaytraceMirror;
+extern StructRNA RNA_MaterialRaytraceTransparency;
+extern StructRNA RNA_MaterialSlot;
+extern StructRNA RNA_MaterialStrand;
+extern StructRNA RNA_MaterialSubsurfaceScattering;
+extern StructRNA RNA_MaterialTextureSlot;
+extern StructRNA RNA_MaterialVolume;
+extern StructRNA RNA_Menu;
+extern StructRNA RNA_Mesh;
+extern StructRNA RNA_MeshColor;
+extern StructRNA RNA_MeshColorLayer;
+extern StructRNA RNA_MeshDeformModifier;
+extern StructRNA RNA_MeshEdge;
+extern StructRNA RNA_MeshFace;
+extern StructRNA RNA_MeshFloatProperty;
+extern StructRNA RNA_MeshFloatPropertyLayer;
+extern StructRNA RNA_MeshIntProperty;
+extern StructRNA RNA_MeshIntPropertyLayer;
+extern StructRNA RNA_MeshSticky;
+extern StructRNA RNA_MeshStringProperty;
+extern StructRNA RNA_MeshStringPropertyLayer;
+extern StructRNA RNA_MeshTextureFace;
+extern StructRNA RNA_MeshTextureFaceLayer;
+extern StructRNA RNA_MeshVertex;
+extern StructRNA RNA_MessageSensor;
+extern StructRNA RNA_MetaBall;
+extern StructRNA RNA_MetaElement;
+extern StructRNA RNA_MetaSequence;
+extern StructRNA RNA_MirrorModifier;
+extern StructRNA RNA_Modifier;
+extern StructRNA RNA_MotionPath;
+extern StructRNA RNA_MotionPathVert;
+extern StructRNA RNA_MouseSensor;
+extern StructRNA RNA_MovieSequence;
+extern StructRNA RNA_MulticamSequence;
+extern StructRNA RNA_MultiresModifier;
+extern StructRNA RNA_MusgraveTexture;
+extern StructRNA RNA_NandController;
+extern StructRNA RNA_NearSensor;
+extern StructRNA RNA_NlaStrip;
+extern StructRNA RNA_NlaTrack;
+extern StructRNA RNA_Node;
+extern StructRNA RNA_NodeGroup;
+extern StructRNA RNA_NodeLink;
+extern StructRNA RNA_NodeSocket;
+extern StructRNA RNA_NodeTree;
+extern StructRNA RNA_NoiseTexture;
+extern StructRNA RNA_NorController;
+extern StructRNA RNA_Object;
+extern StructRNA RNA_ObjectBase;
+extern StructRNA RNA_ObstacleFluidSettings;
+extern StructRNA RNA_Operator;
+extern StructRNA RNA_OperatorFileListElement;
+extern StructRNA RNA_OperatorMousePath;
+extern StructRNA RNA_OperatorProperties;
+extern StructRNA RNA_OperatorStrokeElement;
+extern StructRNA RNA_OperatorTypeMacro;
+extern StructRNA RNA_OrController;
+extern StructRNA RNA_OutflowFluidSettings;
+extern StructRNA RNA_PackedFile;
+extern StructRNA RNA_Paint;
+extern StructRNA RNA_Panel;
+extern StructRNA RNA_Particle;
+extern StructRNA RNA_ParticleBrush;
+extern StructRNA RNA_ParticleDupliWeight;
+extern StructRNA RNA_ParticleEdit;
+extern StructRNA RNA_ParticleFluidSettings;
+extern StructRNA RNA_ParticleHairKey;
+extern StructRNA RNA_ParticleInstanceModifier;
+extern StructRNA RNA_ParticleKey;
+extern StructRNA RNA_ParticleSettings;
+extern StructRNA RNA_ParticleSettingsTextureSlot;
+extern StructRNA RNA_ParticleSystem;
+extern StructRNA RNA_ParticleSystemModifier;
+extern StructRNA RNA_ParticleTarget;
+extern StructRNA RNA_PivotConstraint;
+extern StructRNA RNA_PluginSequence;
+extern StructRNA RNA_PluginTexture;
+extern StructRNA RNA_PointCache;
+extern StructRNA RNA_PointDensity;
+extern StructRNA RNA_PointDensityTexture;
+extern StructRNA RNA_PointLamp;
+extern StructRNA RNA_PointerProperty;
+extern StructRNA RNA_Pose;
+extern StructRNA RNA_PoseBone;
+extern StructRNA RNA_Property;
+extern StructRNA RNA_PropertyGroup;
+extern StructRNA RNA_PropertyGroupItem;
+extern StructRNA RNA_PropertySensor;
+extern StructRNA RNA_PythonConstraint;
+extern StructRNA RNA_PythonController;
+extern StructRNA RNA_RGBANodeSocket;
+extern StructRNA RNA_RadarSensor;
+extern StructRNA RNA_RandomSensor;
+extern StructRNA RNA_RaySensor;
+extern StructRNA RNA_Region;
+extern StructRNA RNA_RenderEngine;
+extern StructRNA RNA_RenderLayer;
+extern StructRNA RNA_RenderPass;
+extern StructRNA RNA_RenderResult;
+extern StructRNA RNA_RenderSettings;
+extern StructRNA RNA_RigidBodyJointConstraint;
+extern StructRNA RNA_SPHFluidSettings;
+extern StructRNA RNA_Scene;
+extern StructRNA RNA_SceneGameData;
+extern StructRNA RNA_SceneRenderLayer;
+extern StructRNA RNA_SceneSequence;
+extern StructRNA RNA_SceneObjects;
+extern StructRNA RNA_Scopes;
+extern StructRNA RNA_Screen;
+extern StructRNA RNA_ScrewModifier;
+extern StructRNA RNA_Sculpt;
+extern StructRNA RNA_Sensor;
+extern StructRNA RNA_Sequence;
+extern StructRNA RNA_SequenceColorBalance;
+extern StructRNA RNA_SequenceCrop;
+extern StructRNA RNA_SequenceEditor;
+extern StructRNA RNA_SequenceElement;
+extern StructRNA RNA_SequenceProxy;
+extern StructRNA RNA_SequenceTransform;
+extern StructRNA RNA_ShaderNode;
+extern StructRNA RNA_ShaderNodeCameraData;
+extern StructRNA RNA_ShaderNodeCombineRGB;
+extern StructRNA RNA_ShaderNodeExtendedMaterial;
+extern StructRNA RNA_ShaderNodeGeometry;
+extern StructRNA RNA_ShaderNodeHueSaturation;
+extern StructRNA RNA_ShaderNodeInvert;
+extern StructRNA RNA_ShaderNodeMapping;
+extern StructRNA RNA_ShaderNodeMaterial;
+extern StructRNA RNA_ShaderNodeMath;
+extern StructRNA RNA_ShaderNodeMixRGB;
+extern StructRNA RNA_ShaderNodeNormal;
+extern StructRNA RNA_ShaderNodeOutput;
+extern StructRNA RNA_ShaderNodeRGB;
+extern StructRNA RNA_ShaderNodeRGBCurve;
+extern StructRNA RNA_ShaderNodeRGBToBW;
+extern StructRNA RNA_ShaderNodeSeparateRGB;
+extern StructRNA RNA_ShaderNodeSqueeze;
+extern StructRNA RNA_ShaderNodeTexture;
+extern StructRNA RNA_ShaderNodeTree;
+extern StructRNA RNA_ShaderNodeValToRGB;
+extern StructRNA RNA_ShaderNodeValue;
+extern StructRNA RNA_ShaderNodeVectorCurve;
+extern StructRNA RNA_ShaderNodeVectorMath;
+extern StructRNA RNA_ShapeKey;
+extern StructRNA RNA_ShapeKeyBezierPoint;
+extern StructRNA RNA_ShapeKeyCurvePoint;
+extern StructRNA RNA_ShapeKeyPoint;
+extern StructRNA RNA_ShrinkwrapConstraint;
+extern StructRNA RNA_ShrinkwrapModifier;
+extern StructRNA RNA_SimpleDeformModifier;
+extern StructRNA RNA_SmokeCollSettings;
+extern StructRNA RNA_SmokeDomainSettings;
+extern StructRNA RNA_SmokeFlowSettings;
+extern StructRNA RNA_SmokeModifier;
+extern StructRNA RNA_SmoothModifier;
+extern StructRNA RNA_SoftBodyModifier;
+extern StructRNA RNA_SoftBodySettings;
+extern StructRNA RNA_SolidifyModifier;
+extern StructRNA RNA_Sound;
+extern StructRNA RNA_SoundSequence;
+extern StructRNA RNA_Space;
+extern StructRNA RNA_SpaceConsole;
+extern StructRNA RNA_SpaceDopeSheetEditor;
+extern StructRNA RNA_SpaceFileBrowser;
+extern StructRNA RNA_SpaceGraphEditor;
+extern StructRNA RNA_SpaceImageEditor;
+extern StructRNA RNA_SpaceInfo;
+extern StructRNA RNA_SpaceLogicEditor;
+extern StructRNA RNA_SpaceNLA;
+extern StructRNA RNA_SpaceNodeEditor;
+extern StructRNA RNA_SpaceOutliner;
+extern StructRNA RNA_SpaceProperties;
+extern StructRNA RNA_SpaceSequenceEditor;
+extern StructRNA RNA_SpaceTextEditor;
+extern StructRNA RNA_SpaceTimeline;
+extern StructRNA RNA_SpaceUVEditor;
+extern StructRNA RNA_SpaceUserPreferences;
+extern StructRNA RNA_SpaceView3D;
+extern StructRNA RNA_SpeedControlSequence;
+extern StructRNA RNA_Spline;
+extern StructRNA RNA_SplineIKConstraint;
+extern StructRNA RNA_SpotLamp;
+extern StructRNA RNA_StretchToConstraint;
+extern StructRNA RNA_StringProperty;
+extern StructRNA RNA_Struct;
+extern StructRNA RNA_StucciTexture;
+extern StructRNA RNA_SubsurfModifier;
+extern StructRNA RNA_SunLamp;
+extern StructRNA RNA_SurfaceCurve;
+extern StructRNA RNA_SurfaceModifier;
+extern StructRNA RNA_TexMapping;
+extern StructRNA RNA_Text;
+extern StructRNA RNA_TextBox;
+extern StructRNA RNA_TextCharacterFormat;
+extern StructRNA RNA_TextCurve;
+extern StructRNA RNA_TextLine;
+extern StructRNA RNA_TextMarker;
+extern StructRNA RNA_Texture;
+extern StructRNA RNA_TextureNode;
+extern StructRNA RNA_TextureNodeBricks;
+extern StructRNA RNA_TextureNodeChecker;
+extern StructRNA RNA_TextureNodeCompose;
+extern StructRNA RNA_TextureNodeCoordinates;
+extern StructRNA RNA_TextureNodeCurveRGB;
+extern StructRNA RNA_TextureNodeCurveTime;
+extern StructRNA RNA_TextureNodeDecompose;
+extern StructRNA RNA_TextureNodeDistance;
+extern StructRNA RNA_TextureNodeHueSaturation;
+extern StructRNA RNA_TextureNodeImage;
+extern StructRNA RNA_TextureNodeInvert;
+extern StructRNA RNA_TextureNodeMath;
+extern StructRNA RNA_TextureNodeMixRGB;
+extern StructRNA RNA_TextureNodeOutput;
+extern StructRNA RNA_TextureNodeRGBToBW;
+extern StructRNA RNA_TextureNodeRotate;
+extern StructRNA RNA_TextureNodeScale;
+extern StructRNA RNA_TextureNodeTexture;
+extern StructRNA RNA_TextureNodeTranslate;
+extern StructRNA RNA_TextureNodeTree;
+extern StructRNA RNA_TextureNodeValToNor;
+extern StructRNA RNA_TextureNodeValToRGB;
+extern StructRNA RNA_TextureNodeViewer;
+extern StructRNA RNA_TextureSlot;
+extern StructRNA RNA_Theme;
+extern StructRNA RNA_ThemeAudioWindow;
+extern StructRNA RNA_ThemeBoneColorSet;
+extern StructRNA RNA_ThemeConsole;
+extern StructRNA RNA_ThemeDopeSheet;
+extern StructRNA RNA_ThemeFileBrowser;
+extern StructRNA RNA_ThemeFontStyle;
+extern StructRNA RNA_ThemeGraphEditor;
+extern StructRNA RNA_ThemeImageEditor;
+extern StructRNA RNA_ThemeInfo;
+extern StructRNA RNA_ThemeLogicEditor;
+extern StructRNA RNA_ThemeNLAEditor;
+extern StructRNA RNA_ThemeNodeEditor;
+extern StructRNA RNA_ThemeOutliner;
+extern StructRNA RNA_ThemeProperties;
+extern StructRNA RNA_ThemeSequenceEditor;
+extern StructRNA RNA_ThemeStyle;
+extern StructRNA RNA_ThemeTextEditor;
+extern StructRNA RNA_ThemeTimeline;
+extern StructRNA RNA_ThemeUserInterface;
+extern StructRNA RNA_ThemeUserPreferences;
+extern StructRNA RNA_ThemeView3D;
+extern StructRNA RNA_ThemeWidgetColors;
+extern StructRNA RNA_ThemeWidgetStateColors;
+extern StructRNA RNA_TimelineMarker;
+extern StructRNA RNA_Timer;
+extern StructRNA RNA_ToolSettings;
+extern StructRNA RNA_TouchSensor;
+extern StructRNA RNA_TrackToConstraint;
+extern StructRNA RNA_TransformConstraint;
+extern StructRNA RNA_TransformSequence;
+extern StructRNA RNA_UILayout;
+extern StructRNA RNA_UIListItem;
+extern StructRNA RNA_UVProjectModifier;
+extern StructRNA RNA_UVProjector;
+extern StructRNA RNA_UnitSettings;
+extern StructRNA RNA_UnknownType;
+extern StructRNA RNA_UserPreferences;
+extern StructRNA RNA_UserPreferencesEdit;
+extern StructRNA RNA_UserPreferencesFilePaths;
+extern StructRNA RNA_UserPreferencesSystem;
+extern StructRNA RNA_UserPreferencesView;
+extern StructRNA RNA_UserSolidLight;
+extern StructRNA RNA_ValueNodeSocket;
+extern StructRNA RNA_VectorFont;
+extern StructRNA RNA_VectorNodeSocket;
+extern StructRNA RNA_VertexGroup;
+extern StructRNA RNA_VertexGroupElement;
+extern StructRNA RNA_VertexPaint;
+extern StructRNA RNA_VoronoiTexture;
+extern StructRNA RNA_VoxelData;
+extern StructRNA RNA_VoxelDataTexture;
+extern StructRNA RNA_WarpModifier;
+extern StructRNA RNA_WaveModifier;
+extern StructRNA RNA_Window;
+extern StructRNA RNA_WindowManager;
+extern StructRNA RNA_WipeSequence;
+extern StructRNA RNA_WoodTexture;
+extern StructRNA RNA_World;
+extern StructRNA RNA_WorldAmbientOcclusion;
+extern StructRNA RNA_WorldMistSettings;
+extern StructRNA RNA_WorldStarsSettings;
+extern StructRNA RNA_WorldTextureSlot;
+extern StructRNA RNA_XnorController;
+extern StructRNA RNA_XorController;
+
 
 /* Pointer
  *
@@ -585,56 +587,55 @@ extern LIBEXPORT StructRNA RNA_XorController;
  * There is also a way to get a pointer with the information about all structs.
  */
 
-LIBEXPORT void RNA_main_pointer_create(struct Main *main, PointerRNA *r_ptr);
-LIBEXPORT void RNA_id_pointer_create(struct ID *id, PointerRNA *r_ptr);
-LIBEXPORT void RNA_pointer_create(struct ID *id, StructRNA *type, void *data, PointerRNA *r_ptr);
+void RNA_main_pointer_create(struct Main *main, PointerRNA *r_ptr);
+void RNA_id_pointer_create(struct ID *id, PointerRNA *r_ptr);
+void RNA_pointer_create(struct ID *id, StructRNA *type, void *data, PointerRNA *r_ptr);
 
-LIBEXPORT void RNA_blender_rna_pointer_create(PointerRNA *r_ptr);
-LIBEXPORT void RNA_pointer_recast(PointerRNA *ptr, PointerRNA *r_ptr);
+void RNA_blender_rna_pointer_create(PointerRNA *r_ptr);
+void RNA_pointer_recast(PointerRNA *ptr, PointerRNA *r_ptr);
 
-extern LIBEXPORT const PointerRNA PointerRNA_NULL;
+extern const PointerRNA PointerRNA_NULL;
 
 /* Structs */
 
-LIBEXPORT const char *RNA_struct_identifier(StructRNA *type);
-LIBEXPORT const char *RNA_struct_ui_name(StructRNA *type);
-LIBEXPORT const char *RNA_struct_ui_description(StructRNA *type);
-LIBEXPORT int RNA_struct_ui_icon(StructRNA *type);
+const char *RNA_struct_identifier(StructRNA *type);
+const char *RNA_struct_ui_name(StructRNA *type);
+const char *RNA_struct_ui_description(StructRNA *type);
+int RNA_struct_ui_icon(StructRNA *type);
 
-LIBEXPORT PropertyRNA *RNA_struct_name_property(StructRNA *type);
-LIBEXPORT PropertyRNA *RNA_struct_iterator_property(StructRNA *type);
-LIBEXPORT StructRNA *RNA_struct_base(StructRNA *type);
+PropertyRNA *RNA_struct_name_property(StructRNA *type);
+PropertyRNA *RNA_struct_iterator_property(StructRNA *type);
+StructRNA *RNA_struct_base(StructRNA *type);
 
-LIBEXPORT int RNA_struct_is_ID(StructRNA *type);
-LIBEXPORT int RNA_struct_is_a(StructRNA *type, StructRNA *srna);
+int RNA_struct_is_ID(StructRNA *type);
+int RNA_struct_is_a(StructRNA *type, StructRNA *srna);
 
-LIBEXPORT StructRegisterFunc RNA_struct_register(StructRNA *type);
-LIBEXPORT StructUnregisterFunc RNA_struct_unregister(StructRNA *type);
-LIBEXPORT void **RNA_struct_instance(PointerRNA *ptr);
+StructRegisterFunc RNA_struct_register(StructRNA *type);
+StructUnregisterFunc RNA_struct_unregister(StructRNA *type);
 void **RNA_struct_instance(PointerRNA *ptr);
 
-LIBEXPORT void *RNA_struct_py_type_get(StructRNA *srna);
-LIBEXPORT void RNA_struct_py_type_set(StructRNA *srna, void *py_type);
+void *RNA_struct_py_type_get(StructRNA *srna);
+void RNA_struct_py_type_set(StructRNA *srna, void *py_type);
 
-LIBEXPORT void *RNA_struct_blender_type_get(StructRNA *srna);
-LIBEXPORT void RNA_struct_blender_type_set(StructRNA *srna, void *blender_type);
+void *RNA_struct_blender_type_get(StructRNA *srna);
+void RNA_struct_blender_type_set(StructRNA *srna, void *blender_type);
 
-LIBEXPORT struct IDProperty *RNA_struct_idprops(PointerRNA *ptr, int create);
-LIBEXPORT int RNA_struct_idprops_check(StructRNA *srna);
-LIBEXPORT int RNA_struct_idprops_register_check(StructRNA *type);
+struct IDProperty *RNA_struct_idprops(PointerRNA *ptr, int create);
+int RNA_struct_idprops_check(StructRNA *srna);
+int RNA_struct_idprops_register_check(StructRNA *type);
 int RNA_struct_idprops_unset(PointerRNA *ptr, const char *identifier);
 
-LIBEXPORT PropertyRNA *RNA_struct_find_property(PointerRNA *ptr, const char *identifier);
-LIBEXPORT int RNA_struct_contains_property(PointerRNA *ptr, PropertyRNA *prop_test);
+PropertyRNA *RNA_struct_find_property(PointerRNA *ptr, const char *identifier);
+int RNA_struct_contains_property(PointerRNA *ptr, PropertyRNA *prop_test);
 
 /* lower level functions for access to type properties */
-LIBEXPORT const struct ListBase *RNA_struct_type_properties(StructRNA *srna);
-LIBEXPORT PropertyRNA *RNA_struct_type_find_property(StructRNA *srna, const char *identifier);
+const struct ListBase *RNA_struct_type_properties(StructRNA *srna);
+PropertyRNA *RNA_struct_type_find_property(StructRNA *srna, const char *identifier);
 
-LIBEXPORT FunctionRNA *RNA_struct_find_function(PointerRNA *ptr, const char *identifier);
-LIBEXPORT const struct ListBase *RNA_struct_type_functions(StructRNA *srna);
+FunctionRNA *RNA_struct_find_function(PointerRNA *ptr, const char *identifier);
+const struct ListBase *RNA_struct_type_functions(StructRNA *srna);
 
-LIBEXPORT char *RNA_struct_name_get_alloc(PointerRNA *ptr, char *fixedbuf, int fixedlen);
+char *RNA_struct_name_get_alloc(PointerRNA *ptr, char *fixedbuf, int fixedlen);
 
 /* Properties
  *
@@ -643,143 +644,143 @@ LIBEXPORT char *RNA_struct_name_get_alloc(PointerRNA *ptr, char *fixedbuf, int f
 
 /* Property Information */
 
-LIBEXPORT const char *RNA_property_identifier(PropertyRNA *prop);
-LIBEXPORT const char *RNA_property_description(PropertyRNA *prop);
+const char *RNA_property_identifier(PropertyRNA *prop);
+const char *RNA_property_description(PropertyRNA *prop);
 
-LIBEXPORT PropertyType RNA_property_type(PropertyRNA *prop);
-LIBEXPORT PropertySubType RNA_property_subtype(PropertyRNA *prop);
-LIBEXPORT PropertyUnit RNA_property_unit(PropertyRNA *prop);
-LIBEXPORT int RNA_property_flag(PropertyRNA *prop);
+PropertyType RNA_property_type(PropertyRNA *prop);
+PropertySubType RNA_property_subtype(PropertyRNA *prop);
+PropertyUnit RNA_property_unit(PropertyRNA *prop);
+int RNA_property_flag(PropertyRNA *prop);
 void *RNA_property_py_data_get(PropertyRNA *prop);
 
-LIBEXPORT int RNA_property_array_length(PointerRNA *ptr, PropertyRNA *prop);
-LIBEXPORT int RNA_property_array_check(PointerRNA *ptr, PropertyRNA *prop);
-LIBEXPORT int RNA_property_multi_array_length(PointerRNA *ptr, PropertyRNA *prop, int dimension);
-LIBEXPORT int RNA_property_array_dimension(PointerRNA *ptr, PropertyRNA *prop, int length[]);
-LIBEXPORT char RNA_property_array_item_char(PropertyRNA *prop, int index);
-LIBEXPORT int RNA_property_array_item_index(PropertyRNA *prop, char name);
+int RNA_property_array_length(PointerRNA *ptr, PropertyRNA *prop);
+int RNA_property_array_check(PropertyRNA *prop);
+int RNA_property_multi_array_length(PointerRNA *ptr, PropertyRNA *prop, int dimension);
+int RNA_property_array_dimension(PointerRNA *ptr, PropertyRNA *prop, int length[]);
+char RNA_property_array_item_char(PropertyRNA *prop, int index);
+int RNA_property_array_item_index(PropertyRNA *prop, char name);
 
-LIBEXPORT int RNA_property_string_maxlength(PropertyRNA *prop);
+int RNA_property_string_maxlength(PropertyRNA *prop);
 
-LIBEXPORT const char *RNA_property_ui_name(PropertyRNA *prop);
-LIBEXPORT const char *RNA_property_ui_description(PropertyRNA *prop);
-LIBEXPORT int RNA_property_ui_icon(PropertyRNA *prop);
+const char *RNA_property_ui_name(PropertyRNA *prop);
+const char *RNA_property_ui_description(PropertyRNA *prop);
+int RNA_property_ui_icon(PropertyRNA *prop);
 
 /* Dynamic Property Information */
 
-LIBEXPORT void RNA_property_int_range(PointerRNA *ptr, PropertyRNA *prop, int *hardmin, int *hardmax);
-LIBEXPORT void RNA_property_int_ui_range(PointerRNA *ptr, PropertyRNA *prop, int *softmin, int *softmax, int *step);
+void RNA_property_int_range(PointerRNA *ptr, PropertyRNA *prop, int *hardmin, int *hardmax);
+void RNA_property_int_ui_range(PointerRNA *ptr, PropertyRNA *prop, int *softmin, int *softmax, int *step);
 
-LIBEXPORT void RNA_property_float_range(PointerRNA *ptr, PropertyRNA *prop, float *hardmin, float *hardmax);
-LIBEXPORT void RNA_property_float_ui_range(PointerRNA *ptr, PropertyRNA *prop, float *softmin, float *softmax, float *step, float *precision);
+void RNA_property_float_range(PointerRNA *ptr, PropertyRNA *prop, float *hardmin, float *hardmax);
+void RNA_property_float_ui_range(PointerRNA *ptr, PropertyRNA *prop, float *softmin, float *softmax, float *step, float *precision);
 
-LIBEXPORT int RNA_property_float_clamp(PointerRNA *ptr, PropertyRNA *prop, float *value);
-LIBEXPORT int RNA_property_int_clamp(PointerRNA *ptr, PropertyRNA *prop, int *value);
+int RNA_property_float_clamp(PointerRNA *ptr, PropertyRNA *prop, float *value);
+int RNA_property_int_clamp(PointerRNA *ptr, PropertyRNA *prop, int *value);
 
-LIBEXPORT int RNA_enum_identifier(EnumPropertyItem *item, const int value, const char **identifier);
-LIBEXPORT int RNA_enum_bitflag_identifiers(EnumPropertyItem *item, const int value, const char **identifier);
-LIBEXPORT int RNA_enum_name(EnumPropertyItem *item, const int value, const char **name);
-LIBEXPORT int RNA_enum_description(EnumPropertyItem *item, const int value, const char **description);
+int RNA_enum_identifier(EnumPropertyItem *item, const int value, const char **identifier);
+int RNA_enum_bitflag_identifiers(EnumPropertyItem *item, const int value, const char **identifier);
+int RNA_enum_name(EnumPropertyItem *item, const int value, const char **name);
+int RNA_enum_description(EnumPropertyItem *item, const int value, const char **description);
 
-LIBEXPORT void RNA_property_enum_items(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop, EnumPropertyItem **item, int *totitem, int *free);
-LIBEXPORT int RNA_property_enum_value(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop, const char *identifier, int *value);
-LIBEXPORT int RNA_property_enum_identifier(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop, const int value, const char **identifier);
-LIBEXPORT int RNA_property_enum_name(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop, const int value, const char **name);
-LIBEXPORT int RNA_property_enum_bitflag_identifiers(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop, const int value, const char **identifier);
+void RNA_property_enum_items(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop, EnumPropertyItem **item, int *totitem, int *free);
+int RNA_property_enum_value(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop, const char *identifier, int *value);
+int RNA_property_enum_identifier(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop, const int value, const char **identifier);
+int RNA_property_enum_name(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop, const int value, const char **name);
+int RNA_property_enum_bitflag_identifiers(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop, const int value, const char **identifier);
 
-LIBEXPORT StructRNA *RNA_property_pointer_type(PointerRNA *ptr, PropertyRNA *prop);
-LIBEXPORT int RNA_property_pointer_poll(PointerRNA *ptr, PropertyRNA *prop, PointerRNA *value);
+StructRNA *RNA_property_pointer_type(PointerRNA *ptr, PropertyRNA *prop);
+int RNA_property_pointer_poll(PointerRNA *ptr, PropertyRNA *prop, PointerRNA *value);
 
-LIBEXPORT int RNA_property_editable(PointerRNA *ptr, PropertyRNA *prop);
-LIBEXPORT int RNA_property_editable_index(PointerRNA *ptr, PropertyRNA *prop, int index);
-LIBEXPORT int RNA_property_editable_flag(PointerRNA *ptr, PropertyRNA *prop); /* without lib check, only checks the flag */
-LIBEXPORT int RNA_property_animateable(PointerRNA *ptr, PropertyRNA *prop);
-LIBEXPORT int RNA_property_animated(PointerRNA *ptr, PropertyRNA *prop);
-LIBEXPORT int RNA_property_path_from_ID_check(PointerRNA *ptr, PropertyRNA *prop); /* slow, use with care */
+int RNA_property_editable(PointerRNA *ptr, PropertyRNA *prop);
+int RNA_property_editable_index(PointerRNA *ptr, PropertyRNA *prop, int index);
+int RNA_property_editable_flag(PointerRNA *ptr, PropertyRNA *prop); /* without lib check, only checks the flag */
+int RNA_property_animateable(PointerRNA *ptr, PropertyRNA *prop);
+int RNA_property_animated(PointerRNA *ptr, PropertyRNA *prop);
+int RNA_property_path_from_ID_check(PointerRNA *ptr, PropertyRNA *prop); /* slow, use with care */
 
-LIBEXPORT void RNA_property_update(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop);
-LIBEXPORT void RNA_property_update_main(struct Main *bmain, struct Scene *scene, PointerRNA *ptr, PropertyRNA *prop);
-LIBEXPORT int RNA_property_update_check(struct PropertyRNA *prop);
+void RNA_property_update(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop);
+void RNA_property_update_main(struct Main *bmain, struct Scene *scene, PointerRNA *ptr, PropertyRNA *prop);
+int RNA_property_update_check(struct PropertyRNA *prop);
 
 /* Property Data */
 
-LIBEXPORT int RNA_property_boolean_get(PointerRNA *ptr, PropertyRNA *prop);
-LIBEXPORT void RNA_property_boolean_set(PointerRNA *ptr, PropertyRNA *prop, int value);
-LIBEXPORT void RNA_property_boolean_get_array(PointerRNA *ptr, PropertyRNA *prop, int *values);
-LIBEXPORT int RNA_property_boolean_get_index(PointerRNA *ptr, PropertyRNA *prop, int index);
-LIBEXPORT void RNA_property_boolean_set_array(PointerRNA *ptr, PropertyRNA *prop, const int *values);
-LIBEXPORT void RNA_property_boolean_set_index(PointerRNA *ptr, PropertyRNA *prop, int index, int value);
-LIBEXPORT int RNA_property_boolean_get_default(PointerRNA *ptr, PropertyRNA *prop);
-LIBEXPORT void RNA_property_boolean_get_default_array(PointerRNA *ptr, PropertyRNA *prop, int *values);
-LIBEXPORT int RNA_property_boolean_get_default_index(PointerRNA *ptr, PropertyRNA *prop, int index);
-
-LIBEXPORT int RNA_property_int_get(PointerRNA *ptr, PropertyRNA *prop);
-LIBEXPORT void RNA_property_int_set(PointerRNA *ptr, PropertyRNA *prop, int value);
-LIBEXPORT void RNA_property_int_get_array(PointerRNA *ptr, PropertyRNA *prop, int *values);
-LIBEXPORT void RNA_property_int_get_array_range(PointerRNA *ptr, PropertyRNA *prop, int values[2]);
-LIBEXPORT int RNA_property_int_get_index(PointerRNA *ptr, PropertyRNA *prop, int index);
-LIBEXPORT void RNA_property_int_set_array(PointerRNA *ptr, PropertyRNA *prop, const int *values);
-LIBEXPORT void RNA_property_int_set_index(PointerRNA *ptr, PropertyRNA *prop, int index, int value);
-LIBEXPORT int RNA_property_int_get_default(PointerRNA *ptr, PropertyRNA *prop);
-LIBEXPORT void RNA_property_int_get_default_array(PointerRNA *ptr, PropertyRNA *prop, int *values);
-LIBEXPORT int RNA_property_int_get_default_index(PointerRNA *ptr, PropertyRNA *prop, int index);
-
-LIBEXPORT float RNA_property_float_get(PointerRNA *ptr, PropertyRNA *prop);
-LIBEXPORT void RNA_property_float_set(PointerRNA *ptr, PropertyRNA *prop, float value);
-LIBEXPORT void RNA_property_float_get_array(PointerRNA *ptr, PropertyRNA *prop, float *values);
-LIBEXPORT void RNA_property_float_get_array_range(PointerRNA *ptr, PropertyRNA *prop, float values[2]);
-LIBEXPORT float RNA_property_float_get_index(PointerRNA *ptr, PropertyRNA *prop, int index);
-LIBEXPORT void RNA_property_float_set_array(PointerRNA *ptr, PropertyRNA *prop, const float *values);
-LIBEXPORT void RNA_property_float_set_index(PointerRNA *ptr, PropertyRNA *prop, int index, float value);
-LIBEXPORT float RNA_property_float_get_default(PointerRNA *ptr, PropertyRNA *prop);
-LIBEXPORT void RNA_property_float_get_default_array(PointerRNA *ptr, PropertyRNA *prop, float *values);
-LIBEXPORT float RNA_property_float_get_default_index(PointerRNA *ptr, PropertyRNA *prop, int index);
-
-LIBEXPORT void RNA_property_string_get(PointerRNA *ptr, PropertyRNA *prop, char *value);
-LIBEXPORT char *RNA_property_string_get_alloc(PointerRNA *ptr, PropertyRNA *prop, char *fixedbuf, int fixedlen);
-LIBEXPORT void RNA_property_string_set(PointerRNA *ptr, PropertyRNA *prop, const char *value);
-LIBEXPORT int RNA_property_string_length(PointerRNA *ptr, PropertyRNA *prop);
-LIBEXPORT void RNA_property_string_get_default(PointerRNA *ptr, PropertyRNA *prop, char *value);
-LIBEXPORT char *RNA_property_string_get_default_alloc(PointerRNA *ptr, PropertyRNA *prop, char *fixedbuf, int fixedlen);
-LIBEXPORT int RNA_property_string_default_length(PointerRNA *ptr, PropertyRNA *prop);
-
-LIBEXPORT int RNA_property_enum_get(PointerRNA *ptr, PropertyRNA *prop);
-LIBEXPORT void RNA_property_enum_set(PointerRNA *ptr, PropertyRNA *prop, int value);
-LIBEXPORT int RNA_property_enum_get_default(PointerRNA *ptr, PropertyRNA *prop);
+int RNA_property_boolean_get(PointerRNA *ptr, PropertyRNA *prop);
+void RNA_property_boolean_set(PointerRNA *ptr, PropertyRNA *prop, int value);
+void RNA_property_boolean_get_array(PointerRNA *ptr, PropertyRNA *prop, int *values);
+int RNA_property_boolean_get_index(PointerRNA *ptr, PropertyRNA *prop, int index);
+void RNA_property_boolean_set_array(PointerRNA *ptr, PropertyRNA *prop, const int *values);
+void RNA_property_boolean_set_index(PointerRNA *ptr, PropertyRNA *prop, int index, int value);
+int RNA_property_boolean_get_default(PointerRNA *ptr, PropertyRNA *prop);
+void RNA_property_boolean_get_default_array(PointerRNA *ptr, PropertyRNA *prop, int *values);
+int RNA_property_boolean_get_default_index(PointerRNA *ptr, PropertyRNA *prop, int index);
+
+int RNA_property_int_get(PointerRNA *ptr, PropertyRNA *prop);
+void RNA_property_int_set(PointerRNA *ptr, PropertyRNA *prop, int value);
+void RNA_property_int_get_array(PointerRNA *ptr, PropertyRNA *prop, int *values);
+void RNA_property_int_get_array_range(PointerRNA *ptr, PropertyRNA *prop, int values[2]);
+int RNA_property_int_get_index(PointerRNA *ptr, PropertyRNA *prop, int index);
+void RNA_property_int_set_array(PointerRNA *ptr, PropertyRNA *prop, const int *values);
+void RNA_property_int_set_index(PointerRNA *ptr, PropertyRNA *prop, int index, int value);
+int RNA_property_int_get_default(PointerRNA *ptr, PropertyRNA *prop);
+void RNA_property_int_get_default_array(PointerRNA *ptr, PropertyRNA *prop, int *values);
+int RNA_property_int_get_default_index(PointerRNA *ptr, PropertyRNA *prop, int index);
+
+float RNA_property_float_get(PointerRNA *ptr, PropertyRNA *prop);
+void RNA_property_float_set(PointerRNA *ptr, PropertyRNA *prop, float value);
+void RNA_property_float_get_array(PointerRNA *ptr, PropertyRNA *prop, float *values);
+void RNA_property_float_get_array_range(PointerRNA *ptr, PropertyRNA *prop, float values[2]);
+float RNA_property_float_get_index(PointerRNA *ptr, PropertyRNA *prop, int index);
+void RNA_property_float_set_array(PointerRNA *ptr, PropertyRNA *prop, const float *values);
+void RNA_property_float_set_index(PointerRNA *ptr, PropertyRNA *prop, int index, float value);
+float RNA_property_float_get_default(PointerRNA *ptr, PropertyRNA *prop);
+void RNA_property_float_get_default_array(PointerRNA *ptr, PropertyRNA *prop, float *values);
+float RNA_property_float_get_default_index(PointerRNA *ptr, PropertyRNA *prop, int index);
+
+void RNA_property_string_get(PointerRNA *ptr, PropertyRNA *prop, char *value);
+char *RNA_property_string_get_alloc(PointerRNA *ptr, PropertyRNA *prop, char *fixedbuf, int fixedlen);
+void RNA_property_string_set(PointerRNA *ptr, PropertyRNA *prop, const char *value);
+int RNA_property_string_length(PointerRNA *ptr, PropertyRNA *prop);
+void RNA_property_string_get_default(PointerRNA *ptr, PropertyRNA *prop, char *value);
+char *RNA_property_string_get_default_alloc(PointerRNA *ptr, PropertyRNA *prop, char *fixedbuf, int fixedlen);
+int RNA_property_string_default_length(PointerRNA *ptr, PropertyRNA *prop);
+
+int RNA_property_enum_get(PointerRNA *ptr, PropertyRNA *prop);
+void RNA_property_enum_set(PointerRNA *ptr, PropertyRNA *prop, int value);
+int RNA_property_enum_get_default(PointerRNA *ptr, PropertyRNA *prop);
 void *RNA_property_enum_py_data_get(PropertyRNA *prop);
 
-LIBEXPORT PointerRNA RNA_property_pointer_get(PointerRNA *ptr, PropertyRNA *prop);
-LIBEXPORT void RNA_property_pointer_set(PointerRNA *ptr, PropertyRNA *prop, PointerRNA ptr_value);
-LIBEXPORT PointerRNA RNA_property_pointer_get_default(PointerRNA *ptr, PropertyRNA *prop);
+PointerRNA RNA_property_pointer_get(PointerRNA *ptr, PropertyRNA *prop);
+void RNA_property_pointer_set(PointerRNA *ptr, PropertyRNA *prop, PointerRNA ptr_value);
+PointerRNA RNA_property_pointer_get_default(PointerRNA *ptr, PropertyRNA *prop);
 
-LIBEXPORT void RNA_property_collection_begin(PointerRNA *ptr, PropertyRNA *prop, CollectionPropertyIterator *iter);
-LIBEXPORT void RNA_property_collection_next(CollectionPropertyIterator *iter);
-LIBEXPORT void RNA_property_collection_end(CollectionPropertyIterator *iter);
-LIBEXPORT int RNA_property_collection_length(PointerRNA *ptr, PropertyRNA *prop);
-LIBEXPORT int RNA_property_collection_lookup_index(PointerRNA *ptr, PropertyRNA *prop, PointerRNA *t_ptr);
-LIBEXPORT int RNA_property_collection_lookup_int(PointerRNA *ptr, PropertyRNA *prop, int key, PointerRNA *r_ptr);
-LIBEXPORT int RNA_property_collection_lookup_string(PointerRNA *ptr, PropertyRNA *prop, const char *key, PointerRNA *r_ptr);
-LIBEXPORT int RNA_property_collection_type_get(PointerRNA *ptr, PropertyRNA *prop, PointerRNA *r_ptr);
+void RNA_property_collection_begin(PointerRNA *ptr, PropertyRNA *prop, CollectionPropertyIterator *iter);
+void RNA_property_collection_next(CollectionPropertyIterator *iter);
+void RNA_property_collection_end(CollectionPropertyIterator *iter);
+int RNA_property_collection_length(PointerRNA *ptr, PropertyRNA *prop);
+int RNA_property_collection_lookup_index(PointerRNA *ptr, PropertyRNA *prop, PointerRNA *t_ptr);
+int RNA_property_collection_lookup_int(PointerRNA *ptr, PropertyRNA *prop, int key, PointerRNA *r_ptr);
+int RNA_property_collection_lookup_string(PointerRNA *ptr, PropertyRNA *prop, const char *key, PointerRNA *r_ptr);
+int RNA_property_collection_type_get(PointerRNA *ptr, PropertyRNA *prop, PointerRNA *r_ptr);
 
 /* efficient functions to set properties for arrays */
-LIBEXPORT int RNA_property_collection_raw_array(PointerRNA *ptr, PropertyRNA *prop, PropertyRNA *itemprop, RawArray *array);
-LIBEXPORT int RNA_property_collection_raw_get(struct ReportList *reports, PointerRNA *ptr, PropertyRNA *prop, const char *propname, void *array, RawPropertyType type, int len);
-LIBEXPORT int RNA_property_collection_raw_set(struct ReportList *reports, PointerRNA *ptr, PropertyRNA *prop, const char *propname, void *array, RawPropertyType type, int len);
-LIBEXPORT int RNA_raw_type_sizeof(RawPropertyType type);
+int RNA_property_collection_raw_array(PointerRNA *ptr, PropertyRNA *prop, PropertyRNA *itemprop, RawArray *array);
+int RNA_property_collection_raw_get(struct ReportList *reports, PointerRNA *ptr, PropertyRNA *prop, const char *propname, void *array, RawPropertyType type, int len);
+int RNA_property_collection_raw_set(struct ReportList *reports, PointerRNA *ptr, PropertyRNA *prop, const char *propname, void *array, RawPropertyType type, int len);
+int RNA_raw_type_sizeof(RawPropertyType type);
 RawPropertyType RNA_property_raw_type(PropertyRNA *prop);
 
 
 /* to create ID property groups */
-LIBEXPORT void RNA_property_pointer_add(PointerRNA *ptr, PropertyRNA *prop);
-LIBEXPORT void RNA_property_pointer_remove(PointerRNA *ptr, PropertyRNA *prop);
-LIBEXPORT void RNA_property_collection_add(PointerRNA *ptr, PropertyRNA *prop, PointerRNA *r_ptr);
-LIBEXPORT int RNA_property_collection_remove(PointerRNA *ptr, PropertyRNA *prop, int key);
-LIBEXPORT void RNA_property_collection_clear(PointerRNA *ptr, PropertyRNA *prop);
-LIBEXPORT int RNA_property_collection_move(PointerRNA *ptr, PropertyRNA *prop, int key, int pos);
+void RNA_property_pointer_add(PointerRNA *ptr, PropertyRNA *prop);
+void RNA_property_pointer_remove(PointerRNA *ptr, PropertyRNA *prop);
+void RNA_property_collection_add(PointerRNA *ptr, PropertyRNA *prop, PointerRNA *r_ptr);
+int RNA_property_collection_remove(PointerRNA *ptr, PropertyRNA *prop, int key);
+void RNA_property_collection_clear(PointerRNA *ptr, PropertyRNA *prop);
+int RNA_property_collection_move(PointerRNA *ptr, PropertyRNA *prop, int key, int pos);
 
 /* copy/reset */
-LIBEXPORT int RNA_property_copy(PointerRNA *ptr, PointerRNA *fromptr, PropertyRNA *prop, int index);
-LIBEXPORT int RNA_property_reset(PointerRNA *ptr, PropertyRNA *prop, int index);
+int RNA_property_copy(PointerRNA *ptr, PointerRNA *fromptr, PropertyRNA *prop, int index);
+int RNA_property_reset(PointerRNA *ptr, PropertyRNA *prop, int index);
 
 /* Path
  *
@@ -790,18 +791,18 @@ LIBEXPORT int RNA_property_reset(PointerRNA *ptr, PropertyRNA *prop, int index);
  * particular pointers, which is useful in a number of applications, like
  * UI code or Actions, though efficiency is a concern. */
 
-LIBEXPORT char *RNA_path_append(const char *path, PointerRNA *ptr, PropertyRNA *prop,
+char *RNA_path_append(const char *path, PointerRNA *ptr, PropertyRNA *prop,
 	int intkey, const char *strkey);
-LIBEXPORT char *RNA_path_back(const char *path);
+char *RNA_path_back(const char *path);
 
-LIBEXPORT int RNA_path_resolve(PointerRNA *ptr, const char *path,
+int RNA_path_resolve(PointerRNA *ptr, const char *path,
 		PointerRNA *r_ptr, PropertyRNA **r_prop);
 
-LIBEXPORT int RNA_path_resolve_full(PointerRNA *ptr, const char *path,
+int RNA_path_resolve_full(PointerRNA *ptr, const char *path,
 		PointerRNA *r_ptr, PropertyRNA **r_prop, int *index);
 
-LIBEXPORT char *RNA_path_from_ID_to_struct(PointerRNA *ptr);
-LIBEXPORT char *RNA_path_from_ID_to_property(PointerRNA *ptr, PropertyRNA *prop);
+char *RNA_path_from_ID_to_struct(PointerRNA *ptr);
+char *RNA_path_from_ID_to_property(PointerRNA *ptr, PropertyRNA *prop);
 
 /* Quick name based property access
  *
@@ -812,48 +813,48 @@ LIBEXPORT char *RNA_path_from_ID_to_property(PointerRNA *ptr, PropertyRNA *prop)
  * There is no support for pointers and collections here yet, these can be 
  * added when ID properties support them. */
 
-LIBEXPORT int RNA_boolean_get(PointerRNA *ptr, const char *name);
-LIBEXPORT void RNA_boolean_set(PointerRNA *ptr, const char *name, int value);
-LIBEXPORT void RNA_boolean_get_array(PointerRNA *ptr, const char *name, int *values);
-LIBEXPORT void RNA_boolean_set_array(PointerRNA *ptr, const char *name, const int *values);
+int RNA_boolean_get(PointerRNA *ptr, const char *name);
+void RNA_boolean_set(PointerRNA *ptr, const char *name, int value);
+void RNA_boolean_get_array(PointerRNA *ptr, const char *name, int *values);
+void RNA_boolean_set_array(PointerRNA *ptr, const char *name, const int *values);
 
-LIBEXPORT int RNA_int_get(PointerRNA *ptr, const char *name);
-LIBEXPORT void RNA_int_set(PointerRNA *ptr, const char *name, int value);
-LIBEXPORT void RNA_int_get_array(PointerRNA *ptr, const char *name, int *values);
-LIBEXPORT void RNA_int_set_array(PointerRNA *ptr, const char *name, const int *values);
+int RNA_int_get(PointerRNA *ptr, const char *name);
+void RNA_int_set(PointerRNA *ptr, const char *name, int value);
+void RNA_int_get_array(PointerRNA *ptr, const char *name, int *values);
+void RNA_int_set_array(PointerRNA *ptr, const char *name, const int *values);
 
-LIBEXPORT float RNA_float_get(PointerRNA *ptr, const char *name);
-LIBEXPORT void RNA_float_set(PointerRNA *ptr, const char *name, float value);
-LIBEXPORT void RNA_float_get_array(PointerRNA *ptr, const char *name, float *values);
-LIBEXPORT void RNA_float_set_array(PointerRNA *ptr, const char *name, const float *values);
+float RNA_float_get(PointerRNA *ptr, const char *name);
+void RNA_float_set(PointerRNA *ptr, const char *name, float value);
+void RNA_float_get_array(PointerRNA *ptr, const char *name, float *values);
+void RNA_float_set_array(PointerRNA *ptr, const char *name, const float *values);
 
-LIBEXPORT int RNA_enum_get(PointerRNA *ptr, const char *name);
-LIBEXPORT void RNA_enum_set(PointerRNA *ptr, const char *name, int value);
-LIBEXPORT void RNA_enum_set_identifier(PointerRNA *ptr, const char *name, const char *id);
-LIBEXPORT int RNA_enum_is_equal(struct bContext *C, PointerRNA *ptr, const char *name, const char *enumname);
+int RNA_enum_get(PointerRNA *ptr, const char *name);
+void RNA_enum_set(PointerRNA *ptr, const char *name, int value);
+void RNA_enum_set_identifier(PointerRNA *ptr, const char *name, const char *id);
+int RNA_enum_is_equal(struct bContext *C, PointerRNA *ptr, const char *name, const char *enumname);
 
 /* lower level functions that don't use a PointerRNA */
-LIBEXPORT int RNA_enum_value_from_id(EnumPropertyItem *item, const char *identifier, int *value);
-LIBEXPORT int RNA_enum_id_from_value(EnumPropertyItem *item, int value, const char **identifier);
-LIBEXPORT int RNA_enum_icon_from_value(EnumPropertyItem *item, int value, int *icon);
+int RNA_enum_value_from_id(EnumPropertyItem *item, const char *identifier, int *value);
+int RNA_enum_id_from_value(EnumPropertyItem *item, int value, const char **identifier);
+int RNA_enum_icon_from_value(EnumPropertyItem *item, int value, int *icon);
 
-LIBEXPORT void RNA_string_get(PointerRNA *ptr, const char *name, char *value);
-LIBEXPORT char *RNA_string_get_alloc(PointerRNA *ptr, const char *name, char *fixedbuf, int fixedlen);
-LIBEXPORT int RNA_string_length(PointerRNA *ptr, const char *name);
-LIBEXPORT void RNA_string_set(PointerRNA *ptr, const char *name, const char *value);
+void RNA_string_get(PointerRNA *ptr, const char *name, char *value);
+char *RNA_string_get_alloc(PointerRNA *ptr, const char *name, char *fixedbuf, int fixedlen);
+int RNA_string_length(PointerRNA *ptr, const char *name);
+void RNA_string_set(PointerRNA *ptr, const char *name, const char *value);
 
 /**
  * Retrieve the named property from PointerRNA.
  */
-LIBEXPORT PointerRNA RNA_pointer_get(PointerRNA *ptr, const char *name);
+PointerRNA RNA_pointer_get(PointerRNA *ptr, const char *name);
 /* Set the property name of PointerRNA ptr to ptr_value */
-LIBEXPORT void RNA_pointer_set(PointerRNA *ptr, const char *name, PointerRNA ptr_value);
-LIBEXPORT void RNA_pointer_add(PointerRNA *ptr, const char *name);
+void RNA_pointer_set(PointerRNA *ptr, const char *name, PointerRNA ptr_value);
+void RNA_pointer_add(PointerRNA *ptr, const char *name);
 
-LIBEXPORT void RNA_collection_begin(PointerRNA *ptr, const char *name, CollectionPropertyIterator *iter);
-LIBEXPORT int RNA_collection_length(PointerRNA *ptr, const char *name);
-LIBEXPORT void RNA_collection_add(PointerRNA *ptr, const char *name, PointerRNA *r_value);
-LIBEXPORT void RNA_collection_clear(PointerRNA *ptr, const char *name);
+void RNA_collection_begin(PointerRNA *ptr, const char *name, CollectionPropertyIterator *iter);
+int RNA_collection_length(PointerRNA *ptr, const char *name);
+void RNA_collection_add(PointerRNA *ptr, const char *name, PointerRNA *r_value);
+void RNA_collection_clear(PointerRNA *ptr, const char *name);
 
 #define RNA_BEGIN(sptr, itemptr, propname) \
 	{ \
@@ -889,65 +890,65 @@ LIBEXPORT void RNA_collection_clear(PointerRNA *ptr, const char *name);
 	}
 
 /* check if the idproperty exists, for operators */
-LIBEXPORT int RNA_property_is_set(PointerRNA *ptr, const char *name);
-LIBEXPORT int RNA_property_is_idprop(PropertyRNA *prop);
+int RNA_property_is_set(PointerRNA *ptr, const char *name);
+int RNA_property_is_idprop(PropertyRNA *prop);
 
 /* python compatible string representation of this property, (must be freed!) */
-LIBEXPORT char *RNA_property_as_string(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop);
-LIBEXPORT char *RNA_pointer_as_string(struct bContext *C, PointerRNA *ptr);
+char *RNA_property_as_string(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop);
+char *RNA_pointer_as_string(struct bContext *C, PointerRNA *ptr);
 
 /* Function */
 
-LIBEXPORT const char *RNA_function_identifier(FunctionRNA *func);
-LIBEXPORT const char *RNA_function_ui_description(FunctionRNA *func);
-LIBEXPORT int RNA_function_flag(FunctionRNA *func);
-LIBEXPORT int RNA_function_defined(FunctionRNA *func);
+const char *RNA_function_identifier(FunctionRNA *func);
+const char *RNA_function_ui_description(FunctionRNA *func);
+int RNA_function_flag(FunctionRNA *func);
+int RNA_function_defined(FunctionRNA *func);
 
-LIBEXPORT PropertyRNA *RNA_function_get_parameter(PointerRNA *ptr, FunctionRNA *func, int index);
-LIBEXPORT PropertyRNA *RNA_function_find_parameter(PointerRNA *ptr, FunctionRNA *func, const char *identifier);
-LIBEXPORT const struct ListBase *RNA_function_defined_parameters(FunctionRNA *func);
+PropertyRNA *RNA_function_get_parameter(PointerRNA *ptr, FunctionRNA *func, int index);
+PropertyRNA *RNA_function_find_parameter(PointerRNA *ptr, FunctionRNA *func, const char *identifier);
+const struct ListBase *RNA_function_defined_parameters(FunctionRNA *func);
 
 /* Utility */
 
-LIBEXPORT ParameterList *RNA_parameter_list_create(ParameterList *parms, PointerRNA *ptr, FunctionRNA *func);
-LIBEXPORT void RNA_parameter_list_free(ParameterList *parms);
-LIBEXPORT int  RNA_parameter_list_size(ParameterList *parms);
-LIBEXPORT int  RNA_parameter_list_arg_count(ParameterList *parms);
-LIBEXPORT int  RNA_parameter_list_ret_count(ParameterList *parms);
-
-LIBEXPORT void RNA_parameter_list_begin(ParameterList *parms, ParameterIterator *iter);
-LIBEXPORT void RNA_parameter_list_next(ParameterIterator *iter);
-LIBEXPORT void RNA_parameter_list_end(ParameterIterator *iter);
-
-LIBEXPORT void RNA_parameter_get(ParameterList *parms, PropertyRNA *parm, void **value);
-LIBEXPORT void RNA_parameter_get_lookup(ParameterList *parms, const char *identifier, void **value);
-LIBEXPORT void RNA_parameter_set(ParameterList *parms, PropertyRNA *parm, const void *value);
-LIBEXPORT void RNA_parameter_set_lookup(ParameterList *parms, const char *identifier, const void *value);
-LIBEXPORT int RNA_parameter_length_get(ParameterList *parms, PropertyRNA *parm);
-LIBEXPORT int RNA_parameter_length_get_data(ParameterList *parms, PropertyRNA *parm, void *data);
-LIBEXPORT void RNA_parameter_length_set(ParameterList *parms, PropertyRNA *parm, int length);
-LIBEXPORT void RNA_parameter_length_set_data(ParameterList *parms, PropertyRNA *parm, void *data, int length);
-
-LIBEXPORT int RNA_function_call(struct bContext *C, struct ReportList *reports, PointerRNA *ptr, FunctionRNA *func, ParameterList *parms);
-LIBEXPORT int RNA_function_call_lookup(struct bContext *C, struct ReportList *reports, PointerRNA *ptr, const char *identifier, ParameterList *parms);
-
-LIBEXPORT int RNA_function_call_direct(struct bContext *C, struct ReportList *reports, PointerRNA *ptr, FunctionRNA *func, const char *format, ...)
+ParameterList *RNA_parameter_list_create(ParameterList *parms, PointerRNA *ptr, FunctionRNA *func);
+void RNA_parameter_list_free(ParameterList *parms);
+int  RNA_parameter_list_size(ParameterList *parms);
+int  RNA_parameter_list_arg_count(ParameterList *parms);
+int  RNA_parameter_list_ret_count(ParameterList *parms);
+
+void RNA_parameter_list_begin(ParameterList *parms, ParameterIterator *iter);
+void RNA_parameter_list_next(ParameterIterator *iter);
+void RNA_parameter_list_end(ParameterIterator *iter);
+
+void RNA_parameter_get(ParameterList *parms, PropertyRNA *parm, void **value);
+void RNA_parameter_get_lookup(ParameterList *parms, const char *identifier, void **value);
+void RNA_parameter_set(ParameterList *parms, PropertyRNA *parm, const void *value);
+void RNA_parameter_set_lookup(ParameterList *parms, const char *identifier, const void *value);
+int RNA_parameter_length_get(ParameterList *parms, PropertyRNA *parm);
+int RNA_parameter_length_get_data(ParameterList *parms, PropertyRNA *parm, void *data);
+void RNA_parameter_length_set(ParameterList *parms, PropertyRNA *parm, int length);
+void RNA_parameter_length_set_data(ParameterList *parms, PropertyRNA *parm, void *data, int length);
+
+int RNA_function_call(struct bContext *C, struct ReportList *reports, PointerRNA *ptr, FunctionRNA *func, ParameterList *parms);
+int RNA_function_call_lookup(struct bContext *C, struct ReportList *reports, PointerRNA *ptr, const char *identifier, ParameterList *parms);
+
+int RNA_function_call_direct(struct bContext *C, struct ReportList *reports, PointerRNA *ptr, FunctionRNA *func, const char *format, ...)
 #ifdef __GNUC__
 __attribute__ ((format (printf, 5, 6)))
 #endif
 ;
-LIBEXPORT int RNA_function_call_direct_lookup(struct bContext *C, struct ReportList *reports, PointerRNA *ptr, const char *identifier, const char *format, ...)
+int RNA_function_call_direct_lookup(struct bContext *C, struct ReportList *reports, PointerRNA *ptr, const char *identifier, const char *format, ...)
 #ifdef __GNUC__
 __attribute__ ((format (printf, 5, 6)))
 #endif
 ;
-LIBEXPORT int RNA_function_call_direct_va(struct bContext *C, struct ReportList *reports, PointerRNA *ptr, FunctionRNA *func, const char *format, va_list args);
-LIBEXPORT int RNA_function_call_direct_va_lookup(struct bContext *C, struct ReportList *reports, PointerRNA *ptr, const char *identifier, const char *format, va_list args);
+int RNA_function_call_direct_va(struct bContext *C, struct ReportList *reports, PointerRNA *ptr, FunctionRNA *func, const char *format, va_list args);
+int RNA_function_call_direct_va_lookup(struct bContext *C, struct ReportList *reports, PointerRNA *ptr, const char *identifier, const char *format, va_list args);
 
 /* ID */
 
-LIBEXPORT short RNA_type_to_ID_code(StructRNA *type);
-LIBEXPORT StructRNA *ID_code_to_RNA_type(short idcode);
+short RNA_type_to_ID_code(StructRNA *type);
+StructRNA *ID_code_to_RNA_type(short idcode);
 
 void RNA_warning(const char *format, ...)
 #ifdef __GNUC__
diff --git a/source/blender/makesrna/RNA_types.h b/source/blender/makesrna/RNA_types.h
index 3053a1c33bc..f8199074f27 100644
--- a/source/blender/makesrna/RNA_types.h
+++ b/source/blender/makesrna/RNA_types.h
@@ -36,18 +36,6 @@
 extern "C" {
 #endif
 
-#ifndef LIBEXPORT
-#ifdef _WIN32
-#ifdef BLENDER_PLUGIN
-#define LIBEXPORT __declspec(dllimport)
-#else
-#define LIBEXPORT __declspec(dllexport)
-#endif
-#else
-#define LIBEXPORT
-#endif
-#endif
-
 struct ParameterList;
 struct FunctionRNA;
 struct PropertyRNA;
@@ -293,7 +281,7 @@ typedef struct ParameterList {
 
 typedef struct ParameterIterator {
 	struct ParameterList *parms;
-	PointerRNA funcptr;
+	/* PointerRNA funcptr; */ /*UNUSED*/
 	void *data;
 	int size, offset;
 
diff --git a/source/blender/makesrna/intern/makesrna.c b/source/blender/makesrna/intern/makesrna.c
index 0ebe73dfe36..7da538e171b 100644
--- a/source/blender/makesrna/intern/makesrna.c
+++ b/source/blender/makesrna/intern/makesrna.c
@@ -516,7 +516,7 @@ static char *rna_def_property_get_func(FILE *f, StructRNA *srna, PropertyRNA *pr
 	switch(prop->type) {
 		case PROP_STRING: {
 			StringPropertyRNA *sprop= (StringPropertyRNA*)prop;
-			fprintf(f, "LIBEXPORT void %s(PointerRNA *ptr, char *value)\n", func);
+			fprintf(f, "void %s(PointerRNA *ptr, char *value)\n", func);
 			fprintf(f, "{\n");
 			if(manualfunc) {
 				fprintf(f, "	%s(ptr, value);\n", manualfunc);
@@ -532,7 +532,7 @@ static char *rna_def_property_get_func(FILE *f, StructRNA *srna, PropertyRNA *pr
 			break;
 		}
 		case PROP_POINTER: {
-			fprintf(f, "LIBEXPORT PointerRNA %s(PointerRNA *ptr)\n", func);
+			fprintf(f, "PointerRNA %s(PointerRNA *ptr)\n", func);
 			fprintf(f, "{\n");
 			if(manualfunc) {
 				fprintf(f, "	return %s(ptr);\n", manualfunc);
@@ -567,9 +567,9 @@ static char *rna_def_property_get_func(FILE *f, StructRNA *srna, PropertyRNA *pr
 		default:
 			if(prop->arraydimension) {
 				if(prop->flag & PROP_DYNAMIC)
-					fprintf(f, "LIBEXPORT void %s(PointerRNA *ptr, %s values[])\n", func, rna_type_type(prop));
+					fprintf(f, "void %s(PointerRNA *ptr, %s values[])\n", func, rna_type_type(prop));
 				else
-					fprintf(f, "LIBEXPORT void %s(PointerRNA *ptr, %s values[%d])\n", func, rna_type_type(prop), prop->totarraylength);
+					fprintf(f, "void %s(PointerRNA *ptr, %s values[%d])\n", func, rna_type_type(prop), prop->totarraylength);
 				fprintf(f, "{\n");
 
 				if(manualfunc) {
@@ -614,7 +614,7 @@ static char *rna_def_property_get_func(FILE *f, StructRNA *srna, PropertyRNA *pr
 				fprintf(f, "}\n\n");
 			}
 			else {
-				fprintf(f, "LIBEXPORT %s %s(PointerRNA *ptr)\n", rna_type_type(prop), func);
+				fprintf(f, "%s %s(PointerRNA *ptr)\n", rna_type_type(prop), func);
 				fprintf(f, "{\n");
 
 				if(manualfunc) {
@@ -728,7 +728,7 @@ static char *rna_def_property_set_func(FILE *f, StructRNA *srna, PropertyRNA *pr
 	switch(prop->type) {
 		case PROP_STRING: {
 			StringPropertyRNA *sprop= (StringPropertyRNA*)prop;
-			fprintf(f, "LIBEXPORT void %s(PointerRNA *ptr, const char *value)\n", func);
+			fprintf(f, "void %s(PointerRNA *ptr, const char *value)\n", func);
 			fprintf(f, "{\n");
 			if(manualfunc) {
 				fprintf(f, "	%s(ptr, value);\n", manualfunc);
@@ -744,7 +744,7 @@ static char *rna_def_property_set_func(FILE *f, StructRNA *srna, PropertyRNA *pr
 			break;
 		}
 		case PROP_POINTER: {
-			fprintf(f, "LIBEXPORT void %s(PointerRNA *ptr, PointerRNA value)\n", func);
+			fprintf(f, "void %s(PointerRNA *ptr, PointerRNA value)\n", func);
 			fprintf(f, "{\n");
 			if(manualfunc) {
 				fprintf(f, "	%s(ptr, value);\n", manualfunc);
@@ -781,9 +781,9 @@ static char *rna_def_property_set_func(FILE *f, StructRNA *srna, PropertyRNA *pr
 		default:
 			if(prop->arraydimension) {
 				if(prop->flag & PROP_DYNAMIC)
-					fprintf(f, "LIBEXPORT void %s(PointerRNA *ptr, const %s values[])\n", func, rna_type_type(prop));
+					fprintf(f, "void %s(PointerRNA *ptr, const %s values[])\n", func, rna_type_type(prop));
 				else
-					fprintf(f, "LIBEXPORT void %s(PointerRNA *ptr, const %s values[%d])\n", func, rna_type_type(prop), prop->totarraylength);
+					fprintf(f, "void %s(PointerRNA *ptr, const %s values[%d])\n", func, rna_type_type(prop), prop->totarraylength);
 				fprintf(f, "{\n");
 
 				if(manualfunc) {
@@ -841,7 +841,7 @@ static char *rna_def_property_set_func(FILE *f, StructRNA *srna, PropertyRNA *pr
 				fprintf(f, "}\n\n");
 			}
 			else {
-				fprintf(f, "LIBEXPORT void %s(PointerRNA *ptr, %s value)\n", func, rna_type_type(prop));
+				fprintf(f, "void %s(PointerRNA *ptr, %s value)\n", func, rna_type_type(prop));
 				fprintf(f, "{\n");
 
 				if(manualfunc) {
@@ -895,7 +895,7 @@ static char *rna_def_property_length_func(FILE *f, StructRNA *srna, PropertyRNA
 
 		func= rna_alloc_function_name(srna->identifier, rna_safe_id(prop->identifier), "length");
 
-		fprintf(f, "LIBEXPORT int %s(PointerRNA *ptr)\n", func);
+		fprintf(f, "int %s(PointerRNA *ptr)\n", func);
 		fprintf(f, "{\n");
 		if(manualfunc) {
 			fprintf(f, "	return %s(ptr);\n", manualfunc);
@@ -917,7 +917,7 @@ static char *rna_def_property_length_func(FILE *f, StructRNA *srna, PropertyRNA
 
 		func= rna_alloc_function_name(srna->identifier, rna_safe_id(prop->identifier), "length");
 
-		fprintf(f, "LIBEXPORT int %s(PointerRNA *ptr)\n", func);
+		fprintf(f, "int %s(PointerRNA *ptr)\n", func);
 		fprintf(f, "{\n");
 		if(manualfunc) {
 			fprintf(f, "	return %s(ptr);\n", manualfunc);
@@ -952,7 +952,7 @@ static char *rna_def_property_begin_func(FILE *f, StructRNA *srna, PropertyRNA *
 
 	func= rna_alloc_function_name(srna->identifier, rna_safe_id(prop->identifier), "begin");
 
-	fprintf(f, "LIBEXPORT void %s(CollectionPropertyIterator *iter, PointerRNA *ptr)\n", func);
+	fprintf(f, "void %s(CollectionPropertyIterator *iter, PointerRNA *ptr)\n", func);
 	fprintf(f, "{\n");
 
 	if(!manualfunc)
@@ -1014,7 +1014,7 @@ static char *rna_def_property_lookup_int_func(FILE *f, StructRNA *srna, Property
 
 	func= rna_alloc_function_name(srna->identifier, rna_safe_id(prop->identifier), "lookup_int");
 
-	fprintf(f, "LIBEXPORT int %s(PointerRNA *ptr, int index, PointerRNA *r_ptr)\n", func);
+	fprintf(f, "int %s(PointerRNA *ptr, int index, PointerRNA *r_ptr)\n", func);
 	fprintf(f, "{\n");
 
 	if(manualfunc) {
@@ -1105,7 +1105,7 @@ static char *rna_def_property_next_func(FILE *f, StructRNA *srna, PropertyRNA *p
 
 	func= rna_alloc_function_name(srna->identifier, rna_safe_id(prop->identifier), "next");
 
-	fprintf(f, "LIBEXPORT void %s(CollectionPropertyIterator *iter)\n", func);
+	fprintf(f, "void %s(CollectionPropertyIterator *iter)\n", func);
 	fprintf(f, "{\n");
 	fprintf(f, "	%s(iter);\n", manualfunc);
 
@@ -1128,7 +1128,7 @@ static char *rna_def_property_end_func(FILE *f, StructRNA *srna, PropertyRNA *pr
 
 	func= rna_alloc_function_name(srna->identifier, rna_safe_id(prop->identifier), "end");
 
-	fprintf(f, "LIBEXPORT void %s(CollectionPropertyIterator *iter)\n", func);
+	fprintf(f, "void %s(CollectionPropertyIterator *iter)\n", func);
 	fprintf(f, "{\n");
 	if(manualfunc)
 		fprintf(f, "	%s(iter);\n", manualfunc);
@@ -1320,31 +1320,31 @@ static void rna_def_property_funcs_header(FILE *f, StructRNA *srna, PropertyDefR
 		case PROP_BOOLEAN:
 		case PROP_INT: {
 			if(!prop->arraydimension) {
-				fprintf(f, "LIBEXPORT int %sget(PointerRNA *ptr);\n", func);
-				//fprintf(f, "LIBEXPORT void %sset(PointerRNA *ptr, int value);\n", func);
+				fprintf(f, "int %sget(PointerRNA *ptr);\n", func);
+				//fprintf(f, "void %sset(PointerRNA *ptr, int value);\n", func);
 			}
 			else if(prop->arraydimension && prop->totarraylength) {
-				fprintf(f, "LIBEXPORT void %sget(PointerRNA *ptr, int values[%d]);\n", func, prop->totarraylength);
-				//fprintf(f, "LIBEXPORT void %sset(PointerRNA *ptr, const int values[%d]);\n", func, prop->arraylength);
+				fprintf(f, "void %sget(PointerRNA *ptr, int values[%d]);\n", func, prop->totarraylength);
+				//fprintf(f, "void %sset(PointerRNA *ptr, const int values[%d]);\n", func, prop->arraylength);
 			}
 			else {
-				fprintf(f, "LIBEXPORT void %sget(PointerRNA *ptr, int values[]);\n", func);
-				//fprintf(f, "LIBEXPORT void %sset(PointerRNA *ptr, const int values[]);\n", func);
+				fprintf(f, "void %sget(PointerRNA *ptr, int values[]);\n", func);
+				//fprintf(f, "void %sset(PointerRNA *ptr, const int values[]);\n", func);
 			}
 			break;
 		}
 		case PROP_FLOAT: {
 			if(!prop->arraydimension) {
-				fprintf(f, "LIBEXPORT float %sget(PointerRNA *ptr);\n", func);
-				//fprintf(f, "LIBEXPORT void %sset(PointerRNA *ptr, float value);\n", func);
+				fprintf(f, "float %sget(PointerRNA *ptr);\n", func);
+				//fprintf(f, "void %sset(PointerRNA *ptr, float value);\n", func);
 			}
 			else if(prop->arraydimension && prop->totarraylength) {
-				fprintf(f, "LIBEXPORT void %sget(PointerRNA *ptr, float values[%d]);\n", func, prop->totarraylength);
-				//fprintf(f, "LIBEXPORT void %sset(PointerRNA *ptr, const float values[%d]);\n", func, prop->arraylength);
+				fprintf(f, "void %sget(PointerRNA *ptr, float values[%d]);\n", func, prop->totarraylength);
+				//fprintf(f, "void %sset(PointerRNA *ptr, const float values[%d]);\n", func, prop->arraylength);
 			}
 			else {
-				fprintf(f, "LIBEXPORT void %sget(PointerRNA *ptr, float values[]);\n", func);
-				//fprintf(f, "LIBEXPORT void %sset(PointerRNA *ptr, const float values[]);\n", func);
+				fprintf(f, "void %sget(PointerRNA *ptr, float values[]);\n", func);
+				//fprintf(f, "void %sset(PointerRNA *ptr, const float values[]);\n", func);
 			}
 			break;
 		}
@@ -1362,8 +1362,8 @@ static void rna_def_property_funcs_header(FILE *f, StructRNA *srna, PropertyDefR
 				fprintf(f, "};\n\n");
 			}
 
-			fprintf(f, "LIBEXPORT int %sget(PointerRNA *ptr);\n", func);
-			//fprintf(f, "LIBEXPORT void %sset(PointerRNA *ptr, int value);\n", func);
+			fprintf(f, "int %sget(PointerRNA *ptr);\n", func);
+			//fprintf(f, "void %sset(PointerRNA *ptr, int value);\n", func);
 
 			break;
 		}
@@ -1374,24 +1374,24 @@ static void rna_def_property_funcs_header(FILE *f, StructRNA *srna, PropertyDefR
 				fprintf(f, "#define %s_%s_MAX %d\n\n", srna->identifier, prop->identifier, sprop->maxlength);
 			}
 			
-			fprintf(f, "LIBEXPORT void %sget(PointerRNA *ptr, char *value);\n", func);
-			fprintf(f, "LIBEXPORT int %slength(PointerRNA *ptr);\n", func);
-			//fprintf(f, "LIBEXPORT void %sset(PointerRNA *ptr, const char *value);\n", func);
+			fprintf(f, "void %sget(PointerRNA *ptr, char *value);\n", func);
+			fprintf(f, "int %slength(PointerRNA *ptr);\n", func);
+			//fprintf(f, "void %sset(PointerRNA *ptr, const char *value);\n", func);
 
 			break;
 		}
 		case PROP_POINTER: {
-			fprintf(f, "LIBEXPORT PointerRNA %sget(PointerRNA *ptr);\n", func);
+			fprintf(f, "PointerRNA %sget(PointerRNA *ptr);\n", func);
 			//fprintf(f, "void %sset(PointerRNA *ptr, PointerRNA value);\n", func);
 			break;
 		}
 		case PROP_COLLECTION: {
-			fprintf(f, "LIBEXPORT void %sbegin(CollectionPropertyIterator *iter, PointerRNA *ptr);\n", func);
-			fprintf(f, "LIBEXPORT void %snext(CollectionPropertyIterator *iter);\n", func);
-			fprintf(f, "LIBEXPORT void %send(CollectionPropertyIterator *iter);\n", func);
-			//fprintf(f, "LIBEXPORT int %slength(PointerRNA *ptr);\n", func);
-			//fprintf(f, "LIBEXPORT void %slookup_int(PointerRNA *ptr, int key, StructRNA **type);\n", func);
-			//fprintf(f, "LIBEXPORT void %slookup_string(PointerRNA *ptr, const char *key, StructRNA **type);\n", func);
+			fprintf(f, "void %sbegin(CollectionPropertyIterator *iter, PointerRNA *ptr);\n", func);
+			fprintf(f, "void %snext(CollectionPropertyIterator *iter);\n", func);
+			fprintf(f, "void %send(CollectionPropertyIterator *iter);\n", func);
+			//fprintf(f, "int %slength(PointerRNA *ptr);\n", func);
+			//fprintf(f, "void %slookup_int(PointerRNA *ptr, int key, StructRNA **type);\n", func);
+			//fprintf(f, "void %slookup_string(PointerRNA *ptr, const char *key, StructRNA **type);\n", func);
 			break;
 		}
 	}
@@ -1862,7 +1862,7 @@ static void rna_generate_prototypes(BlenderRNA *brna, FILE *f)
 	StructRNA *srna;
 
 	for(srna=brna->structs.first; srna; srna=srna->cont.next)
-		fprintf(f, "extern LIBEXPORT StructRNA RNA_%s;\n", srna->identifier);
+		fprintf(f, "extern StructRNA RNA_%s;\n", srna->identifier);
 	fprintf(f, "\n");
 }
 
@@ -2336,7 +2336,7 @@ static void rna_generate_struct(BlenderRNA *brna, StructRNA *srna, FILE *f)
 		fprintf(f, "\n");
 	}
 
-	fprintf(f, "LIBEXPORT StructRNA RNA_%s = {\n", srna->identifier);
+	fprintf(f, "StructRNA RNA_%s = {\n", srna->identifier);
 
 	if(srna->cont.next) fprintf(f, "\t{(ContainerRNA *)&RNA_%s, ", ((StructRNA*)srna->cont.next)->identifier);
 	else fprintf(f, "\t{NULL, ");
@@ -2482,18 +2482,6 @@ static void rna_generate(BlenderRNA *brna, FILE *f, const char *filename, const
 				 "   Do not edit manually, changes will be overwritten.           */\n\n"
 				  "#define RNA_RUNTIME\n\n");
 
-	fprintf(f, "#ifndef LIBEXPORT\n");
-	fprintf(f, "#ifdef _WIN32\n");
-	fprintf(f, "#ifdef BLENDER_PLUGIN\n");
-	fprintf(f, "#define LIBEXPORT __declspec(dllimport)\n");
-	fprintf(f, "#else\n");
-	fprintf(f, "#define LIBEXPORT __declspec(dllexport)\n");
-	fprintf(f, "#endif\n");
-	fprintf(f, "#else\n");
-	fprintf(f, "#define LIBEXPORT\n");
-	fprintf(f, "#endif\n");
-	fprintf(f, "#endif\n");
-
 	fprintf(f, "#include <float.h>\n");
 	fprintf(f, "#include <stdio.h>\n");
 	fprintf(f, "#include <limits.h>\n");
@@ -2570,12 +2558,6 @@ static void rna_generate_header(BlenderRNA *brna, FILE *f)
 	fprintf(f, "/* Automatically generated function declarations for the Data API.\n"
 				 "   Do not edit manually, changes will be overwritten.              */\n\n");
 
-	fprintf(f, "#ifdef _WIN32\n");
-	fprintf(f, "#define LIBEXPORT __declspec(dllimport)\n");
-	fprintf(f, "#else\n");
-	fprintf(f, "#define LIBEXPORT\n");
-	fprintf(f, "#endif\n\n");
-
 	fprintf(f, "#include \"RNA_types.h\"\n\n");
 
 	fprintf(f, "#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n");
@@ -2597,7 +2579,7 @@ static void rna_generate_header(BlenderRNA *brna, FILE *f)
 		fprintf(f, "/**************** %s ****************/\n\n", srna->name);
 
 		while(srna) {
-			fprintf(f, "extern LIBEXPORT StructRNA RNA_%s;\n", srna->identifier);
+			fprintf(f, "extern StructRNA RNA_%s;\n", srna->identifier);
 			srna= srna->base;
 		}
 		fprintf(f, "\n");
diff --git a/source/blender/makesrna/intern/rna_access.c b/source/blender/makesrna/intern/rna_access.c
index 4e4bb46669b..88447f6dd77 100644
--- a/source/blender/makesrna/intern/rna_access.c
+++ b/source/blender/makesrna/intern/rna_access.c
@@ -62,7 +62,7 @@
 
 #include "rna_internal.h"
 
-LIBEXPORT const PointerRNA PointerRNA_NULL= {{NULL}};
+const PointerRNA PointerRNA_NULL= {{NULL}};
 
 /* Init/Exit */
 
@@ -288,7 +288,7 @@ static int rna_ensure_property_array_length(PointerRNA *ptr, PropertyRNA *prop)
 	}
 }
 
-static int rna_ensure_property_array_check(PointerRNA *UNUSED(ptr), PropertyRNA *prop)
+static int rna_ensure_property_array_check(PropertyRNA *prop)
 {
 	if(prop->magic == RNA_MAGIC) {
 		return (prop->getlength || prop->totarraylength) ? 1:0;
@@ -765,9 +765,9 @@ int RNA_property_array_length(PointerRNA *ptr, PropertyRNA *prop)
 	return rna_ensure_property_array_length(ptr, prop);
 }
 
-int RNA_property_array_check(PointerRNA *ptr, PropertyRNA *prop)
+int RNA_property_array_check(PropertyRNA *prop)
 {
-	return rna_ensure_property_array_check(ptr, prop);
+	return rna_ensure_property_array_check(prop);
 }
 
 /* used by BPY to make an array from the python object */
@@ -1399,6 +1399,7 @@ int RNA_property_boolean_get(PointerRNA *ptr, PropertyRNA *prop)
 	IDProperty *idprop;
 
 	BLI_assert(RNA_property_type(prop) == PROP_BOOLEAN);
+	BLI_assert(RNA_property_array_check(prop) == 0);
 
 	if((idprop=rna_idproperty_check(&prop, ptr)))
 		return IDP_Int(idprop);
@@ -1414,6 +1415,7 @@ void RNA_property_boolean_set(PointerRNA *ptr, PropertyRNA *prop, int value)
 	IDProperty *idprop;
 
 	BLI_assert(RNA_property_type(prop) == PROP_BOOLEAN);
+	BLI_assert(RNA_property_array_check(prop) == 0);
 
 	/* just incase other values are passed */
 	if(value) value= 1;
@@ -1440,6 +1442,7 @@ void RNA_property_boolean_get_array(PointerRNA *ptr, PropertyRNA *prop, int *val
 	IDProperty *idprop;
 
 	BLI_assert(RNA_property_type(prop) == PROP_BOOLEAN);
+	BLI_assert(RNA_property_array_check(prop) != 0);
 
 	if((idprop=rna_idproperty_check(&prop, ptr))) {
 		if(prop->arraydimension == 0)
@@ -1463,6 +1466,7 @@ int RNA_property_boolean_get_index(PointerRNA *ptr, PropertyRNA *prop, int index
 	int len= rna_ensure_property_array_length(ptr, prop);
 
 	BLI_assert(RNA_property_type(prop) == PROP_BOOLEAN);
+	BLI_assert(RNA_property_array_check(prop) != 0);
 
 	if(len <= RNA_MAX_ARRAY_LENGTH) {
 		RNA_property_boolean_get_array(ptr, prop, tmp);
@@ -1486,6 +1490,7 @@ void RNA_property_boolean_set_array(PointerRNA *ptr, PropertyRNA *prop, const in
 	IDProperty *idprop;
 
 	BLI_assert(RNA_property_type(prop) == PROP_BOOLEAN);
+	BLI_assert(RNA_property_array_check(prop) != 0);
 
 	if((idprop=rna_idproperty_check(&prop, ptr))) {
 		if(prop->arraydimension == 0)
@@ -1519,6 +1524,7 @@ void RNA_property_boolean_set_index(PointerRNA *ptr, PropertyRNA *prop, int inde
 	int len= rna_ensure_property_array_length(ptr, prop);
 
 	BLI_assert(RNA_property_type(prop) == PROP_BOOLEAN);
+	BLI_assert(RNA_property_array_check(prop) != 0);
 
 	if(len <= RNA_MAX_ARRAY_LENGTH) {
 		RNA_property_boolean_get_array(ptr, prop, tmp);
@@ -1541,6 +1547,7 @@ int RNA_property_boolean_get_default(PointerRNA *UNUSED(ptr), PropertyRNA *prop)
 	BooleanPropertyRNA *bprop= (BooleanPropertyRNA*)prop;
 
 	BLI_assert(RNA_property_type(prop) == PROP_BOOLEAN);
+	BLI_assert(RNA_property_array_check(prop) == 0);
 
 	return bprop->defaultvalue;
 }
@@ -1550,6 +1557,7 @@ void RNA_property_boolean_get_default_array(PointerRNA *UNUSED(ptr), PropertyRNA
 	BooleanPropertyRNA *bprop= (BooleanPropertyRNA*)prop;
 	
 	BLI_assert(RNA_property_type(prop) == PROP_BOOLEAN);
+	BLI_assert(RNA_property_array_check(prop) != 0);
 
 	if(prop->arraydimension == 0)
 		values[0]= bprop->defaultvalue;
@@ -1565,6 +1573,7 @@ int RNA_property_boolean_get_default_index(PointerRNA *ptr, PropertyRNA *prop, i
 	int len= rna_ensure_property_array_length(ptr, prop);
 
 	BLI_assert(RNA_property_type(prop) == PROP_BOOLEAN);
+	BLI_assert(RNA_property_array_check(prop) != 0);
 
 	if(len <= RNA_MAX_ARRAY_LENGTH) {
 		RNA_property_boolean_get_default_array(ptr, prop, tmp);
@@ -1588,6 +1597,7 @@ int RNA_property_int_get(PointerRNA *ptr, PropertyRNA *prop)
 	IDProperty *idprop;
 
 	BLI_assert(RNA_property_type(prop) == PROP_INT);
+	BLI_assert(RNA_property_array_check(prop) == 0);
 
 	if((idprop=rna_idproperty_check(&prop, ptr)))
 		return IDP_Int(idprop);
@@ -1603,6 +1613,7 @@ void RNA_property_int_set(PointerRNA *ptr, PropertyRNA *prop, int value)
 	IDProperty *idprop;
 
 	BLI_assert(RNA_property_type(prop) == PROP_INT);
+	BLI_assert(RNA_property_array_check(prop) == 0);
 	/* useful to check on bad values but set function should clamp */
 	/* BLI_assert(RNA_property_int_clamp(ptr, prop, &value) == 0); */
 
@@ -1628,6 +1639,7 @@ void RNA_property_int_get_array(PointerRNA *ptr, PropertyRNA *prop, int *values)
 	IDProperty *idprop;
 
 	BLI_assert(RNA_property_type(prop) == PROP_INT);
+	BLI_assert(RNA_property_array_check(prop) != 0);
 
 	if((idprop=rna_idproperty_check(&prop, ptr))) {
 		if(prop->arraydimension == 0)
@@ -1688,6 +1700,7 @@ int RNA_property_int_get_index(PointerRNA *ptr, PropertyRNA *prop, int index)
 	int len= rna_ensure_property_array_length(ptr, prop);
 
 	BLI_assert(RNA_property_type(prop) == PROP_INT);
+	BLI_assert(RNA_property_array_check(prop) != 0);
 
 	if(len <= RNA_MAX_ARRAY_LENGTH) {
 		RNA_property_int_get_array(ptr, prop, tmp);
@@ -1711,6 +1724,7 @@ void RNA_property_int_set_array(PointerRNA *ptr, PropertyRNA *prop, const int *v
 	IDProperty *idprop;
 
 	BLI_assert(RNA_property_type(prop) == PROP_INT);
+	BLI_assert(RNA_property_array_check(prop) != 0);
 
 	if((idprop=rna_idproperty_check(&prop, ptr))) {
 		if(prop->arraydimension == 0)
@@ -1744,6 +1758,7 @@ void RNA_property_int_set_index(PointerRNA *ptr, PropertyRNA *prop, int index, i
 	int len= rna_ensure_property_array_length(ptr, prop);
 
 	BLI_assert(RNA_property_type(prop) == PROP_INT);
+	BLI_assert(RNA_property_array_check(prop) != 0);
 
 	if(len <= RNA_MAX_ARRAY_LENGTH) {
 		RNA_property_int_get_array(ptr, prop, tmp);
@@ -1772,6 +1787,7 @@ void RNA_property_int_get_default_array(PointerRNA *UNUSED(ptr), PropertyRNA *pr
 	IntPropertyRNA *iprop= (IntPropertyRNA*)prop;
 	
 	BLI_assert(RNA_property_type(prop) == PROP_INT);
+	BLI_assert(RNA_property_array_check(prop) != 0);
 
 	if(prop->arraydimension == 0)
 		values[0]= iprop->defaultvalue;
@@ -1808,6 +1824,7 @@ float RNA_property_float_get(PointerRNA *ptr, PropertyRNA *prop)
 	IDProperty *idprop;
 
 	BLI_assert(RNA_property_type(prop) == PROP_FLOAT);
+	BLI_assert(RNA_property_array_check(prop) == 0);
 
 	if((idprop=rna_idproperty_check(&prop, ptr))) {
 		if(idprop->type == IDP_FLOAT)
@@ -1827,6 +1844,7 @@ void RNA_property_float_set(PointerRNA *ptr, PropertyRNA *prop, float value)
 	IDProperty *idprop;
 
 	BLI_assert(RNA_property_type(prop) == PROP_FLOAT);
+	BLI_assert(RNA_property_array_check(prop) == 0);
 	/* useful to check on bad values but set function should clamp */
 	/* BLI_assert(RNA_property_float_clamp(ptr, prop, &value) == 0); */
 
@@ -1858,6 +1876,7 @@ void RNA_property_float_get_array(PointerRNA *ptr, PropertyRNA *prop, float *val
 	int i;
 
 	BLI_assert(RNA_property_type(prop) == PROP_FLOAT);
+	BLI_assert(RNA_property_array_check(prop) != 0);
 
 	if((idprop=rna_idproperty_check(&prop, ptr))) {
 		if(prop->arraydimension == 0)
@@ -1923,6 +1942,7 @@ float RNA_property_float_get_index(PointerRNA *ptr, PropertyRNA *prop, int index
 	int len= rna_ensure_property_array_length(ptr, prop);
 
 	BLI_assert(RNA_property_type(prop) == PROP_FLOAT);
+	BLI_assert(RNA_property_array_check(prop) != 0);
 
 	if(len <= RNA_MAX_ARRAY_LENGTH) {
 		RNA_property_float_get_array(ptr, prop, tmp);
@@ -1948,6 +1968,7 @@ void RNA_property_float_set_array(PointerRNA *ptr, PropertyRNA *prop, const floa
 	int i;
 
 	BLI_assert(RNA_property_type(prop) == PROP_FLOAT);
+	BLI_assert(RNA_property_array_check(prop) != 0);
 
 	if((idprop=rna_idproperty_check(&prop, ptr))) {
 		if(prop->arraydimension == 0) {
@@ -1991,6 +2012,7 @@ void RNA_property_float_set_index(PointerRNA *ptr, PropertyRNA *prop, int index,
 	int len= rna_ensure_property_array_length(ptr, prop);
 
 	BLI_assert(RNA_property_type(prop) == PROP_FLOAT);
+	BLI_assert(RNA_property_array_check(prop) != 0);
 
 	if(len <= RNA_MAX_ARRAY_LENGTH) {
 		RNA_property_float_get_array(ptr, prop, tmp);
@@ -2013,6 +2035,7 @@ float RNA_property_float_get_default(PointerRNA *UNUSED(ptr), PropertyRNA *prop)
 	FloatPropertyRNA *fprop= (FloatPropertyRNA*)prop;
 
 	BLI_assert(RNA_property_type(prop) == PROP_FLOAT);
+	BLI_assert(RNA_property_array_check(prop) == 0);
 
 	return fprop->defaultvalue;
 }
@@ -2022,6 +2045,7 @@ void RNA_property_float_get_default_array(PointerRNA *UNUSED(ptr), PropertyRNA *
 	FloatPropertyRNA *fprop= (FloatPropertyRNA*)prop;
 	
 	BLI_assert(RNA_property_type(prop) == PROP_FLOAT);
+	BLI_assert(RNA_property_array_check(prop) != 0);
 
 	if(prop->arraydimension == 0)
 		values[0]= fprop->defaultvalue;
@@ -2037,6 +2061,7 @@ float RNA_property_float_get_default_index(PointerRNA *ptr, PropertyRNA *prop, i
 	int len= rna_ensure_property_array_length(ptr, prop);
 
 	BLI_assert(RNA_property_type(prop) == PROP_FLOAT);
+	BLI_assert(RNA_property_array_check(prop) != 0);
 
 	if(len <= RNA_MAX_ARRAY_LENGTH) {
 		RNA_property_float_get_default_array(ptr, prop, tmp);
@@ -4484,7 +4509,8 @@ int  RNA_parameter_list_ret_count(ParameterList *parms)
 
 void RNA_parameter_list_begin(ParameterList *parms, ParameterIterator *iter)
 {
-	RNA_pointer_create(NULL, &RNA_Function, parms->func, &iter->funcptr);
+	/* may be useful but unused now */
+	/* RNA_pointer_create(NULL, &RNA_Function, parms->func, &iter->funcptr); */ /*UNUSED*/
 
 	iter->parms= parms;
 	iter->parm= parms->func->cont.properties.first;
diff --git a/source/blender/makesrna/intern/rna_constraint.c b/source/blender/makesrna/intern/rna_constraint.c
index 0163dd5db32..8127c180706 100644
--- a/source/blender/makesrna/intern/rna_constraint.c
+++ b/source/blender/makesrna/intern/rna_constraint.c
@@ -85,7 +85,7 @@ static EnumPropertyItem target_space_pchan_items[] = {
 static EnumPropertyItem owner_space_pchan_items[] = {
 	{0, "WORLD", 0, "World Space", "The constraint is applied relative to the world coordinate system"},
 	{2, "POSE", 0, "Pose Space", "The constraint is applied in Pose Space, the object transformation is ignored"},
-	{3, "LOCAL_WITH_PARENT", 0, "The constraint is applied relative to the local coordinate system of the object, with the parent transformation added"},
+	{3, "LOCAL_WITH_PARENT", 0, "Local With Parent", "The constraint is applied relative to the local coordinate system of the object, with the parent transformation added"},
 	{1, "LOCAL", 0, "Local Space", "The constraint is applied relative to the local coordinate sytem of the object"},
 	{0, NULL, 0, NULL, NULL}};
 
diff --git a/source/blender/makesrna/intern/rna_curve.c b/source/blender/makesrna/intern/rna_curve.c
index 260d483b9d2..599d36ec8b8 100644
--- a/source/blender/makesrna/intern/rna_curve.c
+++ b/source/blender/makesrna/intern/rna_curve.c
@@ -651,7 +651,7 @@ static char *rna_TextBox_path(PointerRNA *ptr)
 	int index= (int)(tb - cu->tb);
 
 	if (index >= 0 && index < cu->totbox)
-		return BLI_sprintfN("textboxes[%d]", index);
+		return BLI_sprintfN("text_boxes[%d]", index);
 	else
 		return BLI_strdup("");
 }
diff --git a/source/blender/makesrna/intern/rna_internal.h b/source/blender/makesrna/intern/rna_internal.h
index d20033a5967..c0ae7b02b1a 100644
--- a/source/blender/makesrna/intern/rna_internal.h
+++ b/source/blender/makesrna/intern/rna_internal.h
@@ -30,12 +30,6 @@
 #ifndef RNA_INTERNAL_H
 #define RNA_INTERNAL_H
 
-#ifdef _WIN32
-#define LIBEXPORT __declspec(dllexport)
-#else
-#define LIBEXPORT
-#endif
-
 #include "UI_resources.h"
 
 #include "rna_internal_types.h"
@@ -307,8 +301,8 @@ extern CollectionPropertyRNA rna_PropertyGroupItem_idp_array;
 extern FloatPropertyRNA rna_PropertyGroupItem_double;
 extern FloatPropertyRNA rna_PropertyGroupItem_double_array;
 
-extern LIBEXPORT StructRNA RNA_PropertyGroupItem;
-extern LIBEXPORT StructRNA RNA_PropertyGroup;
+extern StructRNA RNA_PropertyGroupItem;
+extern StructRNA RNA_PropertyGroup;
 
 struct IDProperty *rna_idproperty_check(struct PropertyRNA **prop, struct PointerRNA *ptr);
 
diff --git a/source/blender/makesrna/intern/rna_main_api.c b/source/blender/makesrna/intern/rna_main_api.c
index 7d6e1dd0567..05665ea077a 100644
--- a/source/blender/makesrna/intern/rna_main_api.c
+++ b/source/blender/makesrna/intern/rna_main_api.c
@@ -232,7 +232,7 @@ Mesh *rna_Main_meshes_new(Main *UNUSED(bmain), const char *name)
 	id_us_min(&me->id);
 	return me;
 }
-LIBEXPORT void rna_Main_meshes_remove(Main *bmain, ReportList *reports, Mesh *mesh)
+void rna_Main_meshes_remove(Main *bmain, ReportList *reports, Mesh *mesh)
 {
 	if(ID_REAL_USERS(mesh) <= 0)
 		free_libblock(&bmain->mesh, mesh);
diff --git a/source/blender/makesrna/intern/rna_modifier.c b/source/blender/makesrna/intern/rna_modifier.c
index ba655915fb6..5c5391b0bba 100644
--- a/source/blender/makesrna/intern/rna_modifier.c
+++ b/source/blender/makesrna/intern/rna_modifier.c
@@ -2265,6 +2265,13 @@ static void rna_def_modifier_solidify(BlenderRNA *brna)
 	RNA_def_property_ui_text(prop, "Thickness", "Thickness of the shell");
 	RNA_def_property_update(prop, 0, "rna_Modifier_update");
 
+	prop= RNA_def_property(srna, "thickness_vertex_group", PROP_FLOAT, PROP_FACTOR);
+	RNA_def_property_float_sdna(prop, NULL, "offset_fac_vg");
+	RNA_def_property_range(prop, 0.0, 1.0);
+	RNA_def_property_ui_range(prop, 0, 1, 0.1, 3);
+	RNA_def_property_ui_text(prop, "Vertex Group Factor", "Thickness factor to use for zero vertex group influence");
+	RNA_def_property_update(prop, 0, "rna_Modifier_update");
+
 	prop= RNA_def_property(srna, "offset", PROP_FLOAT, PROP_FACTOR);
 	RNA_def_property_float_sdna(prop, NULL, "offset_fac");
 	RNA_def_property_range(prop, -FLT_MAX, FLT_MAX);
diff --git a/source/blender/makesrna/intern/rna_object.c b/source/blender/makesrna/intern/rna_object.c
index 76bbfcbed41..55e1119f58e 100644
--- a/source/blender/makesrna/intern/rna_object.c
+++ b/source/blender/makesrna/intern/rna_object.c
@@ -2025,7 +2025,14 @@ static void rna_def_object(BlenderRNA *brna)
 	RNA_def_property_ui_text(prop, "Input Matrix", "Matrix access to location, rotation and scale (including deltas), before constraints and parenting are applied.");
 	RNA_def_property_float_funcs(prop, "rna_Object_matrix_basis_get", "rna_Object_matrix_basis_set", NULL);
 	RNA_def_property_update(prop, NC_OBJECT|ND_TRANSFORM, "rna_Object_internal_update");
-	
+
+	/*parent_inverse*/
+	prop= RNA_def_property(srna, "matrix_parent_inverse", PROP_FLOAT, PROP_MATRIX);
+	RNA_def_property_float_sdna(prop, NULL, "parentinv");
+	RNA_def_property_multi_array(prop, 2, rna_matrix_dimsize_4x4);
+	RNA_def_property_ui_text(prop, "Matrix", "Inverse of object's parent matrix at time of parenting");
+	RNA_def_property_update(prop, NC_OBJECT|ND_TRANSFORM, "rna_Object_internal_update");
+
 	/* collections */
 	prop= RNA_def_property(srna, "constraints", PROP_COLLECTION, PROP_NONE);
 	RNA_def_property_struct_type(prop, "Constraint");
diff --git a/source/blender/makesrna/intern/rna_object_api.c b/source/blender/makesrna/intern/rna_object_api.c
index b99b5f3dc26..53c71c42f7c 100644
--- a/source/blender/makesrna/intern/rna_object_api.c
+++ b/source/blender/makesrna/intern/rna_object_api.c
@@ -78,7 +78,7 @@
 
 /* copied from Mesh_getFromObject and adapted to RNA interface */
 /* settings: 0 - preview, 1 - render */
-LIBEXPORT Mesh *rna_Object_to_mesh(Object *ob, ReportList *reports, Scene *sce, int apply_modifiers, int settings)
+Mesh *rna_Object_to_mesh(Object *ob, ReportList *reports, Scene *sce, int apply_modifiers, int settings)
 {
 	Mesh *tmpmesh;
 	Curve *tmpcu = NULL;
@@ -286,7 +286,7 @@ static void dupli_render_particle_set(Scene *scene, Object *ob, int level, int e
 		dupli_render_particle_set(scene, go->ob, level+1, enable);
 }
 /* When no longer needed, duplilist should be freed with Object.free_duplilist */
-LIBEXPORT void rna_Object_create_duplilist(Object *ob, ReportList *reports, Scene *sce)
+void rna_Object_create_duplilist(Object *ob, ReportList *reports, Scene *sce)
 {
 	if (!(ob->transflag & OB_DUPLI)) {
 		BKE_report(reports, RPT_ERROR, "Object does not have duplis.");
@@ -308,7 +308,7 @@ LIBEXPORT void rna_Object_create_duplilist(Object *ob, ReportList *reports, Scen
 	/* ob->duplilist should now be freed with Object.free_duplilist */
 }
 
-LIBEXPORT void rna_Object_free_duplilist(Object *ob)
+void rna_Object_free_duplilist(Object *ob)
 {
 	if (ob->duplilist) {
 		free_object_duplilist(ob->duplilist);
@@ -457,7 +457,7 @@ void rna_ObjectBase_layers_from_view(Base *base, View3D *v3d)
 	base->lay= base->object->lay= v3d->lay;
 }
 
-LIBEXPORT int rna_Object_is_modified(Object *ob, Scene *scene, int settings)
+int rna_Object_is_modified(Object *ob, Scene *scene, int settings)
 {
 	return object_is_modified(scene, ob) & settings;
 }
diff --git a/source/blender/makesrna/intern/rna_render.c b/source/blender/makesrna/intern/rna_render.c
index a0744a5b6a0..4337f3c4de6 100644
--- a/source/blender/makesrna/intern/rna_render.c
+++ b/source/blender/makesrna/intern/rna_render.c
@@ -50,12 +50,12 @@
 #include "BKE_context.h"
 #include "BKE_report.h"
 
-LIBEXPORT void engine_tag_redraw(RenderEngine *engine)
+void engine_tag_redraw(RenderEngine *engine)
 {
 	engine->do_draw = 1;
 }
 
-LIBEXPORT void engine_tag_update(RenderEngine *engine)
+void engine_tag_update(RenderEngine *engine)
 {
 	engine->do_update = 1;
 }
@@ -263,7 +263,7 @@ static void rna_RenderLayer_rect_get(PointerRNA *ptr, float *values)
 	memcpy(values, rl->rectf, sizeof(float)*rl->rectx*rl->recty*4);
 }
 
-LIBEXPORT void rna_RenderLayer_rect_set(PointerRNA *ptr, const float *values)
+void rna_RenderLayer_rect_set(PointerRNA *ptr, const float *values)
 {
 	RenderLayer *rl= (RenderLayer*)ptr->data;
 	memcpy(rl->rectf, values, sizeof(float)*rl->rectx*rl->recty*4);
@@ -285,7 +285,7 @@ static void rna_RenderPass_rect_get(PointerRNA *ptr, float *values)
 	memcpy(values, rpass->rect, sizeof(float)*rpass->rectx*rpass->recty*rpass->channels);
 }
 
-LIBEXPORT void rna_RenderPass_rect_set(PointerRNA *ptr, const float *values)
+void rna_RenderPass_rect_set(PointerRNA *ptr, const float *values)
 {
 	RenderPass *rpass= (RenderPass*)ptr->data;
 	memcpy(rpass->rect, values, sizeof(float)*rpass->rectx*rpass->recty*rpass->channels);
diff --git a/source/blender/makesrna/intern/rna_userdef.c b/source/blender/makesrna/intern/rna_userdef.c
index 57044188dd9..a685c6deb34 100644
--- a/source/blender/makesrna/intern/rna_userdef.c
+++ b/source/blender/makesrna/intern/rna_userdef.c
@@ -2769,7 +2769,7 @@ static void rna_def_userdef_input(BlenderRNA *brna)
 	prop= RNA_def_property(srna, "ndof_orbit_invert_axes", PROP_BOOLEAN, PROP_NONE);
 	RNA_def_property_boolean_sdna(prop, NULL, "ndof_flag", NDOF_ORBIT_INVERT_AXES);
 	RNA_def_property_ui_text(prop, "Invert Axes", "Toggle between moving the viewpoint or moving the scene being viewed");
-	/* in 3Dx docs, this is called 'object mode' vs. 'target camera mode'
+	/* in 3Dx docs, this is called 'object mode' vs. 'target camera mode' */
 
 	/* 3D view: fly */
 	prop= RNA_def_property(srna, "ndof_lock_horizon", PROP_BOOLEAN, PROP_NONE);
diff --git a/source/blender/makesrna/intern/rna_wm.c b/source/blender/makesrna/intern/rna_wm.c
index 307cf0e175a..93adf808f83 100644
--- a/source/blender/makesrna/intern/rna_wm.c
+++ b/source/blender/makesrna/intern/rna_wm.c
@@ -1746,6 +1746,7 @@ static void rna_def_keyconfig(BlenderRNA *brna)
 	RNA_def_property_boolean_negative_sdna(prop, NULL, "flag", KMI_INACTIVE);
 	RNA_def_property_ui_text(prop, "Active", "Activate or deactivate item");
 	RNA_def_property_ui_icon(prop, ICON_CHECKBOX_DEHLT, 1);
+	RNA_def_property_update(prop, 0, "rna_KeyMapItem_update");
 
 	prop= RNA_def_property(srna, "is_user_modified", PROP_BOOLEAN, PROP_NONE);
 	RNA_def_property_boolean_sdna(prop, NULL, "flag", KMI_USER_MODIFIED);
diff --git a/source/blender/modifiers/intern/MOD_solidify.c b/source/blender/modifiers/intern/MOD_solidify.c
index 0b1fac06e14..afe6da8b38a 100644
--- a/source/blender/modifiers/intern/MOD_solidify.c
+++ b/source/blender/modifiers/intern/MOD_solidify.c
@@ -232,8 +232,10 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob,
 
 	float (*vert_nors)[3]= NULL;
 
-	float const ofs_orig=				- (((-smd->offset_fac + 1.0f) * 0.5f) * smd->offset);
-	float const ofs_new= smd->offset	- (((-smd->offset_fac + 1.0f) * 0.5f) * smd->offset);
+	const float ofs_orig=				- (((-smd->offset_fac + 1.0f) * 0.5f) * smd->offset);
+	const float ofs_new= smd->offset	- (((-smd->offset_fac + 1.0f) * 0.5f) * smd->offset);
+	const float offset_fac_vg= smd->offset_fac_vg;
+	const float offset_fac_vg_inv= 1.0f - smd->offset_fac_vg;
 
 	/* weights */
 	MDeformVert *dvert, *dv= NULL;
@@ -391,8 +393,9 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob,
 			dv= dvert;
 			for(i=0; i<numVerts; i++, mv++) {
 				if(dv) {
-					if(defgrp_invert)	scalar_short_vgroup = scalar_short * (1.0f - defvert_find_weight(dv, defgrp_index));
-					else				scalar_short_vgroup = scalar_short * defvert_find_weight(dv, defgrp_index);
+					if(defgrp_invert)	scalar_short_vgroup = 1.0f - defvert_find_weight(dv, defgrp_index);
+					else				scalar_short_vgroup = defvert_find_weight(dv, defgrp_index);
+					scalar_short_vgroup= (offset_fac_vg + (scalar_short_vgroup * offset_fac_vg_inv)) * scalar_short;
 					dv++;
 				}
 				VECADDFAC(mv->co, mv->co, mv->no, scalar_short_vgroup);
@@ -405,8 +408,9 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob,
 			dv= dvert;
 			for(i=0; i<numVerts; i++, mv++) {
 				if(dv) {
-					if(defgrp_invert)	scalar_short_vgroup = scalar_short * (1.0f - defvert_find_weight(dv, defgrp_index));
-					else				scalar_short_vgroup = scalar_short * defvert_find_weight(dv, defgrp_index);
+					if(defgrp_invert)	scalar_short_vgroup = 1.0f - defvert_find_weight(dv, defgrp_index);
+					else				scalar_short_vgroup = defvert_find_weight(dv, defgrp_index);
+					scalar_short_vgroup= (offset_fac_vg + (scalar_short_vgroup * offset_fac_vg_inv)) * scalar_short;
 					dv++;
 				}
 				VECADDFAC(mv->co, mv->co, mv->no, scalar_short_vgroup);
@@ -466,15 +470,21 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob,
 
 		/* vertex group support */
 		if(dvert) {
+			float scalar;
+
 			dv= dvert;
 			if(defgrp_invert) {
 				for(i=0; i<numVerts; i++, dv++) {
-					vert_angles[i] *= (1.0f - defvert_find_weight(dv, defgrp_index));
+					scalar= 1.0f - defvert_find_weight(dv, defgrp_index);
+					scalar= offset_fac_vg + (scalar * offset_fac_vg_inv);
+					vert_angles[i] *= scalar;
 				}
 			}
 			else {
 				for(i=0; i<numVerts; i++, dv++) {
-					vert_angles[i] *= defvert_find_weight(dv, defgrp_index);
+					scalar= defvert_find_weight(dv, defgrp_index);
+					scalar= offset_fac_vg + (scalar * offset_fac_vg_inv);
+					vert_angles[i] *= scalar;
 				}
 			}
 		}
diff --git a/source/blender/python/intern/bpy_operator.c b/source/blender/python/intern/bpy_operator.c
index 4b05a9c0c72..7310878f661 100644
--- a/source/blender/python/intern/bpy_operator.c
+++ b/source/blender/python/intern/bpy_operator.c
@@ -52,6 +52,9 @@
 #include "WM_types.h"
 
 #include "MEM_guardedalloc.h"
+
+#include "BLI_ghash.h"
+
 #include "BKE_report.h"
 #include "BKE_context.h"
 
@@ -359,15 +362,18 @@ static PyObject *pyop_as_string(PyObject *UNUSED(self), PyObject *args)
 
 static PyObject *pyop_dir(PyObject *UNUSED(self))
 {
+	GHashIterator *iter= WM_operatortype_iter();
 	PyObject *list= PyList_New(0), *name;
-	wmOperatorType *ot;
-	
-	for(ot= WM_operatortype_first(); ot; ot= ot->next) {
+
+	for( ; !BLI_ghashIterator_isDone(iter); BLI_ghashIterator_step(iter)) {
+		wmOperatorType *ot= BLI_ghashIterator_getValue(iter);
+
 		name= PyUnicode_FromString(ot->idname);
 		PyList_Append(list, name);
 		Py_DECREF(name);
 	}
-	
+	BLI_ghashIterator_free(iter);
+
 	return list;
 }
 
diff --git a/source/blender/python/intern/bpy_rna.c b/source/blender/python/intern/bpy_rna.c
index 4447a0476f4..ba8145c2773 100644
--- a/source/blender/python/intern/bpy_rna.c
+++ b/source/blender/python/intern/bpy_rna.c
@@ -856,7 +856,7 @@ static PyObject *pyrna_prop_str(BPy_PropertyRNA *self)
 		if(type==PROP_COLLECTION) {
 			len= pyrna_prop_collection_length(self);
 		}
-		else if (RNA_property_array_check(&self->ptr, self->prop)) {
+		else if (RNA_property_array_check(self->prop)) {
 			len= pyrna_prop_array_length((BPy_PropertyArrayRNA *)self);
 		}
 
@@ -1224,7 +1224,7 @@ PyObject *pyrna_prop_to_py(PointerRNA *ptr, PropertyRNA *prop)
 	PyObject *ret;
 	int type= RNA_property_type(prop);
 
-	if (RNA_property_array_check(ptr, prop)) {
+	if (RNA_property_array_check(prop)) {
 		return pyrna_py_from_array(ptr, prop);
 	}
 
@@ -1369,7 +1369,7 @@ static int pyrna_py_to_prop(PointerRNA *ptr, PropertyRNA *prop, void *data, PyOb
 	int type= RNA_property_type(prop);
 
 
-	if (RNA_property_array_check(ptr, prop)) {
+	if (RNA_property_array_check(prop)) {
 		/* done getting the length */
 		if(pyrna_py_to_array(ptr, prop, data, value, error_prefix) == -1) {
 			return -1;
@@ -4088,7 +4088,7 @@ static PyObject *pyrna_param_to_py(PointerRNA *ptr, PropertyRNA *prop, void *dat
 	int type= RNA_property_type(prop);
 	int flag= RNA_property_flag(prop);
 
-	if(RNA_property_array_check(ptr, prop)) {
+	if(RNA_property_array_check(prop)) {
 		int a, len;
 
 		if (flag & PROP_DYNAMIC) {
@@ -5519,7 +5519,7 @@ PyObject *pyrna_prop_CreatePyObject(PointerRNA *ptr, PropertyRNA *prop)
 {
 	BPy_PropertyRNA *pyrna;
 
-	if (RNA_property_array_check(ptr, prop) == 0) {
+	if (RNA_property_array_check(prop) == 0) {
 		PyTypeObject *type;
 
 		if (RNA_property_type(prop) != PROP_COLLECTION) {
diff --git a/source/blender/python/intern/bpy_rna_anim.c b/source/blender/python/intern/bpy_rna_anim.c
index 30d83e196ba..8bde1db96ca 100644
--- a/source/blender/python/intern/bpy_rna_anim.c
+++ b/source/blender/python/intern/bpy_rna_anim.c
@@ -107,7 +107,7 @@ static int pyrna_struct_anim_args_parse(PointerRNA *ptr, const char *error_prefi
 		return -1;
 	}
 
-	if(RNA_property_array_check(&r_ptr, prop) == 0) {
+	if(RNA_property_array_check(prop) == 0) {
 		if((*index) == -1) {
 			*index= 0;
 		}
diff --git a/source/blender/python/intern/bpy_rna_array.c b/source/blender/python/intern/bpy_rna_array.c
index 9843a57e0f2..e50ce233671 100644
--- a/source/blender/python/intern/bpy_rna_array.c
+++ b/source/blender/python/intern/bpy_rna_array.c
@@ -285,17 +285,20 @@ static char *copy_values(PyObject *seq, PointerRNA *ptr, PropertyRNA *prop, int
 	int totdim= RNA_property_array_dimension(ptr, prop, NULL);
 	const int seq_size= PySequence_Size(seq);
 
-	/* General note for 'data' being NULL or PySequence_GetItem() failing.
+	/* Regarding PySequence_GetItem() failing.
 	 *
 	 * This should never be NULL since we validated it, _but_ some triky python
 	 * developer could write their own sequence type which succeeds on
-	 * validating but fails later somehow, so include checks for safety. */
+	 * validating but fails later somehow, so include checks for safety.
+	 */
+
+	/* Note that 'data can be NULL' */
 
 	if(seq_size == -1) {
 		return NULL;
 	}
 
-	for (i= 0; (i < seq_size) && data; i++) {
+	for (i= 0; i < seq_size; i++) {
 		PyObject *item= PySequence_GetItem(seq, i);
 		if(item) {
 			if (dim + 1 < totdim) {
diff --git a/source/blender/python/mathutils/mathutils_Vector.c b/source/blender/python/mathutils/mathutils_Vector.c
index a954c07c98d..56c1334ecac 100644
--- a/source/blender/python/mathutils/mathutils_Vector.c
+++ b/source/blender/python/mathutils/mathutils_Vector.c
@@ -37,8 +37,6 @@
 #include "BLI_math.h"
 #include "BLI_utildefines.h"
 
-extern void PyC_LineSpit(void);
-
 #define MAX_DIMENSIONS 4
 
 /* Swizzle axes get packed into a single value that is used as a closure. Each
@@ -1161,28 +1159,18 @@ static PyObject *Vector_mul(PyObject *v1, PyObject *v2)
 	}
 	else if (vec1) {
 		if (MatrixObject_Check(v2)) {
-			extern void PyC_LineSpit(void);
-
-			/* VEC * MATRIX */
-			/* this is deprecated!, use the reverse instead */
-			float tvec[MAX_DIMENSIONS];
-
 
 /* ------ to be removed ------*/
-#ifndef MATH_STANDALONE
-#ifdef WITH_ASSERT_ABORT
+#if 1
 			PyErr_SetString(PyExc_ValueError,
 			                "(Vector * Matrix) is now removed, reverse the "
 			                "order (promoted to an Error for Debug builds)");
 			return NULL;
 #else
-			printf("Warning: (Vector * Matrix) is now deprecated, "
-			       "reverse the multiplication order in the script.\n");
-			PyC_LineSpit();
-#endif
-#endif		/* ifndef MATH_STANDALONE */
-/* ------ to be removed ------*/
 
+			/* VEC * MATRIX */
+			/* this is deprecated!, use the reverse instead */
+			float tvec[MAX_DIMENSIONS];
 
 			if(BaseMath_ReadCallback((MatrixObject *)v2) == -1)
 				return NULL;
@@ -1191,9 +1179,18 @@ static PyObject *Vector_mul(PyObject *v1, PyObject *v2)
 			}
 
 			return newVectorObject(tvec, vec1->size, Py_NEW, Py_TYPE(vec1));
+#endif
+/* ------ to be removed ------*/
 		}
 		else if (QuaternionObject_Check(v2)) {
 			/* VEC * QUAT */
+/* ------ to be removed ------*/
+#if 1
+			PyErr_SetString(PyExc_ValueError,
+			                "(Vector * Quat) is now removed, reverse the "
+			                "order (promoted to an Error for Debug builds)");
+			return NULL;
+#else
 			QuaternionObject *quat2 = (QuaternionObject*)v2;
 			float tvec[3];
 
@@ -1207,26 +1204,11 @@ static PyObject *Vector_mul(PyObject *v1, PyObject *v2)
 				return NULL;
 			}
 
-
-/* ------ to be removed ------*/
-#ifndef MATH_STANDALONE
-#ifdef WITH_ASSERT_ABORT
-			PyErr_SetString(PyExc_ValueError,
-			                "(Vector * Quat) is now removed, reverse the "
-			                "order (promoted to an Error for Debug builds)");
-			return NULL;
-#else
-			printf("Warning: (Vector * Quat) is now deprecated, "
-			       "reverse the multiplication order in the script.\n");
-			PyC_LineSpit();
-#endif
-#endif		/* ifndef MATH_STANDALONE */
-/* ------ to be removed ------*/
-
-
 			copy_v3_v3(tvec, vec1->vec);
 			mul_qt_v3(quat2->quat, tvec);
 			return newVectorObject(tvec, 3, Py_NEW, Py_TYPE(vec1));
+#endif
+/* ------ to be removed ------*/
 		}
 		else if (((scalar= PyFloat_AsDouble(v2)) == -1.0f && PyErr_Occurred())==0) { /* VEC * FLOAT */
 			return vector_mul_float(vec1, scalar);
@@ -1260,6 +1242,14 @@ static PyObject *Vector_imul(PyObject *v1, PyObject *v2)
 	/* only support vec*=float and vec*=mat
 	   vec*=vec result is a float so that wont work */
 	if (MatrixObject_Check(v2)) {
+/* ------ to be removed ------*/
+#if 1
+		PyErr_SetString(PyExc_ValueError,
+						"(Vector *= Matrix) is now removed, reverse the "
+						"order (promoted to an Error for Debug builds) "
+						"and uses the non in-place multiplication.");
+		return NULL;
+#else
 		float rvec[MAX_DIMENSIONS];
 		if(BaseMath_ReadCallback((MatrixObject *)v2) == -1)
 			return NULL;
@@ -1267,28 +1257,21 @@ static PyObject *Vector_imul(PyObject *v1, PyObject *v2)
 		if(column_vector_multiplication(rvec, vec, (MatrixObject*)v2) == -1)
 			return NULL;
 
-
-/* ------ to be removed ------*/
-#ifndef MATH_STANDALONE
-#ifdef WITH_ASSERT_ABORT
-			PyErr_SetString(PyExc_ValueError,
-							"(Vector *= Matrix) is now removed, reverse the "
-							"order (promoted to an Error for Debug builds) "
-			                "and uses the non in-place multiplication.");
-			return NULL;
-#else
-			printf("Warning: (Vector *= Matrix) is now deprecated, "
-				   "reverse the (non in-place) multiplication order in the script.\n");
-			PyC_LineSpit();
+		memcpy(vec->vec, rvec, sizeof(float) * vec->size);
 #endif
-#endif		/* ifndef MATH_STANDALONE */
 /* ------ to be removed ------*/
-
-
-		memcpy(vec->vec, rvec, sizeof(float) * vec->size);
 	}
 	else if (QuaternionObject_Check(v2)) {
 		/* VEC *= QUAT */
+
+/* ------ to be removed ------*/
+#if 1
+		PyErr_SetString(PyExc_ValueError,
+						"(Vector *= Quat) is now removed, reverse the "
+						"order (promoted to an Error for Debug builds) "
+						"and uses the non in-place multiplication.");
+		return NULL;
+#else
 		QuaternionObject *quat2 = (QuaternionObject*)v2;
 
 		if(vec->size != 3) {
@@ -1302,25 +1285,9 @@ static PyObject *Vector_imul(PyObject *v1, PyObject *v2)
 			return NULL;
 		}
 
-
-/* ------ to be removed ------*/
-#ifndef MATH_STANDALONE
-#ifdef WITH_ASSERT_ABORT
-			PyErr_SetString(PyExc_ValueError,
-							"(Vector *= Quat) is now removed, reverse the "
-							"order (promoted to an Error for Debug builds) "
-			                "and uses the non in-place multiplication.");
-			return NULL;
-#else
-			printf("Warning: (Vector *= Quat) is now deprecated, "
-				   "reverse the (non in-place) multiplication order in the script.\n");
-			PyC_LineSpit();
+		mul_qt_v3(quat2->quat, vec->vec);
 #endif
-#endif		/* ifndef MATH_STANDALONE */
 /* ------ to be removed ------*/
-
-
-		mul_qt_v3(quat2->quat, vec->vec);
 	}
 	else if (((scalar= PyFloat_AsDouble(v2)) == -1.0f && PyErr_Occurred())==0) { /* VEC *= FLOAT */
 		mul_vn_fl(vec->vec, vec->size, scalar);
@@ -1728,6 +1695,21 @@ static int Vector_setLength(VectorObject *self, PyObject *value)
 	return 0;
 }
 
+/* vector.length_squared */
+static PyObject *Vector_getLengthSquared(VectorObject *self, void *UNUSED(closure))
+{
+	double dot = 0.0f;
+	int i;
+
+	if(BaseMath_ReadCallback(self) == -1)
+		return NULL;
+
+	for(i = 0; i < self->size; i++){
+		dot += (double)(self->vec[i] * self->vec[i]);
+	}
+	return PyFloat_FromDouble(dot);
+}
+
 /* Get a new Vector according to the provided swizzle. This function has little
    error checking, as we are in control of the inputs: the closure is set by us
    in Vector_createSwizzleGetSeter. */
@@ -1851,6 +1833,7 @@ static PyGetSetDef Vector_getseters[] = {
 	{(char *)"z", (getter)Vector_getAxis, (setter)Vector_setAxis, (char *)"Vector Z axis (3D Vectors only).\n\n:type: float", (void *)2},
 	{(char *)"w", (getter)Vector_getAxis, (setter)Vector_setAxis, (char *)"Vector W axis (4D Vectors only).\n\n:type: float", (void *)3},
 	{(char *)"length", (getter)Vector_getLength, (setter)Vector_setLength, (char *)"Vector Length.\n\n:type: float", NULL},
+	{(char *)"length_squared", (getter)Vector_getLengthSquared, (setter)NULL, (char *)"Vector length squared (v.dot(v)).\n\n:type: float", NULL},
 	{(char *)"magnitude", (getter)Vector_getLength, (setter)Vector_setLength, (char *)"Vector Length.\n\n:type: float", NULL},
 	{(char *)"is_wrapped", (getter)BaseMathObject_getWrapped, (setter)NULL, (char *)BaseMathObject_Wrapped_doc, NULL},
 	{(char *)"owner", (getter)BaseMathObject_getOwner, (setter)NULL, (char *)BaseMathObject_Owner_doc, NULL},
diff --git a/source/blender/render/extern/include/RE_engine.h b/source/blender/render/extern/include/RE_engine.h
index 2b0ee81fcde..f7a927ec5db 100644
--- a/source/blender/render/extern/include/RE_engine.h
+++ b/source/blender/render/extern/include/RE_engine.h
@@ -93,14 +93,14 @@ void RE_engine_free(RenderEngine *engine);
 void RE_layer_load_from_file(struct RenderLayer *layer, struct ReportList *reports, const char *filename, int x, int y);
 void RE_result_load_from_file(struct RenderResult *result, struct ReportList *reports, const char *filename);
 
-LIBEXPORT struct RenderResult *RE_engine_begin_result(RenderEngine *engine, int x, int y, int w, int h);
-LIBEXPORT void RE_engine_update_result(RenderEngine *engine, struct RenderResult *result);
-LIBEXPORT void RE_engine_end_result(RenderEngine *engine, struct RenderResult *result);
-
-LIBEXPORT int RE_engine_test_break(RenderEngine *engine);
-LIBEXPORT void RE_engine_update_stats(RenderEngine *engine, const char *stats, const char *info);
-LIBEXPORT void RE_engine_update_progress(RenderEngine *engine, float progress);
-LIBEXPORT void RE_engine_report(RenderEngine *engine, int type, const char *msg);
+struct RenderResult *RE_engine_begin_result(RenderEngine *engine, int x, int y, int w, int h);
+void RE_engine_update_result(RenderEngine *engine, struct RenderResult *result);
+void RE_engine_end_result(RenderEngine *engine, struct RenderResult *result);
+
+int RE_engine_test_break(RenderEngine *engine);
+void RE_engine_update_stats(RenderEngine *engine, const char *stats, const char *info);
+void RE_engine_update_progress(RenderEngine *engine, float progress);
+void RE_engine_report(RenderEngine *engine, int type, const char *msg);
 
 int RE_engine_render(struct Render *re, int do_all);
 
diff --git a/source/blender/render/intern/source/rayshade.c b/source/blender/render/intern/source/rayshade.c
index 34d3adcf15b..d62f411a7c5 100644
--- a/source/blender/render/intern/source/rayshade.c
+++ b/source/blender/render/intern/source/rayshade.c
@@ -1679,7 +1679,7 @@ static void ray_trace_shadow_tra(Isect *is, ShadeInput *origshi, int depth, int
 
 /* not used, test function for ambient occlusion (yaf: pathlight) */
 /* main problem; has to be called within shading loop, giving unwanted recursion */
-static int ray_trace_shadow_rad(ShadeInput *ship, ShadeResult *shr)
+static int UNUSED_FUNCTION(ray_trace_shadow_rad)(ShadeInput *ship, ShadeResult *shr)
 {
 	static int counter=0, only_one= 0;
 	extern float hashvectf[];
diff --git a/source/blender/windowmanager/CMakeLists.txt b/source/blender/windowmanager/CMakeLists.txt
index 20ac3ba7077..dc83e29b497 100644
--- a/source/blender/windowmanager/CMakeLists.txt
+++ b/source/blender/windowmanager/CMakeLists.txt
@@ -67,6 +67,7 @@ set(SRC
 	intern/wm_window.c
 
 	WM_api.h
+	WM_keymap.h
 	WM_types.h
 	wm.h
 	wm_cursors.h
diff --git a/source/blender/windowmanager/WM_api.h b/source/blender/windowmanager/WM_api.h
index 42c3096dfc9..e1b8cefca4b 100644
--- a/source/blender/windowmanager/WM_api.h
+++ b/source/blender/windowmanager/WM_api.h
@@ -179,7 +179,7 @@ void		WM_operator_free		(struct wmOperator *op);
 void		WM_operator_stack_clear(struct wmWindowManager *wm);
 
 struct wmOperatorType *WM_operatortype_find(const char *idnamem, int quiet);
-struct wmOperatorType *WM_operatortype_first(void);
+struct GHashIterator *WM_operatortype_iter(void);
 void		WM_operatortype_append	(void (*opfunc)(struct wmOperatorType*));
 void		WM_operatortype_append_ptr	(void (*opfunc)(struct wmOperatorType*, void *), void *userdata);
 void		WM_operatortype_append_macro_ptr	(void (*opfunc)(struct wmOperatorType*, void *), void *userdata);
@@ -222,6 +222,7 @@ wmOperator *WM_operator_last_redo(const struct bContext *C);
 #define WM_FILESEL_DIRECTORY	(1 << 1)
 #define WM_FILESEL_FILENAME		(1 << 2)
 #define WM_FILESEL_FILEPATH		(1 << 3)
+#define WM_FILESEL_FILES		(1 << 4)
 
 
 		/* operator as a python command (resultuing string must be free'd) */
@@ -230,6 +231,7 @@ void		WM_operator_bl_idname(char *to, const char *from);
 void		WM_operator_py_idname(char *to, const char *from);
 
 /* *************** menu types ******************** */
+void				WM_menutype_init(void);
 struct MenuType		*WM_menutype_find(const char *idname, int quiet);
 int					WM_menutype_add(struct MenuType* mt);
 int					WM_menutype_contains(struct MenuType* mt);
diff --git a/source/blender/windowmanager/WM_types.h b/source/blender/windowmanager/WM_types.h
index 7fd52e89a5f..cc3ae3ab753 100644
--- a/source/blender/windowmanager/WM_types.h
+++ b/source/blender/windowmanager/WM_types.h
@@ -389,8 +389,14 @@ typedef struct wmNDOFMotionData {
 	/* awfully similar to GHOST_TEventNDOFMotionData... */
 	// Each component normally ranges from -1 to +1, but can exceed that.
 	// These use blender standard view coordinates, with positive rotations being CCW about the axis.
-	float tvec[3]; // translation
-	float rvec[3]; // rotation:
+	union {
+		float tvec[3]; // translation
+		struct { float tx, ty, tz; };
+		};
+	union {
+		float rvec[3]; // rotation:
+		struct { float rx, ry, rz; };
+		};
 		// axis = (rx,ry,rz).normalized
 		// amount = (rx,ry,rz).magnitude [in revolutions, 1.0 = 360 deg]
 	float dt; // time since previous NDOF Motion event
@@ -417,8 +423,6 @@ typedef struct wmTimer {
 
 
 typedef struct wmOperatorType {
-	struct wmOperatorType *next, *prev;
-
 	const char *name;		/* text for ui, undo */
 	const char *idname;		/* unique identifier */
 	const char *description;	/* tooltips and python docs */
diff --git a/source/blender/windowmanager/intern/wm.c b/source/blender/windowmanager/intern/wm.c
index 1d5cf1cdc53..9299b50103c 100644
--- a/source/blender/windowmanager/intern/wm.c
+++ b/source/blender/windowmanager/intern/wm.c
@@ -40,7 +40,11 @@
 
 #include "GHOST_C-api.h"
 
+#include "MEM_guardedalloc.h"
+
+#include "BLI_utildefines.h"
 #include "BLI_blenlib.h"
+#include "BLI_ghash.h"
 
 #include "BKE_blender.h"
 #include "BKE_context.h"
@@ -59,8 +63,6 @@
 #include "wm_draw.h"
 #include "wm.h"
 
-#include "MEM_guardedalloc.h"
-
 #include "ED_screen.h"
 
 #ifdef WITH_PYTHON
@@ -151,14 +153,14 @@ void WM_operator_stack_clear(wmWindowManager *wm)
 
 /* ****************************************** */
 
-static ListBase menutypes = {NULL, NULL}; /* global menutype list */
+static GHash *menutypes_hash= NULL;
 
 MenuType *WM_menutype_find(const char *idname, int quiet)
 {
 	MenuType* mt;
 
 	if (idname[0]) {
-		mt= BLI_findstring(&menutypes, idname, offsetof(MenuType, idname));
+		mt= BLI_ghash_lookup(menutypes_hash, idname);
 		if(mt)
 			return mt;
 	}
@@ -171,35 +173,55 @@ MenuType *WM_menutype_find(const char *idname, int quiet)
 
 int WM_menutype_add(MenuType* mt)
 {
-	BLI_addtail(&menutypes, mt);
+	BLI_ghash_insert(menutypes_hash, (void *)mt->idname, mt);
 	return 1;
 }
 
 /* inefficient but only used for tooltip code */
 int WM_menutype_contains(MenuType* mt)
 {
-	return (mt != NULL && BLI_findindex(&menutypes, mt) != -1);
+	int found= FALSE;
+
+	if(mt) {
+		GHashIterator *iter= BLI_ghashIterator_new(menutypes_hash);
+
+		for( ; !BLI_ghashIterator_isDone(iter); BLI_ghashIterator_step(iter)) {
+			if(mt == BLI_ghashIterator_getValue(iter)) {
+				found= TRUE;
+				break;
+			}
+		}
+		BLI_ghashIterator_free(iter);
+	}
+
+	return found;
 }
 
 void WM_menutype_freelink(MenuType* mt)
 {
-	BLI_freelinkN(&menutypes, mt);
+	BLI_ghash_remove(menutypes_hash, mt->idname, NULL, (GHashValFreeFP)MEM_freeN);
 }
 
-void WM_menutype_free(void)
+/* called on initialize WM_init() */
+void WM_menutype_init(void)
 {
-	MenuType* mt= menutypes.first, *mt_next;
+	menutypes_hash= BLI_ghash_new(BLI_ghashutil_strhash, BLI_ghashutil_strcmp, "menutypes_hash gh");
+}
 
-	while(mt) {
-		mt_next= mt->next;
+void WM_menutype_free(void)
+{
+	GHashIterator *iter= BLI_ghashIterator_new(menutypes_hash);
 
-		if(mt->ext.free)
+	for( ; !BLI_ghashIterator_isDone(iter); BLI_ghashIterator_step(iter)) {
+		MenuType *mt= BLI_ghashIterator_getValue(iter);
+		if(mt->ext.free) {
 			mt->ext.free(mt->ext.data);
-
-		WM_menutype_freelink(mt);
-
-		mt= mt_next;
+		}
 	}
+	BLI_ghashIterator_free(iter);
+
+	BLI_ghash_free(menutypes_hash, NULL, (GHashValFreeFP)MEM_freeN);
+	menutypes_hash= NULL;
 }
 
 /* ****************************************** */
diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c
index 5baaf6b4eb2..a96cc8cf957 100644
--- a/source/blender/windowmanager/intern/wm_event_system.c
+++ b/source/blender/windowmanager/intern/wm_event_system.c
@@ -2335,29 +2335,32 @@ static void attach_ndof_data(wmEvent* event, const GHOST_TEventNDOFMotionData* g
 
 	const float s = U.ndof_sensitivity;
 
-	data->tvec[0]= s * ghost->tx;
+	data->tx = s * ghost->tx;
 
-	data->rvec[0]= s * ghost->rx;
-	data->rvec[1]= s * ghost->ry;
-	data->rvec[2]= s * ghost->rz;
+	data->rx = s * ghost->rx;
+	data->ry = s * ghost->ry;
+	data->rz = s * ghost->rz;
 
 	if (U.ndof_flag & NDOF_ZOOM_UPDOWN)
 		{
-		// rotate so Y is where Z was (maintain handed-ness)
-		data->tvec[1]= s * ghost->tz;
-		data->tvec[2]= s * -ghost->ty;
-
-		// should this affect rotation also?
-		// initial guess is 'yes', but get user feedback immediately!
-#if 0	// after turning this on, my guess becomes 'no'
-		data->rvec[1]= s * ghost->rz;
-		data->rvec[2]= s * ghost->ry;
+		/* rotate so Y is where Z was */
+		data->ty = s * ghost->tz;
+		data->tz = s * ghost->ty;
+		/* maintain handed-ness? or just do what feels right? */
+
+		/* should this affect rotation also?
+		 * initial guess is 'yes', but get user feedback immediately!
+		 */
+#if 0
+		/* after turning this on, my guess becomes 'no' */
+		data->ry = s * ghost->rz;
+		data->rz = s * ghost->ry;
 #endif
 		}
 	else
 		{
-		data->tvec[1]= s * ghost->ty;
-		data->tvec[2]= s * ghost->tz;
+		data->ty = s * ghost->ty;
+		data->tz = s * ghost->tz;
 		}
 
 	data->dt = ghost->dt;
diff --git a/source/blender/windowmanager/intern/wm_files.c b/source/blender/windowmanager/intern/wm_files.c
index 20f9d2237c2..6b3a574b6b6 100644
--- a/source/blender/windowmanager/intern/wm_files.c
+++ b/source/blender/windowmanager/intern/wm_files.c
@@ -450,7 +450,7 @@ void WM_read_file(bContext *C, const char *filepath, ReportList *reports)
 /* called on startup,  (context entirely filled with NULLs) */
 /* or called for 'New File' */
 /* op can be NULL */
-int WM_read_homefile(bContext *C, ReportList *reports, short from_memory)
+int WM_read_homefile(bContext *C, ReportList *UNUSED(reports), short from_memory)
 {
 	ListBase wmbase;
 	char tstr[FILE_MAXDIR+FILE_MAXFILE];
@@ -466,7 +466,6 @@ int WM_read_homefile(bContext *C, ReportList *reports, short from_memory)
 		} else {
 			tstr[0] = '\0';
 			from_memory = 1;
-			BKE_report(reports, RPT_INFO, "Config directory with "STRINGIFY(BLENDER_STARTUP_FILE)" file not found.");
 		}
 	}
 	
diff --git a/source/blender/windowmanager/intern/wm_init_exit.c b/source/blender/windowmanager/intern/wm_init_exit.c
index 6f8b455e835..66adbdaa681 100644
--- a/source/blender/windowmanager/intern/wm_init_exit.c
+++ b/source/blender/windowmanager/intern/wm_init_exit.c
@@ -128,7 +128,8 @@ void WM_init(bContext *C, int argc, const char **argv)
 	}
 	GHOST_CreateSystemPaths();
 	wm_operatortype_init();
-	
+	WM_menutype_init();
+
 	set_free_windowmanager_cb(wm_close_and_free);	/* library.c */
 	set_blender_test_break_cb(wm_window_testbreak); /* blender.c */
 	DAG_editors_update_cb(ED_render_id_flush_update); /* depsgraph.c */
diff --git a/source/blender/windowmanager/intern/wm_keymap.c b/source/blender/windowmanager/intern/wm_keymap.c
index 2fb0a1b2ab9..6887aa4c717 100644
--- a/source/blender/windowmanager/intern/wm_keymap.c
+++ b/source/blender/windowmanager/intern/wm_keymap.c
@@ -106,6 +106,9 @@ static int wm_keymap_item_equals_result(wmKeyMapItem *a, wmKeyMapItem *b)
 	     (a->ptr && b->ptr && IDP_EqualsProperties(a->ptr->data, b->ptr->data))))
 		return 0;
 	
+	if((a->flag & KMI_INACTIVE) != (b->flag & KMI_INACTIVE))
+		return 0;
+	
 	return (a->propvalue == b->propvalue);
 }
 
@@ -1009,7 +1012,8 @@ void WM_keyconfig_update(wmWindowManager *wm)
 			addonmap= WM_keymap_list_find(&wm->addonconf->keymaps, km->idname, km->spaceid, km->regionid);
 
 			/* diff */
-			wm_keymap_diff_update(&U.user_keymaps, defaultmap, addonmap, km);
+			if(defaultmap)
+				wm_keymap_diff_update(&U.user_keymaps, defaultmap, addonmap, km);
 		}
 	}
 
diff --git a/source/blender/windowmanager/intern/wm_operators.c b/source/blender/windowmanager/intern/wm_operators.c
index cea2d6b3fe5..1beb5b3dda3 100644
--- a/source/blender/windowmanager/intern/wm_operators.c
+++ b/source/blender/windowmanager/intern/wm_operators.c
@@ -58,6 +58,7 @@
 #include "BLI_math.h"
 #include "BLI_string.h"
 #include "BLI_utildefines.h"
+#include "BLI_ghash.h"
 
 #include "BLO_readfile.h"
 
@@ -100,7 +101,7 @@
 #include "wm_subwindow.h"
 #include "wm_window.h"
 
-static ListBase global_ops= {NULL, NULL};
+static GHash *global_ops_hash= NULL;
 
 /* ************ operator API, exported ********** */
 
@@ -113,7 +114,7 @@ wmOperatorType *WM_operatortype_find(const char *idname, int quiet)
 	WM_operator_bl_idname(idname_bl, idname);
 
 	if (idname_bl[0]) {
-		ot= (wmOperatorType *)BLI_findstring_ptr(&global_ops, idname_bl, offsetof(wmOperatorType, idname));
+		ot= BLI_ghash_lookup(global_ops_hash, idname_bl);
 		if(ot) {
 			return ot;
 		}
@@ -125,9 +126,10 @@ wmOperatorType *WM_operatortype_find(const char *idname, int quiet)
 	return NULL;
 }
 
-wmOperatorType *WM_operatortype_first(void)
+/* caller must free */
+GHashIterator *WM_operatortype_iter(void)
 {
-	return global_ops.first;
+	return BLI_ghashIterator_new(global_ops_hash);
 }
 
 /* all ops in 1 list (for time being... needs evaluation later) */
@@ -147,7 +149,8 @@ void WM_operatortype_append(void (*opfunc)(wmOperatorType*))
 
 	RNA_def_struct_ui_text(ot->srna, ot->name, ot->description ? ot->description:"(undocumented operator)"); // XXX All ops should have a description but for now allow them not to.
 	RNA_def_struct_identifier(ot->srna, ot->idname);
-	BLI_addtail(&global_ops, ot);
+
+	BLI_ghash_insert(global_ops_hash, (void *)ot->idname, ot);
 }
 
 void WM_operatortype_append_ptr(void (*opfunc)(wmOperatorType*, void*), void *userdata)
@@ -159,7 +162,8 @@ void WM_operatortype_append_ptr(void (*opfunc)(wmOperatorType*, void*), void *us
 	opfunc(ot, userdata);
 	RNA_def_struct_ui_text(ot->srna, ot->name, ot->description ? ot->description:"(undocumented operator)");
 	RNA_def_struct_identifier(ot->srna, ot->idname);
-	BLI_addtail(&global_ops, ot);
+
+	BLI_ghash_insert(global_ops_hash, (void *)ot->idname, ot);
 }
 
 /* ********************* macro operator ******************** */
@@ -351,7 +355,7 @@ wmOperatorType *WM_operatortype_append_macro(const char *idname, const char *nam
 	RNA_def_struct_ui_text(ot->srna, ot->name, ot->description); // XXX All ops should have a description but for now allow them not to.
 	RNA_def_struct_identifier(ot->srna, ot->idname);
 
-	BLI_addtail(&global_ops, ot);
+	BLI_ghash_insert(global_ops_hash, (void *)ot->idname, ot);
 
 	return ot;
 }
@@ -378,7 +382,7 @@ void WM_operatortype_append_macro_ptr(void (*opfunc)(wmOperatorType*, void*), vo
 	RNA_def_struct_ui_text(ot->srna, ot->name, ot->description);
 	RNA_def_struct_identifier(ot->srna, ot->idname);
 
-	BLI_addtail(&global_ops, ot);
+	BLI_ghash_insert(global_ops_hash, (void *)ot->idname, ot);
 }
 
 wmOperatorTypeMacro *WM_operatortype_macro_define(wmOperatorType *ot, const char *idname)
@@ -426,14 +430,14 @@ int WM_operatortype_remove(const char *idname)
 	if (ot==NULL)
 		return 0;
 	
-	BLI_remlink(&global_ops, ot);
 	RNA_struct_free(&BLENDER_RNA, ot->srna);
 	
 	if(ot->macro.first)
 		wm_operatortype_free_macro(ot);
-	
-	MEM_freeN(ot);
 
+	BLI_ghash_remove(global_ops_hash, (void *)ot->idname, NULL, NULL);
+
+	MEM_freeN(ot);
 	return 1;
 }
 
@@ -807,6 +811,9 @@ void WM_operator_properties_filesel(wmOperatorType *ot, int filter, short type,
 	if(flag & WM_FILESEL_FILENAME)
 		RNA_def_string_file_name(ot->srna, "filename", "", FILE_MAX, "File Name", "Name of the file");
 
+	if(flag & WM_FILESEL_FILES)
+		RNA_def_collection_runtime(ot->srna, "files", &RNA_OperatorFileListElement, "Files", "");
+
 	if (action == FILE_SAVE) {
 		prop= RNA_def_boolean(ot->srna, "check_existing", 1, "Check Existing", "Check and warn on overwriting existing files");
 		RNA_def_property_flag(prop, PROP_HIDDEN);
@@ -1247,7 +1254,7 @@ static uiBlock *wm_block_create_splash(bContext *C, ARegion *ar, void *UNUSED(ar
 	col = uiLayoutColumn(split, 0);
 	uiItemL(col, "Links", ICON_NONE);
 	uiItemStringO(col, "Donations", ICON_URL, "WM_OT_url_open", "url", "http://www.blender.org/blenderorg/blender-foundation/donation-payment/");
-	uiItemStringO(col, "Release Log", ICON_URL, "WM_OT_url_open", "url", "http://www.blender.org/development/release-logs/blender-258/");
+	uiItemStringO(col, "Release Log", ICON_URL, "WM_OT_url_open", "url", "http://www.blender.org/development/release-logs/blender-259/");
 	uiItemStringO(col, "Manual", ICON_URL, "WM_OT_url_open", "url", "http://wiki.blender.org/index.php/Doc:2.5/Manual");
 	uiItemStringO(col, "Blender Website", ICON_URL, "WM_OT_url_open", "url", "http://www.blender.org/");
 	uiItemStringO(col, "User Community", ICON_URL, "WM_OT_url_open", "url", "http://www.blender.org/community/user-community/"); // 
@@ -1311,9 +1318,10 @@ static void operator_call_cb(struct bContext *C, void *UNUSED(arg1), void *arg2)
 
 static void operator_search_cb(const struct bContext *C, void *UNUSED(arg), const char *str, uiSearchItems *items)
 {
-	wmOperatorType *ot = WM_operatortype_first();
-	
-	for(; ot; ot= ot->next) {
+	GHashIterator *iter= WM_operatortype_iter();
+
+	for( ; !BLI_ghashIterator_isDone(iter); BLI_ghashIterator_step(iter)) {
+		wmOperatorType *ot= BLI_ghashIterator_getValue(iter);
 
 		if((ot->flag & OPTYPE_INTERNAL) && (G.f & G_DEBUG) == 0)
 			continue;
@@ -1337,6 +1345,7 @@ static void operator_search_cb(const struct bContext *C, void *UNUSED(arg), cons
 			}
 		}
 	}
+	BLI_ghashIterator_free(iter);
 }
 
 static uiBlock *wm_block_search_menu(bContext *C, ARegion *ar, void *UNUSED(arg_op))
@@ -1742,14 +1751,12 @@ static void WM_OT_link_append(wmOperatorType *ot)
 	
 	ot->flag |= OPTYPE_UNDO;
 
-	WM_operator_properties_filesel(ot, FOLDERFILE|BLENDERFILE, FILE_LOADLIB, FILE_OPENFILE, WM_FILESEL_FILEPATH|WM_FILESEL_DIRECTORY|WM_FILESEL_FILENAME| WM_FILESEL_RELPATH);
+	WM_operator_properties_filesel(ot, FOLDERFILE|BLENDERFILE, FILE_LOADLIB, FILE_OPENFILE, WM_FILESEL_FILEPATH|WM_FILESEL_DIRECTORY|WM_FILESEL_FILENAME| WM_FILESEL_RELPATH|WM_FILESEL_FILES);
 	
 	RNA_def_boolean(ot->srna, "link", 1, "Link", "Link the objects or datablocks rather than appending");
 	RNA_def_boolean(ot->srna, "autoselect", 1, "Select", "Select the linked objects");
 	RNA_def_boolean(ot->srna, "active_layer", 1, "Active Layer", "Put the linked objects on the active layer");
 	RNA_def_boolean(ot->srna, "instance_groups", 1, "Instance Groups", "Create instances for each group as a DupliGroup");
-
-	RNA_def_collection_runtime(ot->srna, "files", &RNA_OperatorFileListElement, "Files", "");
 }	
 
 /* *************** recover last session **************** */
@@ -2003,8 +2010,6 @@ static void WM_OT_save_mainfile(wmOperatorType *ot)
 
 static int wm_collada_export_invoke(bContext *C, wmOperator *op, wmEvent *UNUSED(event))
 {	
-	int selected = 0;
-
 	if(!RNA_property_is_set(op->ptr, "filepath")) {
 		char filepath[FILE_MAX];
 		BLI_strncpy(filepath, G.main->name, sizeof(filepath));
@@ -3457,26 +3462,31 @@ static void WM_OT_ndof_sensitivity_change(wmOperatorType *ot)
 	RNA_def_boolean(ot->srna, "fast", 0, "Fast NDOF sensitivity change", "If true then sensitivity changes 50%, otherwise 10%");
 } 
 
+
+static void operatortype_ghash_free_cb(wmOperatorType *ot)
+{
+	if(ot->macro.first)
+		wm_operatortype_free_macro(ot);
+
+	if(ot->ext.srna) /* python operator, allocs own string */
+		MEM_freeN((void *)ot->idname);
+
+	MEM_freeN(ot);
+}
+
 /* ******************************************************* */
 /* called on initialize WM_exit() */
 void wm_operatortype_free(void)
 {
-	wmOperatorType *ot;
-	
-	for(ot= global_ops.first; ot; ot= ot->next) {
-		if(ot->macro.first)
-			wm_operatortype_free_macro(ot);
-
-		if(ot->ext.srna) /* python operator, allocs own string */
-			MEM_freeN((void *)ot->idname);
-	}
-	
-	BLI_freelistN(&global_ops);
+	BLI_ghash_free(global_ops_hash, NULL, (GHashValFreeFP)operatortype_ghash_free_cb);
+	global_ops_hash= NULL;
 }
 
 /* called on initialize WM_init() */
 void wm_operatortype_init(void)
 {
+	global_ops_hash= BLI_ghash_new(BLI_ghashutil_strhash, BLI_ghashutil_strcmp, "wm_operatortype_init gh");
+
 	WM_operatortype_append(WM_OT_window_duplicate);
 	WM_operatortype_append(WM_OT_read_homefile);
 	WM_operatortype_append(WM_OT_read_factory_settings);
diff --git a/source/blender/windowmanager/intern/wm_subwindow.c b/source/blender/windowmanager/intern/wm_subwindow.c
index a87001fb1b4..8ea1f2fdd0a 100644
--- a/source/blender/windowmanager/intern/wm_subwindow.c
+++ b/source/blender/windowmanager/intern/wm_subwindow.c
@@ -378,7 +378,8 @@ unsigned int index_to_framebuffer(int index)
 
 void WM_set_framebuffer_index_color(int index)
 {
-	cpack(index_to_framebuffer(index));
+	const int col= index_to_framebuffer(index);
+	cpack(col);
 }
 
 int WM_framebuffer_to_index(unsigned int col)
diff --git a/source/blenderplayer/bad_level_call_stubs/stubs.c b/source/blenderplayer/bad_level_call_stubs/stubs.c
index b37f6b0baf2..d8f37aa250c 100644
--- a/source/blenderplayer/bad_level_call_stubs/stubs.c
+++ b/source/blenderplayer/bad_level_call_stubs/stubs.c
@@ -395,7 +395,7 @@ void RE_engine_free(struct RenderEngine *engine) {}
 
 /* python */
 struct wmOperatorType *WM_operatortype_find(const char *idname, int quiet){return (struct wmOperatorType *) NULL;}
-struct wmOperatorType *WM_operatortype_first(){return (struct wmOperatorType *) NULL;}
+struct GHashIterator *WM_operatortype_iter(){return (struct GHashIterator *) NULL;}
 struct wmOperatorType *WM_operatortype_exists(const char *idname){return (struct wmOperatorType *) NULL;}
 struct wmOperatorTypeMacro *WM_operatortype_macro_define(struct wmOperatorType *ot, const char *idname){return (struct wmOperatorTypeMacro *) NULL;}
 int WM_operator_call_py(struct bContext *C, struct wmOperatorType *ot, int context, struct PointerRNA *properties, struct ReportList *reports){return 0;}
diff --git a/source/gameengine/Ketsji/KX_Light.cpp b/source/gameengine/Ketsji/KX_Light.cpp
index 49f00e39110..3f09eee013e 100644
--- a/source/gameengine/Ketsji/KX_Light.cpp
+++ b/source/gameengine/Ketsji/KX_Light.cpp
@@ -254,8 +254,12 @@ void KX_LightObject::BindShadowBuffer(RAS_IRasterizer *ras, KX_Camera *cam, MT_T
 	cam->NodeUpdateGS(0);
 
 	/* setup rasterizer transformations */
+	/* SetViewMatrix may use stereomode which we temporarily disable here */
+	RAS_IRasterizer::StereoMode stereomode = ras->GetStereoMode();
+	ras->SetStereoMode(RAS_IRasterizer::RAS_STEREO_NOSTEREO);
 	ras->SetProjectionMatrix(projectionmat);
 	ras->SetViewMatrix(modelviewmat, cam->NodeGetWorldOrientation(), cam->NodeGetWorldPosition(), cam->GetCameraData()->m_perspective);
+	ras->SetStereoMode(stereomode);
 }
 
 void KX_LightObject::UnbindShadowBuffer(RAS_IRasterizer *ras)
diff --git a/source/tests/CMakeLists.txt b/source/tests/CMakeLists.txt
index 8fd0d6e7099..3f802642d33 100644
--- a/source/tests/CMakeLists.txt
+++ b/source/tests/CMakeLists.txt
@@ -111,7 +111,7 @@ add_test(export_obj_all_objects ${TEST_BLENDER_EXE}
 	--run={'FINISHED'}&bpy.ops.export_scene.obj\(filepath='${TEST_OUT_DIR}/export_obj_all_objects.obj',use_selection=False,use_nurbs=True\)
 	--md5_source=${TEST_OUT_DIR}/export_obj_all_objects.obj
 	--md5_source=${TEST_OUT_DIR}/export_obj_all_objects.mtl
-	--md5=01c123948efadc6a71ab2c09a5925756 --md5_method=FILE
+	--md5=04b3ed97cede07a19548fc518ce9f8ca --md5_method=FILE
 )
 
 
@@ -196,7 +196,7 @@ add_test(export_x3d_cube ${TEST_BLENDER_EXE}
 	--python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py --
 	--run={'FINISHED'}&bpy.ops.export_scene.x3d\(filepath='${TEST_OUT_DIR}/export_x3d_cube.x3d',use_selection=False\)
 	--md5_source=${TEST_OUT_DIR}/export_x3d_cube.x3d
-	--md5=5e804c689896116331fa190a9fabbad4 --md5_method=FILE
+	--md5=2621d8cc2cc1d34f6711c54519907dac --md5_method=FILE
 )
 
 add_test(export_x3d_nurbs ${TEST_BLENDER_EXE}
@@ -204,7 +204,7 @@ add_test(export_x3d_nurbs ${TEST_BLENDER_EXE}
 	--python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py --
 	--run={'FINISHED'}&bpy.ops.export_scene.x3d\(filepath='${TEST_OUT_DIR}/export_x3d_nurbs.x3d',use_selection=False\)
 	--md5_source=${TEST_OUT_DIR}/export_x3d_nurbs.x3d
-	--md5=2d5bcf43cf7b6fbbef1c8cc566968fe5 --md5_method=FILE
+	--md5=d56b3736bab063d101d42079bd276f01 --md5_method=FILE
 )
 
 add_test(export_x3d_all_objects ${TEST_BLENDER_EXE}
@@ -212,7 +212,7 @@ add_test(export_x3d_all_objects ${TEST_BLENDER_EXE}
 	--python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py --
 	--run={'FINISHED'}&bpy.ops.export_scene.x3d\(filepath='${TEST_OUT_DIR}/export_x3d_all_objects.x3d',use_selection=False\)
 	--md5_source=${TEST_OUT_DIR}/export_x3d_all_objects.x3d
-	--md5=2809ec13a4cab55d265ce7525c5db1b7 --md5_method=FILE
+	--md5=0914c9a7fcdbfc5741c1269497e9068b --md5_method=FILE
 )
 
 
@@ -273,7 +273,7 @@ add_test(export_fbx_cube ${TEST_BLENDER_EXE}
 	--python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py --
 	--run={'FINISHED'}&bpy.ops.export_scene.fbx\(filepath='${TEST_OUT_DIR}/export_fbx_cube.fbx',use_selection=False,use_metadata=False\)
 	--md5_source=${TEST_OUT_DIR}/export_fbx_cube.fbx
-	--md5=83dca99a0cb338852b8c85951a44c68a --md5_method=FILE
+	--md5=86da2495dffd7c270e682f599be6b3d1 --md5_method=FILE
 )
 
 add_test(export_fbx_nurbs ${TEST_BLENDER_EXE}
@@ -281,7 +281,7 @@ add_test(export_fbx_nurbs ${TEST_BLENDER_EXE}
 	--python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py --
 	--run={'FINISHED'}&bpy.ops.export_scene.fbx\(filepath='${TEST_OUT_DIR}/export_fbx_nurbs.fbx',use_selection=False,use_metadata=False\)
 	--md5_source=${TEST_OUT_DIR}/export_fbx_nurbs.fbx
-	--md5=c7d9491ffa6264e820ed1e12df63f871 --md5_method=FILE
+	--md5=88a263ddb5181e6522dc214debb92ced --md5_method=FILE
 )
 
 add_test(export_fbx_all_objects ${TEST_BLENDER_EXE}
@@ -289,5 +289,5 @@ add_test(export_fbx_all_objects ${TEST_BLENDER_EXE}
 	--python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py --
 	--run={'FINISHED'}&bpy.ops.export_scene.fbx\(filepath='${TEST_OUT_DIR}/export_fbx_all_objects.fbx',use_selection=False,use_metadata=False\)
 	--md5_source=${TEST_OUT_DIR}/export_fbx_all_objects.fbx
-	--md5=22867f82e1615fd1eae18cfaac8ba035 --md5_method=FILE
+	--md5=e6f75fe7de9aa366896456e13eafc76a --md5_method=FILE
 )
diff --git a/source/tests/bl_run_operators.py b/source/tests/bl_run_operators.py
index 668b4e69228..b64055df252 100644
--- a/source/tests/bl_run_operators.py
+++ b/source/tests/bl_run_operators.py
@@ -70,7 +70,7 @@ def run_ops(operators, setup_func=None):
 
             setup_func()
 
-            for mode in ('EXEC_DEFAULT', 'INVOKE_DEFAULT'):
+            for mode in {'EXEC_DEFAULT', 'INVOKE_DEFAULT'}:
                 try:
                     op(mode)
                 except:
-- 
GitLab